Реранкер: оставить, заменить или выкинуть?
После того как учёл ошибки в бенчмарке эмбеддингов, решил поменять модель эмбеддинга в боте и наконец-то дозалить новую судебную практику. Но столкнулся с тем, что заодно нужно определиться с реранкером: оставить старый, выбрать новый или вовсе убрать.
Что сделал. На уже размеченных данных прошлого теста прогнал четыре реранкера по тем же 30 вопросам и семи эмбеддингам. Делать новую разметку не пришлось, поэтому всё заняло несколько часов.
Реранкеры в тесте:
mmarco-mMiniLMv2 - мой текущий, обучен на английском MS MARCO
bge-reranker-v2-m3 - мультиязычный от BAAI, 568M параметров
jina-reranker-v3 - листвайз-архитектура, 0.6B параметров
mxbai-rerank-base-v2 - на базе Qwen-2.5, 0.5B параметров
Плюс baseline без реранкера (raw).
Главные выводы:
➖Не каждый реранкер подходит для русского юридического корпуса. Mxbai в моём корпусе значимо ухудшил результаты на большинстве эмбеддингов, английский mmarco на русском ожидаемо нейтрален. Работают только bge и jina.
➖ Эффект реранкера зависит от качества эмбеддинга. На сильных эмбеддингах (OpenAI, Voyage, USER2-base) приросты в пределах погрешности - на 30 вопросах их математически невозможно отличить от нуля. На слабых эмбеддингах эффект уже ощутимый и статистически значимый:
Yandex (raw 0.630) → bge 0.755 (+12.5 пункта)
Cohere (raw 0.700) → jina 0.793 (+9.3 пункта)
OpenAI настолько хорошо ранжирует юридические дела сам, что реранкеру нечего улучшать. На слабом эмбеддинге пространство для улучшения есть, и реранкер реально вытягивает результат.
➖USER2-base + jina как локальная альтернатива OpenAI. USER2-base в raw даёт 0.773. С jina связка выходит 0.797. Для сравнения: OpenAI без реранкера - 0.809. Разница на этой выборке в пределах погрешности - нет смысла выбирать OpenAI вместо локальной связки.
Решение для бота
Поставлю USER2-base, если позволят ресурсы сервера, плюс jina-reranker-v3. Если jina по железу не пойдёт - оставлю bge. Mmarco убираю, пользы от него нет.
Ограничения теста те же, что в прошлом посте. Часть выводов подтверждена статистически, часть - наблюдения в рамках выборки 30 вопросов.
После того как учёл ошибки в бенчмарке эмбеддингов, решил поменять модель эмбеддинга в боте и наконец-то дозалить новую судебную практику. Но столкнулся с тем, что заодно нужно определиться с реранкером: оставить старый, выбрать новый или вовсе убрать.
Что сделал. На уже размеченных данных прошлого теста прогнал четыре реранкера по тем же 30 вопросам и семи эмбеддингам. Делать новую разметку не пришлось, поэтому всё заняло несколько часов.
Реранкеры в тесте:
mmarco-mMiniLMv2 - мой текущий, обучен на английском MS MARCO
bge-reranker-v2-m3 - мультиязычный от BAAI, 568M параметров
jina-reranker-v3 - листвайз-архитектура, 0.6B параметров
mxbai-rerank-base-v2 - на базе Qwen-2.5, 0.5B параметров
Плюс baseline без реранкера (raw).
Главные выводы:
➖Не каждый реранкер подходит для русского юридического корпуса. Mxbai в моём корпусе значимо ухудшил результаты на большинстве эмбеддингов, английский mmarco на русском ожидаемо нейтрален. Работают только bge и jina.
➖ Эффект реранкера зависит от качества эмбеддинга. На сильных эмбеддингах (OpenAI, Voyage, USER2-base) приросты в пределах погрешности - на 30 вопросах их математически невозможно отличить от нуля. На слабых эмбеддингах эффект уже ощутимый и статистически значимый:
Yandex (raw 0.630) → bge 0.755 (+12.5 пункта)
Cohere (raw 0.700) → jina 0.793 (+9.3 пункта)
OpenAI настолько хорошо ранжирует юридические дела сам, что реранкеру нечего улучшать. На слабом эмбеддинге пространство для улучшения есть, и реранкер реально вытягивает результат.
➖USER2-base + jina как локальная альтернатива OpenAI. USER2-base в raw даёт 0.773. С jina связка выходит 0.797. Для сравнения: OpenAI без реранкера - 0.809. Разница на этой выборке в пределах погрешности - нет смысла выбирать OpenAI вместо локальной связки.
Решение для бота
Поставлю USER2-base, если позволят ресурсы сервера, плюс jina-reranker-v3. Если jina по железу не пойдёт - оставлю bge. Mmarco убираю, пользы от него нет.
Ограничения теста те же, что в прошлом посте. Часть выводов подтверждена статистически, часть - наблюдения в рамках выборки 30 вопросов.