Какой реранкер использовали
Что проверяют
Работали ли вы с двухэтапным поиском на практике или знаете термин из статьи. Сейчас вопрос чаще всего про RAG или поиск, и следом спрашивают: почему именно эта модель, сколько кандидатов подавали на вход и во что обошлась задержка.
Как отвечать
Сначала объясните место реранкера: быстрый первый этап (BM25, векторный поиск на биэнкодере или гибрид) достаёт 50-200 кандидатов, реранкер пересчитывает их точнее и оставляет top-5 или top-10 для модели. Дальше назовите класс решений и честно скажите, что использовали вы:
- cross-encoder: запрос и документ подаются в модель вместе, она видит взаимодействие слов и поэтому точнее биэнкодера. Примеры:
cross-encoder/ms-marco-MiniLM-L-6-v2для английского, многоязычныйBAAI/bge-reranker-v2-m3, если нужен русский. В коде это классCrossEncoderиз sentence-transformers; - late interaction (ColBERT): векторы хранятся по токенам, точность близка к cross-encoder, скорость выше, зато индекс заметно тяжелее;
- LLM как реранкер: модель оценивает релевантность или сортирует список. Качественно, но дорого и медленно;
- learning to rank в рекомендациях: градиентный бустинг с ранжирующей функцией потерь, например
LGBMRankerсlambdarankили CatBoost сYetiRank, на признаках и кликах.
Обязательно скажите про цену: cross-encoder прогоняет каждую пару «запрос, документ», время растёт линейно с числом кандидатов, поэтому его ограничивают top-k первого этапа.
Как оценивали: NDCG@k и MRR на размеченном наборе, recall@k первого этапа отдельно, в проде A/B-тест. Цифры приводите свои.
Где спотыкаются
Называют модель, но не могут объяснить, чем cross-encoder отличается от биэнкодера и почему его нельзя прогнать по всей базе сразу.
Не отделяют качество первого этапа от реранкера: если нужного документа нет среди кандидатов, никакой реранкер его не поднимет.
Берут англоязычный реранкер для русских документов и удивляются, что качество стало хуже, чем без него.