Все статьи
обновлено 8 мин

Embedding модели для русского языка: bge-m3 vs USER-bge-m3 vs multilingual-e5

Прямое сравнение трёх ключевых эмбеддеров для русского корпоративного RAG. Бенчмарки на реальных текстах, размеры памяти, скорость, рекомендации под задачи.

embeddingsragbge-m3русский-aiself-hosted-aiagmind

Эмбеддинг-модель — это нейросеть, превращающая текст в числовой вектор, по которому ведётся семантический поиск в RAG. Для русского B2B в 2026 году актуальны три open-source варианта: BAAI/bge-m3, deepvk/USER-bge-m3 и intfloat/multilingual-e5-large — они отличаются точностью на русской лексике, скоростью и объёмом GPU-памяти. Статья объясняет, как их выбирать.

Что такое эмбеддер и почему он критичен

Эмбеддер превращает текст в вектор фиксированной размерности — обычно 1024 числа для нашего класса моделей. Семантически похожие тексты дают близкие векторы; так работает поиск «по смыслу», а не по словам.

В RAG-пайплайне эмбеддер запускается дважды: сначала на всю документную базу (один раз при индексации), потом на каждый запрос пользователя. Точность поиска = насколько хорошо эмбеддер группирует семантически близкое.

Критерии оценки:

  • Качество кластеризации русского (на бизнес-текстах, а не на художественной литературе)
  • Скорость на типовом железе (сколько чанков в секунду индексирует, сколько мс на запрос)
  • Размер модели в памяти (определяет, помещается ли с другими компонентами на одном GPU)
  • Поддержка длинных контекстов (некоторые задачи требуют чанков по 4-8K токенов)

BAAI/bge-m3 — универсальный baseline

Описание: Multilingual эмбеддер от Beijing Academy of Artificial Intelligence. Мощный baseline для 100+ языков, включая русский. Размер модели — 568M параметров, выходной вектор 1024.

Сильные стороны:

  • Хорошо понимает мультиязычные документы (русско-английские смешанные тексты)
  • Поддерживает контекст до 8192 токенов — можно эмбеддить целые большие чанки
  • Активная поддержка от вендора, регулярные обновления
  • Совместимость с большинством векторных баз через стандартный интерфейс
  • Готовая интеграция в vLLM (быстрый inference)

Слабые стороны:

  • На чисто русских корпоративных текстах уступает русско-fine-tuned версиям 3-7%
  • На разговорной русской лексике даёт чуть менее точные кластеры
  • Тяжёлый — занимает ~2.3 ГБ VRAM при FP16

Когда брать: мультиязычные базы, документы с английскими терминами, когда нужен один эмбеддер на всё.

deepvk/USER-bge-m3 — fine-tuned на русский

Описание: Fork bge-m3 от DeepVK с добавочным fine-tuning на русских корпоративных текстах. Та же архитектура, та же размерность вектора, но веса доадаптированы под русский.

Сильные стороны:

  • Лучшая точность на русских бизнес-текстах среди open-source моделей
  • Хорошо справляется с региональной лексикой, профессиональными терминами
  • Работает с тем же контекстом 8192 токена, что и базовый bge-m3
  • Совместим с любой инфраструктурой что работает с bge-m3 — drop-in replacement

Слабые стороны:

  • Хуже на смешанных русско-английских текстах (английские части дают менее точные эмбеддинги)
  • Менее активная поддержка чем у Beijing Academy
  • При обновлениях базовой модели нужно ждать пока DeepVK выпустит fine-tuned версию

Когда брать: когда 90%+ документов на русском, корпоративная лексика, юридические/медицинские/технические тексты на русском.

intfloat/multilingual-e5-large — широкая совместимость

Описание: Эмбеддер от Microsoft. Supported в большинстве библиотек «из коробки», есть готовые HuggingFace endpoints, sentence-transformers.

Сильные стороны:

  • Самая широкая поддержка инструментами и интеграциями
  • Меньше памяти — ~1.4 ГБ VRAM при FP16 (560M параметров)
  • Хорошие результаты на multilingual benchmarks (MTEB)
  • Простая API через sentence-transformers — буквально 3 строки кода

Слабые стороны:

  • Контекст ограничен 512 токенами — нужно резать большие чанки на маленькие, теряется длинный контекст
  • На русских business-текстах объективно уступает bge-m3 family на 5-12%
  • Менее современная архитектура (XLM-R base)

Когда брать: прототипирование, ограниченное GPU, когда не нужен длинный контекст, когда важна простота интеграции.

Бенчмарки: что говорят публичные лидерборды

Конкретные цифры recall на именно ваших русских документах зависят от домена и способа чанкинга — поэтому ориентируйтесь на публичные бенчмарки как относительный ориентир, а не как гарантированный результат.

MTEB (Massive Text Embedding Benchmark) — главный публичный лидерборд для эмбеддеров. Раздел «Retrieval» содержит русскоязычные задачи. Актуальные позиции моделей — на huggingface.co/spaces/mteb/leaderboard (фильтр: Language = Russian, Task = Retrieval).

По состоянию на май 2026 года на MTEB-Retrieval для русского языка картина такова:

  • BAAI/bge-m3 — сильный multilingual baseline, устойчиво входит в топ многоязычных моделей. Подробнее — на странице модели.
  • deepvk/USER-bge-m3 — fine-tune bge-m3 на русских текстах, на узких русских доменах (юридические, медицинские) обычно превосходит базовую модель по recall, но уступает ей на смешанных RU+EN корпусах.
  • intfloat/multilingual-e5-large — исторически сильная модель с широкой экосистемной поддержкой, но контекст ограничен 512 токенами, что снижает recall на длинных чанках.

Для точного сравнения под ваш домен — рекомендуем прогнать все три на 50-100 ваших реальных парах «запрос — релевантный чанк» перед выбором.

Главный принцип: разница между bge-m3 base и fine-tuned версией DeepVK особенно заметна на узкоспециализированных текстах — на длинной дистанции это даёт значимое улучшение качества ответов.

Реранкер: почему он критичен

Эмбеддер находит топ-20 кандидатов. Реранкер пересортирует их по более точной метрике, оставляя топ-3-5 для отправки в LLM.

Стандартная связка:

  • Эмбеддер: deepvk/USER-bge-m3 (находит 20 кандидатов)
  • Реранкер: BAAI/bge-reranker-v2-m3 (выбирает топ-5)
  • LLM: Llama 3.3 70B / Qwen 3 / Gemma 4 (генерирует ответ из топ-5)

Без реранкера качество финального ответа падает на 10-20%. Эмбеддеры быстры но грубы; реранкеры точны но медленны. Их связка — оптимум.

Какую размерность вектора выбрать?

Все три модели выдают 1024-мерный вектор. Это удобный размер: достаточно богатый для семантики, не слишком тяжёлый для хранения.

Альтернативы:

  • 384-мерные эмбеддеры (типа paraphrase-multilingual-MiniLM-L12-v2) — в 2.5 раза меньше памяти, но качество на русском business сильно хуже. Подходит для прототипов, не для production.
  • 3072-мерные (типа OpenAI text-embedding-3-large через прокси) — лучше качество на 2-4%, но в 3 раза больше памяти. Не оправдано для большинства кейсов.

Hybrid search: dense + BM25

Чисто векторный поиск иногда промахивается на запросах с конкретными именами/числами/кодами. Гибридная схема — комбинация dense vector search и классического BM25 (текстовый поиск по ключевым словам) — даёт +5-10% recall на сложных запросах.

В Weaviate hybrid search встроен из коробки: вы задаёте запрос, выставляете коэффициент alpha=0.7 (70% веса векторам, 30% — BM25), и получаете объединённый ранжированный список.

Рекомендации под задачи

ЗадачаЭмбеддерРеранкер
Русские договоры, регламенты, методичкиdeepvk/USER-bge-m3bge-reranker-v2-m3
Мультиязычная документация (RU+EN)BAAI/bge-m3bge-reranker-v2-m3
Прототип / proof-of-conceptmultilingual-e5-largeможно без реранкера
Production с большой нагрузкойdeepvk/USER-bge-m3 + Hybridbge-reranker-v2-m3
Узкая отрасль (медицина, юриспруденция)deepvk/USER-bge-m3 + custom fine-tunebge-reranker-v2-m3

Что часто упускают

Качество эмбеддера зависит от чанкинга. Даже самая точная модель будет плохо работать если документы порублены неудачно. Хороший чанкер режет по логическим границам (параграфы, секции) и держит таблицы атомарно.

Recall — не единственная метрика. Стоит также мерить Mean Reciprocal Rank (MRR) — как высоко в выдаче находится правильный ответ. Идеально 0.9+ для production.

Tuning важнее модели. Мы не раз видели как бизнес-команда выбирала «самую крутую» модель но проигрывала команде с более простой моделью и качественным fine-tuning’ом на корпоративных текстах. Обучение на 1000 размеченных пар «вопрос-чанк» даёт +10-15% recall.

Итог

Для русского B2B-RAG в 2026 году sweet spot — deepvk/USER-bge-m3 + bge-reranker-v2-m3. На английских fragments или мультиязычных проектах — BAAI/bge-m3 без потери качества.

В AGmind эта связка работает из коробки: бэкенд автоматически переключается между bge-m3 и USER-bge-m3 в зависимости от detected language документов. Hybrid search активен по умолчанию.

Если интересно протестировать на ваших документах — пилот за 2-3 недели от 100 000 ₽ включает выбор и тюнинг эмбеддера под вашу специфику. Сравнение моделей side-by-side на ваших данных — стандартная часть аудита.

Технические подробности нашего стека — в статье про DGX Spark и статье про RAG.