/ Модель

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

Контекст
512 токенов
Параметры
434 млн
Лицензия
MIT
Архитектура
bert · dense
Базовая модель
monobert-large-msmarco
Опубликована
15 сен 2026

AtmicReRanker

Классификация текстаТекст → label3 профессии

Дообученный MonoBERT-large переранжировщик для поиска релевантных ответов на вопросы о Рамане Махарши.

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

Бенчмарки

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

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

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

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

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

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

AtmicReRanker — англоязычный BERT-large cross-encoder для переранжирования результатов поиска по вопросам и ответам о Рамане Махарши. Модель разработала SriRamanaAtmic: это дообученная версия castorini/monobert-large-msmarco с 433,9 млн параметров, представленная в формате safetensors и использующая классификационную голову BertForSequenceClassification с двумя метками. Контекст ограничен 512 токенами.

Модель оценивает пары «запрос — фрагмент текста» и предназначена для повторной сортировки кандидатов, уже найденных поисковым этапом. Дообучение выполнено на 7 328 обучающих и 1 280 валидационных запросах из набора вопросов и ответов о Рамане Махарши. На указанном в README закрытом валидационном тесте она превзошла базовую MonoBERT по recall@1, recall@5 и mrr@10 при использовании SriRamanaAtmic/AtmicEmbeddingv3 для начального поиска.

Для загрузки требуется совместимость с форматом MonoBERT/PyGaggle; README предупреждает, что этот чекпойнт не загружается через sentence-transformers CrossEncoder. Лицензия — MIT. Результаты бенчмарка относятся к указанному корпусу и валидационной выборке; перенос качества на другие коллекции не подтверждён.

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

  • переранжирование найденных ответов о Рамане Махарши
  • повышение позиции релевантных фрагментов в поиске по вопросам и ответам
  • оценка релевантности пары запроса и текстового фрагмента

Ограничения

Контекст ограничен 512 токенами; модель дообучена на узком корпусе вопросов и ответов о Рамане Махарши, поэтому её качество в других областях не подтверждено. Чекпойнт несовместим с sentence-transformers CrossEncoder и требует загрузчика, совместимого с MonoBERT/PyGaggle.

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

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

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

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

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

Открыть на Hugging Face

AtmicReRanker (MonoBERT cross-encoder)

LambdaRank-weighted pairwise fine-tune of castorini/monobert-large-msmarco on the combined layer1+layer2 Ramana Maharshi Q&A reranking dataset (7,328 training queries / 1,280 validation queries), max_length=512.

BREAKING CHANGE: this repo previously held a sentence-transformers-compatible bge-reranker-base CrossEncoder checkpoint. It now holds a legacy PyGaggle-style MonoBERT checkpoint (BertConfig+BertForSequenceClassification, num_labels=2), which is not loadable via sentence_transformers.cross_encoder.CrossEncoder.

How to load

Loads exactly the same way as the base model it was fine-tuned from — the only difference is the repo id (and therefore the weights); architecture, tokenizer format, and scoring convention are identical, so you can swap between base and fine-tuned by changing one string:

from transformers import BertConfig, BertForSequenceClassification, BertTokenizerFast

# swap this for "castorini/monobert-large-msmarco" to compare against base
repo_id = "SriRamanaAtmic/AtmicReRanker"

cfg = BertConfig.from_pretrained(repo_id, num_labels=2)
model = BertForSequenceClassification.from_pretrained(repo_id, config=cfg)
tok = BertTokenizerFast.from_pretrained(repo_id)  # NOT BertTokenizer — this repo has no vocab.txt,
                                                   # only tokenizer.json; BertTokenizerFast handles both

enc = tok([[query, passage]], padding=True, truncation="only_second", max_length=512, return_tensors="pt")
logits = model(**enc).logits
relevance_score = logits[:, 1] - logits[:, 0]   # higher = more relevant
# or: relevance_prob = logits.softmax(-1)[:, 1]

truncation="only_second" (not truncation=True) is deliberate: it guarantees only the passage is ever truncated, never the query, and avoids a tokenizer warning that "longest_first" (what truncation=True maps to) raises for sequence pairs.

Training

base modelcastorini/monobert-large-msmarco
lossLambdaRank-weighted pairwise: RankNet logistic loss on the relevance-score margin (logits[:,1]-logits[:,0]), scaled per pair by |ΔNDCG| from that pair's rank-swap impact
frozen layersembeddings + bottom 20 of 24 BERT-large encoder layers (top 4 + pooler + classifier trainable)
learning rate2e-5
batch size / grad accum32 / 1 (effective batch 32)
max sequence length512
epochs tried2
checkpoint selectionsmallest |train_loss − val_loss| gap, checked every 50 steps (not just per-epoch) — best found at step 40, well inside epoch 1, before the gap widened further into training

The train/val-loss-gap selection criterion (rather than best-epoch-only or a pure accuracy proxy) was chosen specifically to catch overfitting early: an earlier training run on this same data that selected checkpoints by validation pairwise-accuracy alone kept improving on that narrow metric through 4 full epochs, but regressed below the base model on the real closed-pool benchmark below — it had overfit to the training distribution's negative style in a way the accuracy proxy didn't detect. Selecting by loss gap and checking sub-epoch caught that failure mode and avoided it.

Benchmark

Closed-pool ranking on the combined layer1+layer2 validation set (1,280 queries, 1,072-passage corpus), using SriRamanaAtmic/AtmicEmbeddingv3 as the stage-1 retriever (top-20 candidates per query reranked; candidates outside top-20 count as a miss for every metric — stage1_ceil below is the ceiling this caps both rerankers at).

Metricstage1 dense alonebase MonoBERTAtmicReRanker (this model)
recall@10.34060.47660.4961
recall@50.55080.63360.6461
mrr@100.43240.54500.5604
ndcg@100.47940.57870.5902

stage1_ceil (top-20 recall, caps both rerankers): 0.7156

This fine-tune improves on base MonoBERT across every metric on this domain's validation set.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей