Ettin Reranker: SOTA open-source реранкеры с открытыми данными | AiManual
AiManual Logo Ai / Manual.
19 Май 2026 Инструмент

Ettin Reranker Family: дерзкий open-source, который уложил на лопатки Cohere и BGE

Обзор Ettin Reranker: 6 моделей на ModernBERT, рекорды MTEB, открытая рецептура. Примеры интеграции с Sentence Transformers, сравнение с альтернативами, кому по

Когда рецепт дороже самого блюда

Давно не было такого ажиотажа вокруг реранкеров. В мае 2026 года команда исследователей (без шума, без пиара) выкатила Ettin Reranker Family — шесть моделей, которые переписали таблицу лидеров MTEB Retrieval. И главное: под капотом не просто веса, а полностью открытая рецептура обучения. Данные, код, конфиги, лосс-функции — всё выложено на GitHub. Никаких «магия, не трогать».

Для тех, кто следит за темой — это не очередной «сделайте реранкер на BERT и назовите новым SOTA». Это настоящий прорыв по двум фронтам: качество ранжирования и воспроизводимость.

Что под капотом? ModernBERT + дистилляция + трюк с данными

Основа Ettin — архитектура CrossEncoder на базе ModernBERT (all-ModernBERT-v2). Разработчики взяли самую свежую версию encoder-only модели от Answer.AI и Lightning AI, которая уже показала себя в задачах классификации, и адаптировали её для реранкинга. Если коротко: ModernBERT в 2-3 раза быстрее vanilla BERT на той же задаче, при этом выдаёт более качественные представления.

Но главная фишка Ettin — открытый рецепт обучения. Команда использовала:

  • Аугментированный датасет из 10 миллионов пар (запрос-документ) на основе MS MARCO, FiQA, NQ и синтетических hard negatives, сгенерированных LLaMA-4.
  • Дистилляцию с ансамбля из трёх «учителей» (включая собственный Ettin-Large в качестве teacher).
  • Новый loss — ListMLE++, который лучше обычного CrossEntropy работает при ранжировании списков.

Ettin расшифровывается как «Encoded Text Transformer with Improved Negative-weighted loss». Никакой мифологии.

Шесть голов гидры: обзор семейства

Семейство включает шесть моделей разного размера и специализации:

Модель Параметров MTEB Retrieval (nDCG@10) Скорость (док/сек, A10G)
Ettin-Tiny25M52.3820
Ettin-Small55M56.1480
Ettin-Base125M60.4230
Ettin-Large355M63.895
Ettin-Base (int8)125M59.8510
Ettin-Large (int8)355M63.1210

Цифры по MTEB — среднее по 6 датасетам (Trec-Covid, NFCorpus, NQ, HotpotQA, FiQA, ArguAna). Ettin-Large на 1.2 пункта обходит лучший закрытый реранкер Cohere Rerank 3.5, а Ettin-Base сравним с проприетарным Jina Reranker v2.

Сравнение с альтернативами: ультиматум проприетарщикам

Давайте честно: реранкеры Cohere и Jina — чёрные ящики. Вы не знаете, на каких данных они обучены, нет гарантии, что завтра цена не вырастет в три раза. BGE-Reranker (BAAI) — open-source, но он застрял на уровне BERT-large 2024 года и не тянет современные списки из 100+ документов.

Ettin кладёт их всех на лопатки:

  • vs Cohere Rerank 3.5 — Ettin-Large быстрее на 30% (за счёт ModernBERT) и дешевле (можно запустить локально). Единственный минус: нет встроенной поддержки многоязычности, но команда обещает в июне 2026.
  • vs BGE-Reranker-v2 — Ettin-Base превосходит BGE-Reranker-Large на 4% MTEB, при этом занимает в 2 раза меньше памяти.
  • vs Jina Reranker v2 (proprietary) — Ettin-Large на том же уровне качества, но вы контролируете инфраструктуру.

Но есть нюанс: Ettin пока плохо справляется с очень длинными документами (>2048 токенов). ModernBERT поддерживает 8192, но обучение шло на отрезках до 1024 токенов. Если у вас юридические контракты на 10 страниц — придётся чанковать или ждать обновления.

Тем, кто выбирает реранкер для RAG, советую присмотреться к нашему разбору Cross-Encoders — там объясняется, почему качественный реранкер важнее эмбеддинга.

Интеграция с Sentence Transformers: одна строка кода

На момент релиза модели уже доступны в Hugging Face Transformers и в библиотеке Sentence Transformers v5.5.0. Последняя версия добавила нативную поддержку ModernBERT и новый класс CrossEncoderReranker, который автоматически подгружает нужные веса.

Вот пример, как запустить реранкинг за 30 секунд:

from sentence_transformers import CrossEncoder

model = CrossEncoder("ettin-ai/Ettin-Large")
pairs = [
    ("Как установить Python на Mac?", "Установка Python на macOS через brew"),
    ("Как установить Python на Mac?", "Python 3.12 вышел в октябре, скачать с python.org"),
    ("Как установить Python на Mac?", "Лучший дистрибутив для Data Science - Anaconda")
]
scores = model.predict(pairs)
# [0.87, 0.45, 0.23]

Для пакетной обработки используйте model.predict(pairs, batch_size=64, show_progress_bar=True). На A10G Ettin-Large обрабатывает ~200 пар в секунду.

Как не надо делать реранкинг, если хотите рекордов

Первая ошибка — не фильтровать запросы. Ettin, как и любой CrossEncoder, медленнее биэнкодера. Не стоит скармливать ему все 10 000 документов. Оптимальный пайплайн:

  1. Быстрый биэнкодер (например, GTR-t5-large) отсеивает до топ-200.
  2. Ettin реранкит эти 200 с максимальным качеством.

Вторая ошибка — игнорировать квантование. int8-версии Ettin теряют менее 1% качества, но ускоряются в 2-3 раза. Используйте их на CPU.

Третья ошибка — не использовать аугментацию данных при дообучении. Если у вас специфическая доменная область (медицина, юриспруденция), возьмите рецепт Ettin: Zero-Shot Transferable Adapter как раз об этом — как дообучить модель без потери общих знаний.

Кому подойдёт Ettin?

  • Командам, строящим RAG в продакшн — Ettin даёт 5-10% прироста recall@5 по сравнению с BGE и при этом полностью под вашим контролем. Для продакшн-нагрузки берите Ettin-Base int8.
  • Исследователям реранкинга — открытая рецептура позволяет экспериментировать с loss, данными и архитектурой. При этом можно загрузить готовые веса и не тратить GPU-часы.
  • Стартапам с ограниченным бюджетом — Ettin-Tiny на CPU обрабатывает 1000 документов за 2 секунды. Для MVP — идеально.
  • Тем, кто бесится от цен Cohere — это ваша альтернатива. Бесплатно, открыто, без rate limit.

Тем, кто думает, что реранкеры не нужны — рекомендую прочитать сводку по реранкерам в RAG. Спойлер: без реранкера теряете до 30% качества ответа.

Смотрим в будущее: что дальше?

Команда Ettin обещает многоязычные версии к концу июня 2026, а также вариант для длинных контекстов (на базе ModernBERT-8192). Уже сейчас модели лежат на HuggingFace, рецепт обучения — в открытом GitHub-репозитории. Если вы строите поисковую систему или RAG-агента, попробуйте Ettin. Хотя бы ради того, чтобы понять, насколько ваш текущий пайплайн плох.

💡
Совет: подпишитесь на репозиторий Ettin — обновления выходят раз в две недели. И да, в коде есть скрипты для обучения на собственных данных. Если у вас есть размеченные пары (запрос+релевантность) — дообучить Ettin-Base можно за 4 часа на одной A100.

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