Поиск по документам — одна из самых востребованных задач в корпоративных ИИ-системах: пользователь задаёт вопрос текстом, а система должна найти нужную страницу среди тысяч отсканированных отчётов, презентаций и таблиц. Универсальные мультимодальные модели справляются с этим посредственно — они обучены на широком наборе задач и не специализированы ни под одну из них. Именно здесь помогает дообучение.
Библиотека Sentence Transformers — один из самых популярных инструментов для работы с эмбеддинг-моделями в Python — добавила полноценный пайплайн для обучения мультимодальных моделей. Разработчик библиотеки Том Аарсен дообучил Qwen/Qwen3-VL-Embedding-2B на задаче Visual Document Retrieval (VDR): модель получает текстовый запрос вроде «Какова выручка компании в третьем квартале?» и должна найти нужный скриншот страницы документа в корпусе. После дообучения на датасете tomaarsen/llamaindex-vdr-en-train-preprocessed метрика NDCG@10 выросла с 0,888 до 0,947. Полученная модель tomaarsen/Qwen3-VL-Embedding-2B-vdr превзошла все протестированные аналоги, в том числе модели с числом параметров до 8 миллиардов — то есть вчетверо крупнее.
| Model | Parameters | NDCG@10 |
|---|---|---|
| tomaarsen/Qwen3-VL-Embedding-2B-vdr | 2.1B | 0.947 |
| Qwen/Qwen3-VL-Embedding-8B | 8.1B | 0.923 |
| nvidia/omni-embed-nemotron-3b | 4.7B | 0.915 |
| nvidia/llama-nemotron-embed-vl-1b-v2 | 1.7B | 0.912 |
| nomic-ai/nomic-embed-multimodal-7b | 8.3B | 0.912 |
| llamaindex/vdr-2b-multi-v1 | 2.2B | 0.912 |
| llamaindex/vdr-2b-v1 | 2.2B | 0.911 |
| nomic-ai/nomic-embed-multimodal-3b | 3.8B | 0.899 |
| Qwen/Qwen3-VL-Embedding-2B | 2.1B | 0.888 |
| LCO-Embedding/LCO-Embedding-Omni-7B | 8.9B | 0.888 |
| LCO-Embedding/LCO-Embedding-Omni-3B | 4.7B | 0.860 |
| BAAI/BGE-VL-v1.5-zs | 7.6B | 0.800 |
| BAAI/BGE-VL-v1.5-mmeb | 7.6B | 0.797 |
| BAAI/BGE-VL-MLLM-S2 | 7.6B | 0.792 |
| BidirLM/BidirLM-Omni-2.5B-Embedding | 2.5B | 0.775 |
| royokong/e5-v | 8.4B | 0.767 |
| BAAI/BGE-VL-MLLM-S1 | 7.6B | 0.710 |
| sentence-transformers/clip-ViT-L-14 | 428M | 0.611 |
| BAAI/BGE-VL-large | 428M | 0.467 |
| BAAI/BGE-VL-base | 150M | 0.335 |
NDCG@10 (Normalized Discounted Cumulative Gain) — стандартная метрика качества поиска: она измеряет, насколько релевантные результаты оказываются выше в топ-10 выдачи. Значение 0,947 означает почти идеальное ранжирование на тестовой выборке.
Пайплайн обучения использует тот же SentenceTransformerTrainer, что и для текстовых моделей — разница только в данных.

Обучающий пайплайн построен на том же классе SentenceTransformerTrainer, что используется для текстовых моделей. Ключевое отличие — датасет содержит изображения наряду с текстом, а препроцессинг изображений берёт на себя процессор модели. Разработчик может управлять разрешением входных изображений через параметр max_pixels: выше разрешение — выше качество, но и больше потребление памяти. В качестве функции потерь применяется CachedMultipleNegativesRankingLoss в сочетании с MatryoshkaLoss — последняя позволяет обучать модель одновременно на эмбеддингах разной размерности, что даёт гибкость при развёртывании.
Библиотека поддерживает два архитектурных подхода. Первый — дообучение готовой Vision-Language Model (VLM): модель уже умеет работать с несколькими модальностями, и достаточно передать её имя в SentenceTransformer. Второй — сборка модели из отдельных специализированных энкодеров через модуль Router: например, один энкодер обрабатывает текст, другой — изображения, а Router направляет входные данные к нужному. Этот подход позволяет использовать лёгкие модели вместо тяжёлой VLM, но требует дополнительного обучения для выравнивания пространств эмбеддингов разных модальностей — для этого добавляется слой Dense-проекции.
Появление такого инструмента меняет практику построения RAG-систем (Retrieval-Augmented Generation) для работы с документами. Раньше разработчики были вынуждены либо использовать универсальные модели с посредственным качеством, либо прибегать к дорогостоящим проприетарным решениям. Теперь дообучение под конкретный домен — финансовую отчётность, медицинские записи, технические руководства — стало доступно через стандартный open-source инструментарий. Результаты эксперимента показывают, что даже небольшая модель в 2 миллиарда параметров после специализации способна обойти более крупные универсальные решения.

