Cross-encoder архитектура в семантическом поиске

Термин глоссария

Cross-encoder


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

Категория термина

Работа с данными и векторами