Блог / ИИ-агенты, скиллы и автоматизация
ИИ-агенты, скиллы и автоматизация
ColBERT и late interaction: точный reranking для RAG
Практический разбор: работает ColBERT: token-level multivectors, MaxSim, candidate retrieval, late interaction reranking, storage, quantization и оценка.
ИИ-агенты, скиллы и автоматизация
Коротко о главном
Dense embedding сжимает passage в одну точку. Late interaction хранит representations нескольких токенов и сопоставляет query с документом на более тонком уровне. Измеряйте nDCG/MRR, answer correctness, p95 и стоимость. Отдельно смотрите длинные passages, редкие термины и multilingual queries.
Один vector теряет детали
Dense embedding сжимает passage в одну точку. Late interaction хранит representations нескольких токенов и сопоставляет query с документом на более тонком уровне.
Двухэтапная схема
BM25 или dense retrieval быстро создаёт candidates. ColBERT reranks только небольшой pool; запуск по всему корпусу обычно слишком дорог.
Multivectors и MaxSim
Документ хранит набор vectors, а score агрегирует лучшие token-level совпадения. Реализация и нормализация зависят от модели, поэтому score не переносится между версиями.
Хранилище и quantization
Много vectors увеличивает RAM и disk. Compression снижает footprint, но требует сравнения recall и latency на вашем наборе.
Candidate_k и final_k
Малый pool ограничивает recall, большой увеличивает стоимость late interaction. Подбирайте оба параметра совместно с context budget.
Eval
Измеряйте nDCG/MRR, answer correctness, p95 и стоимость. Отдельно смотрите длинные passages, редкие термины и multilingual queries.
Какой первый шаг?
Зафиксировать корпус, реальные запросы и baseline; без версий сравнение невоспроизводимо.
Что измерять?
Retrieval relevance, grounded correctness, p95 latency, стоимость и ошибки по сегментам.
Можно ли доверить оценку одной LLM?
Нет. LLM judge полезен как сигнал, но критические выборки требуют детерминированных проверок и экспертной разметки.
Как обновлять систему?
Через новую версию, offline eval, shadow, canary и заранее подготовленный rollback.
Что делать с чувствительными данными?
Минимизировать, ограничивать доступ, применять ACL до retrieval и задавать retention для traces и eval-наборов.
Как избежать каннибализации экспериментов?
Менять один слой за раз и хранить control, candidate, corpus version и сегментированные результаты.
← Все статьи блога