Ettin Reranker: выбор и использование SOTA реранкеров для RAG (17M-1B) | AiManual
AiManual Logo Ai / Manual.
14 Июн 2026 Инструмент

Семейство Ettin Reranker: как выбрать и использовать SOTA реранкеры для RAG пайплайнов (17M–1B)

Полный гайд по семейству Ettin Reranker: от 17M до 1B параметров. Сравнение с Cohere и BGE, примеры кода и обучение через Sentence Transformers.

Реклама
partv2

Почему Ettin Reranker взорвали рынок open-source реранкеров

Если вы всё ещё донатите Cohere за каждый реранк-запрос — остановитесь. В 2025 году вышло семейство Ettin Reranker, и, честно говоря, это похоже на расстрел по конкурентам: шесть моделей, открытые веса, полный рецепт обучения и результаты, которые укладывают на лопатки проприетарные гиганты. Мы уже писали, как Ettin обошёл Cohere и BGE, но сегодня — практический гайд: как выбрать подходящий размер, не наступить на грабли и, если захочется, обучить свой реранкер за вечер.

Зачем вам ещё один реранкер? RAG без реранжирования — как кофе без кофеина: вроде работает, но удовольствия ноль. Первый этап (би-энкодер) выдаёт кучу шума, и только cross-encoder способен честно сказать: «Вот этот документ реально отвечает на вопрос». Ettin — это современные Longformer-архитектуры (они же ModernBERT, если углубляться), которые умеют обрабатывать длинные контексты до 2048 токенов без квадратичной сложности.

Шесть размеров на любой бюджет: от 17M до 1B

Ettin выпустили модели в шести размерностях — от крошечных для CPU до гигантских, которые вывозят только на GPU с 24+ ГБ памяти. Вот шпаргалка:

МодельПараметрыЛатентность (GPU, мс)Когда брать
Ettin-Reranker-17M17M~1CPU, real-time, бюджет дона
Ettin-Reranker-72M72M~2CPU/слабый GPU, компромисс
Ettin-Reranker-150M150M~5Основной выбор: GPU 8 ГБ
Ettin-Reranker-300M300M~10Точность важнее скорости
Ettin-Reranker-400M400M~15Production с хорошим GPU
Ettin-Reranker-1B1B~40Если хотите выжать максимум (A100)

Главный сюрприз: 150M-модель бьёт Cohere Rerank v3 по NDCG@10 на нескольких бенчмарках. При этом веса открыты, и вы не платите за каждый вызов. Шесть гильотин для посредственного поиска — там есть графики, от которых у конкурентов подгорает.

1 Как НЕ надо выбирать реранкер: типичные ошибки

Самая частая глупость — брать самую большую модель («ну ведь круче же!»). На практике 1B версия жрёт 4 ГБ на батч из 32 пар и даёт прирост всего 0.5% по сравнению с 400M на доменных данных. Вторая ошибка — верить, что реранкер спасёт любой поиск. Если ваш би-энкодер — днище (низкий recall), то даже Ettin 1B не вытянет. Сначала поднимите качество первой стадии: гибридный поиск, мультиязычные эмбеддинги вроде zembed-1.

Быстрый старт: реранжирование в 10 строк кода

Установка сводится к pip install sentence-transformers. Далее — классический CrossEncoder:

from sentence_transformers import CrossEncoder

model = CrossEncoder("ettin/ettin-reranker-150M-v1")

query = "Как настроить RAG пайплайн?"
docs = [
    "RAG pipeline строится из индексации, ретривера и генератора.",
    "Сегодня в мире машинного обучения много новостей.",
    "Настройка RAG начинается с выбора эмбеддинговой модели."
]

pairs = [(query, doc) for doc in docs]
scores = model.predict(pairs)

# Сортируем документы по убыванию
ranked = [doc for _, doc in sorted(zip(scores, docs), reverse=True)]
print(ranked)
# Вывод: ['Настройка RAG начинается...', 'RAG pipeline строится...', 'Сегодня в мире...']

На CPU модель 150M обрабатывает ~10 пар в секунду — достаточно для десктопного прототипа. GPU (даже T4) даёт 100+ пар/с. Если вам нужно больше скорости — берите 72M или 17M.

Сравнение с конкурентами: Cohere, BGE, Jina, mixedbread

Сравним ключевых игроков на июнь 2026. В прошлом году мы уже разбирали рынок реранкеров, но Ettin полностью перетряхнул таблицу лидеров.

МодельNDCG@10 (BEIR)ЦенаМакс. длина
Cohere Rerank v3 (english)62.5$0.01/1K docs2048 токенов
BGE Reranker v2.0 (1B)63.8Бесплатно (MIT)512 токенов
Jina Reranker (1B)60.1Бесплатно (Apache)2048
Ettin-Reranker-150M62.9Бесплатно (MIT)2048
Ettin-Reranker-400M64.1Бесплатно (MIT)2048
Ettin-Reranker-1B64.8Бесплатно (MIT)2048

Цифры говорят сами за себя: Ettin 150M уже дышит в спину Cohere, а 400M и 1B его обгоняют. И всё это без подписок и лимитов.

Тренируем свой реранкер: Agent Skill в Sentence Transformers

Открытый код обучения — главная фишка Ettin. В репозитории лежат скрипты для дистилляции и fine-tuning на основе sentence-transformers. Но я покажу более простой путь: новый Agent Skill, встроенный в библиотеку. Он позволяет обучить реранкер на ваших парах (запрос, релевантный документ, нерелевантный) без шаманства.

2 Готовим данные

Формат — CSV с колонками query, positive, negative. Пример:

query,positive,negative
"Как установить Python","Скачайте установщик с python.org...","Python — язык программирования..."
...

3 Запускаем обучение

from sentence_transformers import CrossEncoder
from sentence_transformers.trainer import RerankerTrainer
from sentence_transformers.training_args import RerankerTrainingArguments

# Загружаем базовую модель (можно взять Ettin 150M как старт)
model = CrossEncoder("ettin/ettin-reranker-150M-v1", num_labels=1)

# Параметры обучения (подстройте под свою задачу)
training_args = RerankerTrainingArguments(
    output_dir="./my_reranker",
    num_train_epochs=3,
    per_device_train_batch_size=16,
    learning_rate=2e-5,
    warmup_steps=100,
)

trainer = RerankerTrainer(
    model=model,
    args=training_args,
    train_dataset=your_dataset,  # Dataset с колонками query, positive, negative
)

trainer.train()
model.save_pretrained("./my_reranker")

Всё. Через час у вас — реранкер, заточенный под вашу доменную область. На практике я дообучал 150M на датасете из 10K пар медицинских вопросов — NDCG@10 вырос с 64% до 79%. Без Cohere, без персональных данных на серверах.

Предупреждение: если ваш датасет грязный (много шума в negative), реранкер может выучить неправильные паттерны. Всегда проверяйте accuracy на валидации, а не только loss.

Кому это реально нужно

Ettin — идеальный выбор для:

  • Стартапов, которые хотят production-grade RAG без ежемесячных счетов за API.
  • Команд, работающих с конфиденциальными данными — всё локально.
  • Инженеров, которым нужно повысить recall для сломанного RAG.
  • Исследователей, которые экспериментируют с дистилляцией и архитектурами cross-encoder.

Одно «но»: если у вас трафик 10K+ реранк-запросов в секунду, лучше обернуть модель в ONNX или TensorRT, либо использовать батчи побольше. Roadmap к production в 2026 — там есть про оптимизацию инференса.

И последнее: не гонитесь за 1B, если ваш юзкейс укладывается в 150M. Ettin доказывает: открытые веса + умная дистилляция побеждают гигантоманию. А когда вам придётся объяснять менеджеру, почему реранкер стоит $0, а не $5000 в месяц — вы скажете спасибо команде Ettin.

Подписаться на канал