ТЕХНОЛОГИИ

ColBERT в Qdrant: токеновые векторы и семантика MaxSim

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

Усреднение токенных векторов ColBERT меняет метод оценки и теряет структуру, которую использует MaxSim.

Представление ColBERT является матрицей токеновых векторов, а не длинным обычным эмбеддингом для усреднения перед поиском. В Qdrant нужно сохранять эту структуру и контракт MaxSim, отделяя кандидатов первого этапа от последующего late-interaction ранжирования.

Сохранить границу матрицы

Справочник векторов Qdrant описывает multivectors и компаратор MaxSim. Документ предоставляет несколько векторов, а запрос тоже имеет структурированное представление. Усреднение токенов документа в один вектор меняет метод поиска. Такой вариант может служить самостоятельным полезным контролем, но не является тем же скорером ColBERT только потому, что оба представления получены из одного checkpoint. Эту разницу следует сохранять в описании профиля и результатах сравнения.

Отделить кандидатов от оценки

Документация гибридных запросов предоставляет prefetch, кандидаты которого передаются следующему запросу. Если предполагается двухэтапная схема, используйте отдельное плотное представление для первого этапа, затем многовекторный скорер для его кандидатов. Сохраните их идентификаторы до ранжирования. Даже идеальный второй этап не восстановит релевантный документ, отсутствующий на этой границе. Поэтому полнота кандидатов и качество повторного ранжирования требуют разных наблюдений, хотя пользователь видит одну конечную выдачу.

Сохранить обработку выбранной модели

Авторская реализация ColBERT задаёт токеновый late interaction вместе с обработкой запросов и документов. Не заменяйте эти процессоры произвольным токенизатором предложений и не считайте равную размерность доказательством совместимости. Запишите ревизию checkpoint, токенизацию, padding и сохраняемые позиции. Массив подходящей формы всё ещё может описывать другую задачу, если роли запроса и документа поменяли местами или неправильно применили маску к представлению.

Проверить понятную пару документов

Подготовьте учебный набор с коротким запросом и двумя фрагментами: один содержит редкий идентификатор продукта, другой повторяет общие слова темы. Сохраните настоящий текст и выход модели. Посмотрите, меняет ли порядок результатов выбор сохраняемых токенов. Это диагностика, а не обещание победителя. Затем добавьте длинный фрагмент для обнаружения эффектов усечения: низкий балл может относиться к тексту, нужное доказательство которого вообще не попало в кодировщик.

ГраницаСохраняемый артефакт
КодированиеМатрицы токенов и маски
PrefetchИдентификаторы кандидатов
РанжированиеИтоговые баллы и порядок

Учесть хранение и вычисление

Матрицы токенов содержат больше векторных элементов, чем одно объединённое представление документа. Реальный объём зависит от сохраняемых токенов и схемы индекса. Измеряйте эти величины, а не умножайте одну размерность на число документов как полный бюджет. Если графовый индекс отключён для поля, используемого только в reranking, сохраните решение явно. Оно меняет роль поля, но не отменяет хранение и обработку его векторов при оценке кандидатов.

Принять всю цепочку поиска

Сначала сравните покрытие кандидатов, затем конечную релевантность по той же разметке. При замене клиента или движка сохраняйте небольшой контроль точного скорера. Укажите, получен ли результат полным многовекторным поиском или ограниченным повторным ранжированием. Тогда пропуск фрагмента можно объяснить по этапам, не приписывая MaxSim отсутствие документа, который до него не дошёл.

Связанные материалы: Embeddings и rerankers: другие задачи для свободного GPU; Reranker в RAG: сколько документов передавать на повторную оценку.

← Все материалы