gaggle-reranker-0.9b
компактный реранкер для поиска
castorini выпустила gaggle-reranker-0.9b — pointwise-реранкер на 0.85B параметров для переупорядочивания кандидатов после первого этапа поиска. В основе — nanochat-трансформер на 0.89B (32 слоя, ширина 1152, контекст 2048 токенов), предобученный с нуля на ClimbMix. Модель англоязычная, оценивает пару query–passage и не использует сторонний open-weight бэкбон.
🧩 Ключевые особенности
- 🎯 Pointwise-реранкер: оценивает каждую пару (query, passage) независимо, поэтому кандидатов можно батчить.
- 🧬 База — nanochat-трансформер, обученный с нуля на ClimbMix; без стороннего open-weight бэкбона.
- ⚙️ Скоринг — разность логитов « true» и « false» на последнем токене промпта, без отдельной classification head.
- 📀 Обучение на RLHN-250K (247 534 примера) с LCE и hard negatives; один прогон, не soup.
- 🌐 Только английский; контекст 2048 токенов, обучение с усечением 128/512.
💡 Пример
from sentence_transformers import CrossEncoder
model = CrossEncoder('castorini/gaggle-reranker-0.9b-20261108', trust_remote_code=True)
query = 'what are the symptoms of iron deficiency anemia?'
passages = ['Iron deficiency anemia causes fatigue...', 'Iron is a metallic element...']
scores = model.predict([(query, p) for p in passages])
print(scores.tolist())
rankings = model.rank(query, passages)
print([r['corpus_id'] for r in rankings])
Подробнее
nDCG@10: среднее 0.632 на TREC DL (DL19–DL23) и 0.533 на BEIR; у 3.2B-реранкера — 0.641 и 0.547.Веса fp32 занимают 3.4 GB; в примере — bf16 на одной NVIDIA L40S, обучение шло на одной H200.
Скоры — не вероятности, а неограниченные разности логитов: сравнивайте их только внутри одного запроса.
Лицензия весов MIT; данные ClimbMix — CC-BY-NC-4.0, у RLHN-250K — CC-BY-SA-4.0.








Комментарии