/ Модель

Характеристики

Контекст
40 960 токенов
Параметры
14 млрд
Архитектура
qwen3 · dense
Базовая модель
Qwen3-14B
Библиотека
transformers
Опубликована
26 авг 2026

Eklav-14B-Reranker

Генерация текстаТекст → текст9 профессий

Дообученная на основе Qwen3-14B модель для оценки релевантности и ранжирования текстовых пассажей по запросу.

2 044скачиваний за 30 дней0лайковвеса обновлены2 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Eklav-14B-Reranker — плотная языковая модель семейства Qwen3 на 14 млрд параметров, разработанная для ранжирования текстовых пассажей. Это дообучение Qwen/Qwen3-14B методом Eklav: при обучении модель продолжает частичный след рассуждений учителя и самостоятельно выводит ответ, вместо того чтобы воспроизводить полный след рассуждений. По карточке модели, на BRIGHT она показала преимущество в 7% по nDCG@10 относительно стандартного обучения на полных следах рассуждений при снижении вычислений на обучение на 24%; результаты получены в одном оценочном запуске для каждого домена.

При использовании модель оценивает релевантность пары «запрос — пассаж»: генерирует рассуждение с итогом true или false, а релевантность определяется по логитам конечного токена. На этапе применения подсказка учителя не используется. Модель рассчитана на текстовый ввод и выдаёт текстовое рассуждение и оценку релевантности. Используется библиотека Transformers, формат весов — safetensors; базовая модель имеет контекст до 40 960 токенов. Лицензия в предоставленных данных не указана.

Сценарии применения

  • ранжирование пассажей по релевантности поисковому запросу
  • переранжирование результатов поисковой выдачи
  • оценка релевантности документов для RAG
  • сравнение релевантности текстовых фрагментов запросу

Ограничения

В предоставленных данных нет сведений о лицензии. Указанные результаты основаны на одном оценочном запуске для каждого домена BRIGHT; качество на других данных не описано.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Eklav-14B-Reranker

Eklav trains a model to pick up a teacher's reasoning mid thought rather than imitate it end to end. The student sees a partial reasoning trace from the teacher, with the answer revealing tail removed, and learns to continue reasoning and produce the answer on its own. The model's own reasoning is conditioned on the teacher's partial trace during training rather than trained to reproduce it word for word. Same base model, same training data as standard full trace CoT distillation, only the training objective changes.

Highlights

  • +7% on BRIGHT (nDCG@10, 12 domain average) vs. standard full trace CoT SFT, same base model and training data
  • -24% training FLOPs vs. standard full trace CoT SFT

Model details

Base modelQwen/Qwen3-14B
TaskPassage reranking (BRIGHT, NevIR)
Training methodEklav (hint conditioned SFT)
FormatMerged bf16 checkpoint
BRIGHT avg (nDCG@10)34.7

Results

BRIGHT domain results

nDCG@10 on BRIGHT, single evaluation run per domain.

Use as a reranker

This is a pointwise reranker, the same style as Rank1 (jhu-clsp/rank1-7b): the model generates its own reasoning trace ending in </think> true or </think> false, and relevance is scored from the logits at that final token rather than by parsing generated text. Unlike training, no hint is available at inference (a real query has no teacher trace to condition on), so the model reasons on its own from a bare prompt, the exact setup used to produce the results on this page.

from vllm import LLM, SamplingParams
import math

model_id = "AdarshSingh7647/Eklav-14B-Reranker"
model = LLM(model=model_id, max_model_len=20000)
tokenizer = model.get_tokenizer()

SYSTEM_PROMPT = "You are a careful retrieval assistant that judges whether a passage is relevant to a user's query."
TASK_INSTRUCTION = "Determine if the following passage is relevant to the query. Answer only with 'true' or 'false'."

def create_prompt(query: str, passage: str) -> str:
    messages = [
        {"role": "system", "content": SYSTEM_PROMPT},
        {"role": "user", "content": f"{TASK_INSTRUCTION}\n\nQuery: {query}\nPassage: {passage}"},
    ]
    return tokenizer.apply_chat_template(
        messages, tokenize=False, add_generation_prompt=True, enable_thinking=True
    )

sampling_params = SamplingParams(
    temperature=0,
    max_tokens=4096,
    logprobs=20,
    stop=["</think> true", "</think> false", "</think>\ntrue", "</think>\nfalse",
          "</think>\n\ntrue", "</think>\n\nfalse"],
)

def score(query: str, passage: str) -> float:
    prompt = create_prompt(query, passage)
    output = model.generate([prompt], sampling_params)[0].outputs[0]
    # the answer token is usually the second to last logprob step (vLLM's stop
    # string match can consume one extra token, e.g. <|im_end|>, after it), but
    # scan from the end so this is robust to that off by one
    for step in reversed(output.logprobs or []):
        true_lp = next((v.logprob for k, v in step.items() if tokenizer.decode([k]).strip().lower() == "true"), None)
        false_lp = next((v.logprob for k, v in step.items() if tokenizer.decode([k]).strip().lower() == "false"), None)
        if true_lp is not None and false_lp is not None:
            true_score, false_score = math.exp(true_lp), math.exp(false_lp)
            return true_score / (true_score + false_score)
    return 0.5

query = "What causes seasons on Earth?"
passages = [
    "Seasons are caused by the tilt of Earth's axis relative to its orbit around the Sun.",
    "The Great Wall of China is visible from space, according to popular belief.",
]
ranked = sorted(passages, key=lambda p: score(query, p), reverse=True)
for p in ranked:
    print(p)

This is the same Rank1StyleReranker generate-then-score recipe used for every number on this page, applied without a teacher hint since none exists at inference time.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Qwen3ForCausalLM
Ревизия весов
6c46d7b

0 моделей