> · · 7 мин

Реранкер на 0,6B обошёл модель в семь раз больше. Но только на одном бенчмарке и не для коммерции

Реранкер на 0,6B обошёл модель в семь раз больше. Но только на одном бенчмарке и не для коммерции

Реранкер это последняя ступень поиска: первая модель приносит сто кандидатов, вторая решает, в каком они порядке. В агентных пайплайнах она вызывается на каждый запрос, поэтому её цена и латентность умножаются на число шагов. Jina AI выложила версию на 0,6 миллиарда параметров, которая на BEIR обходит четырёхмиллиардную модель Qwen. С двумя оговорками, и обе существенные.

TL;DR: jina-reranker-v3.5 это листовый реранкер на 0,6B, drop-in замена v3. На BEIR он показывает 63,20 nDCG@10 против 62,28 у Qwen3-Reranker-4B, то есть обходит модель в семь раз больше. На юридике, медицине и мультиязычном поиске четырёхмиллиардная модель по-прежнему впереди. Веса под лицензией CC BY-NC 4.0, коммерческое использование нужно согласовывать отдельно.

Что изменилось в jina-reranker-v3.5

Три вещи при том же размере и том же интерфейсе. Модель осталась на 0,6B (точнее 597 миллионов параметров) и по-прежнему построена на Qwen3-0.6B.

Первое, внимание стало гибридным. Вместо однородного глобального внимания там расписание 3L2G: три слоя со скользящим окном на 1024 токена, потом два глобальных, и последний слой закреплён глобальным, потому что иначе не работает считывание результата. Отсюда и главный практический выигрыш: листовый инференс стал быстрее v3 в 1,22 до 1,56 раза на контекстах от коротких к длинным (замеры на A100 с FlashAttention-2, батч 1, топ-100).

Второе, тренировочная смесь стала многодоменной: юридика, медицина, финансы, мультиязычные и структурированные данные.

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

Контекст 131 072 токена, выходная размерность 512, есть GGUF и MLX сборки.

Реально ли 0,6B обходит 4B

На BEIR да, на остальном нет. Вот полная картина по nDCG@10 при топ-100 кандидатов от jina-embeddings-v5-text-small:

  • BEIR: jina-reranker-v3.5 даёт 63,20; v3 даёт 62,10; Qwen3-Reranker-4B даёт 62,28; Qwen3-Reranker-0.6B даёт 56,94; mxbai-rerank-large-v2 на 1,5B даёт 62,45
  • MIRACL (мультиязычный): 74,11 против 72,20 у v3 и 67,12 у Qwen на 0,6B, но Qwen на 4B впереди с 76,56
  • RTEB (юридика, медицина, финансы): 70,95 против 68,01 у v3, обходит и одноразмерный Qwen (68,41), и mxbai на 1,5B (70,81), но до Qwen на 4B (77,68) остаётся почти семь пунктов
  • Struct-IR (полуструктурированные данные): 48,3 против 38,7 у v3, прирост 9,6 пункта; Qwen на 4B держит 55,6

То есть заголовок «обошли модель в семь раз больше» держится строго на одном бенчмарке из четырёх. На двух самых денежных для бизнеса, юридике с медициной и структурированных данных, четырёхмиллиардная модель уверенно впереди. Сами авторы это не скрывают: в статье написано, что оставшийся разрыв с Qwen3-Reranker-4B на RTEB сконцентрирован на нескольких юридических и медицинских задачах.

Честный способ читать эти числа: v3.5 лучший в своём весовом классе с большим отрывом (одноразмерный Qwen отстаёт на 6,3 пункта BEIR) и догнал 4B на общем английском поиске.

Что такое listwise и зачем оно агентам

Listwise означает, что запрос и все кандидаты идут одной последовательностью, и модель сравнивает документы друг с другом внутри одного прохода. У Jina это называется last but not late: запрос и кандидаты образуют единый causal-контекст, self-attention работает по всему этому контексту, а лёгкий MLP-проектор (1024 в 512 в 512) вытаскивает эмбеддинги специальных разделителей и сравнивает их косинусом.

Разница с late interaction вроде ColBERT практическая. Там пассажи кодируются независимо, поэтому модель не видит, что документ номер три противоречит документу номер семь. Здесь видит, потому что они лежат в одном контексте. За это платишь тем, что все кандидаты и запрос должны влезть в контекстное окно: жёсткого лимита на число кандидатов нет, есть 131 тысяча токенов на всех.

Для агентов это важнее, чем для обычного поиска. Агент делает много запросов на длинной задаче, и реранкер вызывается на каждом, поэтому его латентность и стоимость накапливаются. Мы разбирали, как кодинг-бенчмарки на самом деле мерят ретривал, а не кодинг: качество последней ступени поиска влияет на результат агента напрямую.

Подводные камни

Лицензия CC BY-NC 4.0. Веса некоммерческие. Для коммерческого использования надо связываться с Jina. То есть скачать, померить и написать статью можно, а поставить в продакшен своего SaaS нельзя без отдельного разговора. На фоне Qwen3-Reranker под Apache 2.0 это главный аргумент против.

Число 48,3 не с публичного лидерборда. Struct-IR мерили по контролируемому протоколу: в пул к каждому запросу подкладывали все золотые документы плюс 30 самых сложных дистракторов от первой ступени. Авторы прямо пишут, что этот протокол несравним с лидербордом SSRB. Прирост в 9,6 пункта реален относительно v3 в том же протоколе, но это не «мы поднялись в общем рейтинге».

Документация сама с собой не согласна по языкам. Блог Elastic говорит про обучение на 52 языках, карточка модели на jina.ai указывает 24 обученных языка и 93 поддерживаемых. Если у тебя мультиязычная коллекция, проверяй на своих данных, а не по числу в описании.

Качество зависит от первой ступени, а её тоже надо взять у Jina. Все цифры получены на топ-100 от jina-embeddings-v5-text-small. Если у тебя другой ретривер, числа будут другими, и не обязательно хуже, но и не обязательно такими.

Для ArguAna и Quora в замерах включали отдельные LoRA-адаптеры под задачу. Мелочь, но она значит, что средняя по BEIR получена не совсем в одинаковых условиях для всех датасетов.

Инференс-провайдеров нет. На Hugging Face модель не задеплоена ни одним провайдером, то есть либо крутишь сам, либо идёшь в API Jina.

Альтернативы

Qwen3-Reranker-4B. Впереди на юридике, медицине, структурированных данных и мультиязычном поиске, и под Apache 2.0. Цена: в семь раз больше параметров и соответствующая латентность на каждом вызове агента.

Qwen3-Reranker-0.6B. Тот же размер, лицензия свободная, но отстаёт на 6,3 пункта BEIR и на 6,4 пункта Struct-IR. Выбор для тех, кому лицензия важнее качества.

mxbai-rerank-large-v2. 1,5B, BEIR 62,45, RTEB 70,81, то есть примерно паритет с v3.5 при почти трёхкратном размере. Промежуточный вариант.

Остаться на jina-reranker-v3. Если апгрейд упирается в лицензию или в бюджет на перепроверку, старая версия даёт 62,10 BEIR, что всё ещё выше одноразмерного Qwen. Разница в 1,1 пункта не стоит спешки.

Вердикт

Переходи с v3 на v3.5, если у тебя уже стоит реранкер Jina и в коллекции много полуструктурированных данных: прирост 9,6 пункта на Struct-IR и ускорение листового инференса до 1,56 раза берутся сменой строки с названием модели, потому что схема запроса не изменилась.

Не начинай с этой модели новый коммерческий проект, пока не разобрался с лицензией: веса под CC BY-NC 4.0, и это не формальность. Если нужен максимум качества на юридике и медицине и лицензия должна быть свободной, правильный выбор остаётся Qwen3-Reranker-4B, просто он в семь раз больше и на каждом вызове агента это чувствуется.

Как попробовать

  1. Поставь transformers и загрузи модель: AutoModel.from_pretrained('jinaai/jina-reranker-v3.5', dtype="auto", trust_remote_code=True), потом model.eval().
  2. Если уже используешь API Jina, замени строку модели с jina-reranker-v3 на jina-reranker-v3.5. Схема запроса не менялась, остальное трогать не нужно.
  3. Померь на своих запросах, а не на BEIR. Собери 30 живых запросов, где текущий порядок результатов тебя не устраивает, и сравни топ-5 до и после.
  4. Для локального прогона на маке возьми MLX-сборку, для CPU и квантизаций GGUF.
  5. Если планируешь коммерческое использование, начни с лицензии, а не с бенчмарков: форма для запроса есть на сайте.
$ ls ./related/

Похожие статьи

openai-astra-critical-cyber.md
OpenAI не может исключить, что её будущая модель находит 0-day сама. Часть работ по Astra остановлена
> · 7 мин

OpenAI не может исключить, что её будущая модель находит 0-day сама. Часть работ по Astra остановлена

OpenAI объявила, что предварительные замеры Astra не позволяют исключить уровень Critical по кибербезопасности в её собственном Preparedness Framework. Это первый такой случай: все прежние модели, включая GPT-5.6 Sol, проходили уровнем ниже. Активности, не дотягивающие до усиленных требований, приостановлены, а мониторы теперь читают цепочку размышлений.

ai llm openai security
databricks-ai-coding-costs.md
Databricks выложила свою математику расходов на кодинг-агентов: минус 50% токенов от тюнинга харнесса, а Opus 5 вышел дороже Opus 4.8
> · 8 мин

Databricks выложила свою математику расходов на кодинг-агентов: минус 50% токенов от тюнинга харнесса, а Opus 5 вышел дороже Opus 4.8

Соучредитель Databricks с коллегами описал четыре рычага снижения расходов на агентный кодинг: тюнинг харнесса и кеша дал почти минус 50% токенов, роутер между моделями минус 30% средней цены задачи. Самое неприятное в статье: Stripe отказалась выдавать разработчикам Opus 4.7, а Databricks увидела рост стоимости при переходе с Opus 4.8 на Opus 5.

ai agents llm developer-tools
microsoft-flint-charts-mcp.md
Microsoft Flint: агент описывает график в пять строк, а компилятор собирает его в Vega-Lite, Plotly и Excel
> · 7 мин

Microsoft Flint: агент описывает график в пять строк, а компилятор собирает его в Vega-Lite, Plotly и Excel

Flint от Microsoft Research — промежуточный язык визуализации под MIT. Ты описываешь компактный спек с семантическими типами полей, а компилятор сам выводит масштабы, оси, отступы и раскладку. Один вход собирается в Vega-Lite, ECharts, Chart.js, Plotly и нативные графики Excel. В комплекте MCP-сервер: npx -y flint-chart-mcp, и агент рисует прямо из чата.

ai open-source devtools mcp
subscribe.sh

$ cat /dev/blog/updates

> Свежие заметки о программировании,

> DevOps и AI — прямо в мессенджер

./subscribe