Cross-encoder — архитектура retrieval-моделей, где запрос и документ подаются в модель совместно, что позволяет учитывать прямые токен-к-токен взаимодействия при оценке релевантности.
Определение
Cross-encoder — это архитектурный подход в задачах поиска и ранжирования, при котором запрос и документ (или кандидат ответа) объединяются в одну входную последовательность и обрабатываются одной моделью. В отличие от bi-encoder, cross-encoder не строит независимые эмбеддинги, а вычисляет релевантность напрямую, используя полное внимание между токенами запроса и документа. Это обеспечивает более высокую точность, но значительно увеличивает вычислительную стоимость.
Как работает
1. Совместный вход
Запрос и документ конкатенируются в одну последовательность:
- [CLS] запрос [SEP] документ [SEP]
Модель (обычно Transformer) обрабатывает этот вход целиком, позволяя каждому токену запроса взаимодействовать с каждым токеном документа.
2. Полное внимание
Self-attention охватывает всю пару целиком:
- учитываются точные совпадения терминов;
- распознаются перефразирования;
- улавливаются логические и контекстные зависимости;
- корректно обрабатываются длинные и сложные формулировки.
3. Скоринг релевантности
На выходе модель выдаёт скалярный скор:
- через CLS-токен;
- через regression head;
- или через бинарную/мультиклассовую классификацию.
Этот скор используется для ранжирования документов.
4. Использование в пайплайне
Из-за высокой стоимости cross-encoder почти никогда не применяется ко всему корпусу. Типовой сценарий:
- sparse / dense / hybrid retrieval → top-k кандидатов;
- cross-encoder → точный re-ranking этих кандидатов;
- передача лучших документов в LLM или ответную модель.
Где применяется
- Ре-ranking в поисковых системах.
- RAG-пайплайны (повышение точности контекста).
- QA-системы.
- Юридический и медицинский поиск.
- Поиск по длинным и сложным документам.
- Evaluation retrieval-моделей.
Практические примеры использования
Cross-encoder активно используется в production-поиске как финальный ранжировщик. Популярные реализации — cross-encoder версии BERT, RoBERTa, DeBERTa, а также специализированные модели из Sentence-Transformers.
В RAG-системах cross-encoder резко снижает риск нерелевантного контекста, особенно при сложных вопросах. В юридических и научных базах он позволяет корректно сопоставлять длинные запросы с формально похожими, но семантически разными документами.
Ключевые свойства
- Полное взаимодействие токенов запроса и документа.
- Высокая точность оценки релевантности.
- Чувствительность к формулировкам и контексту.
- Не требует ANN-индексов.
- Используется как финальный этап ранжирования.
Проблемы и ограничения
- Квадратичная сложность по длине входа.
- Невозможность масштабирования на большие корпуса.
- Высокая латентность.
- Ограничения по длине контекста.
- Непригоден для первого этапа поиска.
Преимущества и ограничения
- Плюс: максимальная точность и корректность ранжирования.
- Минус: высокая стоимость и ограниченная масштабируемость.
Связанные термины
- Bi-encoder
- Dense retrieval
- Hybrid search
- Ре-ranking
- RAG