Dense retrieval — подход к поиску, использующий плотные векторные эмбеддинги для сопоставления запросов и документов по смысловой близости, а не по совпадению терминов.
Определение
Dense retrieval — это класс методов информационного поиска, в которых запрос и документы кодируются в плотные (dense) векторы фиксированной размерности с помощью нейросетевых энкодеров. Поиск выполняется через вычисление близости между векторами, обычно с помощью косинусного сходства или dot-product. В отличие от sparse retrieval, dense retrieval не требует явного совпадения слов и способен находить релевантные документы при перефразировании, синонимах и абстрактных формулировках.
Как работает
1. Dual-encoder архитектура
Наиболее распространённая схема:
- Query encoder — кодирует пользовательский запрос.
- Document encoder — кодирует документы или фрагменты.
Оба энкодера обычно имеют одинаковую архитектуру (Siamese / bi-encoder), но работают независимо. Это позволяет заранее закодировать документы и хранить их в векторном индексе.
2. Обучение эмбеддингов
Модель обучается так, чтобы релевантные пары были близки в embedding space:
- contrastive loss (InfoNCE);
- in-batch negatives;
- hard negatives (BM25 или mined negatives).
Обучение часто проводится на QA-датасетах, кликовых логах или синтетических парах запрос–документ.
3. Векторный поиск
После обучения:
- документы кодируются один раз;
- строится ANN-индекс (HNSW, IVF, PQ);
- запрос кодируется в реальном времени;
- выполняется поиск ближайших векторов.
Это обеспечивает быстрый поиск даже по миллионам документов.
4. Re-ranking (опционально)
Dense retrieval часто используется как первый этап. Далее:
- cross-encoder или LLM переранжирует топ-k кандидатов;
- учитывается контекст запроса целиком;
- повышается точность финального ответа.
Где применяется
- Semantic search по большим текстовым корпусам.
- Retrieval-augmented generation (RAG).
- Поиск по FAQ, документации, support-базам.
- Научный и патентный поиск.
- Мультимодальный поиск (текст ↔ изображение).
Практические примеры использования
Dense retrieval лежит в основе моделей DPR (Dense Passage Retrieval), Contriever, E5, GTR, BGE. В RAG-системах документы разбиваются на чанки, кодируются в эмбеддинги и извлекаются по семантической близости к запросу LLM.
В продакшене dense retrieval используется в связке с ANN-библиотеками (FAISS, Milvus, Weaviate). Для повышения качества часто комбинируется с sparse retrieval (hybrid search) и neural re-ranking.
Ключевые свойства
- Семантическое сопоставление без совпадения слов.
- Компактные векторы фиксированной размерности.
- Быстрый ANN-поиск по большим индексам.
- Хорошая работа с перефразированием.
- Гибкость под разные домены при дообучении.
Проблемы и ограничения
- Потеря точности для редких и формальных терминов.
- Сложность интерпретации причин релевантности.
- Зависимость от качества обучающих данных.
- Требует регулярного переиндексирования при обновлении корпуса.
- Может возвращать семантически близкие, но фактически нерелевантные документы.
Преимущества и ограничения
- Плюс: сильная семантическая генерализация и гибкость.
- Минус: слабое обращение с точными совпадениями без гибридных схем.
Связанные термины
- Sparse retrieval
- Hybrid search
- Vector embeddings
- ANN search
- RAG