/ Модель

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

Контекст
512 токенов
Параметры
40 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Базовая модель
MiniLM-L12-H384-uncased
Библиотека
sentence-transformers
Опубликована
5 авг 2026

bm25cat-minilm-l12

Ранжирование текстаТекст → score3 профессии

Англоязычный MiniLM cross-encoder, который переранжирует passages по запросу с учётом нормализованного BM25-балла.

14скачиваний за 30 дней0лайковвеса обновлены7 авг 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Amdestya/bm25cat-minilm-l12 — англоязычный cross-encoder-реранкер на базе Microsoft MiniLM-L12, обученный по методу CEBM25CAT из работы Askari et al. (ECIR 2023). Модель оценивает релевантность passage запросу, принимая нормализованный BM25-балл как часть текстового ввода. В README она представлена как исследовательский артефакт для воспроизведения метода информационного поиска.

Вход состоит из текстового запроса и passage, а также BM25-балла: формат первой части — «балл [SEP] запрос», затем passage. Балл требуется нормализовать глобально по фиксированному диапазону 0–50, умножить на 100 и усечь до целого; при обучении использовались оценки Pyserini/Lucene с BM25Similarity(k1=0.82, b=0.68). Модель имеет архитектуру BERT для классификации последовательностей, около 40 млн параметров и контекст 512 токенов; обучалась с дистилляцией по MSE на парах MS MARCO с использованием ансамбля BERTCAT в роли учителя.

Модель предназначена для переранжирования результатов поиска, когда доступны BM25-оценки. README предупреждает, что порядок полей и способ нормализации важны: другой формат ввода или распределение баллов может приводить к ненадёжным оценкам. Лицензия — Apache-2.0.

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

  • переранжирование passages, найденных BM25
  • оценка релевантности документа запросу с учётом BM25-балла
  • построение исследовательского эксперимента по методу CEBM25CAT

Ограничения

Требуются специальный формат ввода и глобальная нормализация BM25-балла по диапазону 0–50; при обучении использовались оценки Pyserini/Lucene с k1=0.82 и b=0.68. Несовпадение порядка полей или распределения баллов может приводить к уверенным, но ненадёжным оценкам.

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

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

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

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

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

Открыть на Hugging Face

bm25cat-minilm-l12 — MiniLM cross-encoder with the BM25 score injected as text

A MiniLM-L12 cross-encoder passage reranker that takes the normalised BM25 score as a text token in its input, reproducing the CEBM25CAT method of Askari et al., "Injecting the BM25 Score as Text Improves BERT-Based Re-rankers", ECIR 2023.

Its matched baseline — same data, same schedule, no injection — is Amdestya/cat-minilm-l12.

Input format — read before using

text_a = f"{bm25_score} [SEP] {query}"     # score BEFORE the query
text_b = passage
# tokenises to: [CLS] score [SEP] query [SEP] passage [SEP]

⚠️ This ordering differs from the paper's Eq. 3, which places the score between query and passage. This model follows the authors' released training code, which puts it before the query. A cross-encoder fed a layout it never saw in training returns confident nonsense rather than an error, so the ordering matters.

The score must be normalised the same way

bm25_score = int(((raw_bm25 - 0) / (50 - 0)) * 100)     # Min-Max, GLOBAL setting, then x100 as an integer

Min-Max normalisation in the global setting — fixed constants min=0, max=50, not per-query statistics — then scaled by 100 and truncated to an integer, per the paper's §3.3. Raw or per-query normalised scores put the feature on a distribution the model has never seen.

Training scores came from pyserini / Lucene BM25Similarity(k1=0.82, b=0.68) (the Anserini-tuned MS MARCO settings). Other BM25 implementations — Terrier's defaults are k1=1.2, b=0.75 — produce a different score distribution, which shifts the injected integers.

Usage

from sentence_transformers import CrossEncoder

model = CrossEncoder("Amdestya/bm25cat-minilm-l12", max_length=256)

def norm(raw):
    return int((raw / 50) * 100)

query   = "what is a cat"
passage = "A cat is a small domesticated carnivorous mammal."
raw_bm25 = 36.5

score = model.predict([[f"{norm(raw_bm25)} [SEP] {query}", passage]])

Verify the tokenisation rather than assuming the literal [SEP] resolves as intended:

print(model.tokenizer.convert_ids_to_tokens(
    model.tokenizer(f"73 [SEP] {query}", passage)["input_ids"]))
# ['[CLS]', '73', '[SEP]', 'what', 'is', 'a', 'cat', '[SEP]', 'a', 'cat', ...]

Three [SEP] tokens, with the score as its own token after [CLS]. Outputs are raw logits (identity activation), unbounded, higher = more relevant.

Training

base modelmicrosoft/MiniLM-L12-H384-uncased
objectiveMSE against a BERTCAT teacher ensemble (Hofstätter et al.)
training pairs5,000,000 of 79,518,568 available
steps156,250 @ batch 32, 1 epoch
optimizerAdam, lr 7e-6, 5,000 warmup steps
max length256
hardware1 × RTX A5000

This is a knowledge-distillation setup, following the authors' released notebook, rather than the cross-entropy objective described in the paper's §4. Worth noting when interpreting results: the teacher ensemble's scores are computed without any BM25 input, so the training objective does not directly reward the model for using the injected feature.

Intended use

Built as a reference artifact for a dissertation study on reproducing IR papers with LLMs.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
fcd0cf4

0 моделей