26 августа 2026 г.
Поиск по своей базе дообучается на одной видеокарте: 14,5 часа на RTX 3090
Sentence Transformers 6.0 дообучил ColBERT-модель на медицинском корпусе за 14,5 часа: точность топ-1 выросла до 84,9%.

Дообучение на медицинском корпусе подняло точность попадания в топ-1 до 84,9%. Лучшая готовая модель на том же замере давала 75,8%.
Речь про late interaction: модель хранит не один вектор на документ, а почти по вектору на каждый токен и сравнивает запрос со всеми сразу. В Sentence Transformers 6.0 такую модель теперь дообучают у себя.
Как дообучить у себя
Как поставить. `pip install -U "sentence-transformers[train]"`, дальше три класса: MultiVectorEncoder, MultiVectorEncoderTrainer и MultiVectorEncoderTrainingArguments. Версия 6.0.0 вышла 18 августа 2026 и требует Python 3.10+. Официальная инструкция на sbert.net разбирает сборку из шести компонентов и даёт минимальный пример на бэкбоне ModernBERT-base.
Раньше чужие чекпойнты жили каждый в своей библиотеке. Теперь 6.0 грузит форматы PyLate и Stanford-NLP ColBERT как есть, а скоринг переехал на float32 — на half precision числа тихо портились.
Одна видеокарта. Демо-модель mLateOn-medical дообучили на 1 млн пар «вопрос-пассаж» из датасета MIRIAD за 14,5 часа на одной RTX 3090, пик памяти 17,5 ГБ. Урезанный прогон на 100 000 пар занимает 75 минут и отстаёт от полного на 0,012 NDCG@10.
Гиперпараметры демо открыты целиком: 1 эпоха, батч 128 на устройство, learning rate 1e-4, лосс CachedMultiVectorMultipleNegativesRankingLoss с mini_batch_size 16, базовый чекпойнт lightonai/mLateOn-unsupervised.
Чем платить за точность
Платить приходится диском. Мульти-вектор хранит около 878 векторов на пассаж, поэтому корпус из 200 000 пассажей весит примерно 45 ГБ в fp16, а dense-модель укладывается сильно меньше чем в 1 ГБ. 1-битная PLAID-квантизация ужимает индекс до 3,37 ГБ, а отбор 42% векторов доводит его до 1,45 ГБ.
Первоисточник