Эмбеддинги для русского языка в 2026: старые модели можно выбрасывать
Исследовал для себя.
Если вы строите RAG-систему, поисковый движок или что-то связанное с семантикой русского текста — у нас хорошие новости. Начало 2026-го перевернуло расклад сил на рынке открытых эмбединг-моделей. BERT-модели, которые мы тянули с 2020-х, наконец-то можно отпустить с миром. На их место пришли два тяжеловеса: российская GigaEmbeddings от Sber AI Sage и китайская серия Qwen3-Embedding от Alibaba. И оба можно запустить на домашней видеокарте.
Давайте разберемся что произошло, почему это важно и какую модель выбрать под конкретную задачу.
Почему BERT-эмбеддинги больше не тянут
Долгие годы стандартом де-факто были модели вроде ruBERT от DeepPavlov, LaBSE или multilingual-e5. Работали. Но у них есть проблема котрую нельзя обойти красиво: 512 токенов максимум. Это примерно один абзац юридического документа, или полстраницы технической документации.
Что приходилось делать на практике? Резать текст на куски, гонять каждый через модель, потом как-то склеивать векторы обратно. Скользящее окно, усреднение... и неизбежая потеря контекста. Если ключевая мысль начиналась в конце одного чанка и заканчивалась в начале другого — вектор получался бессмысленным.
А еще старые модели не понимали инструкций. Один и тот же вектор для поиска, классификации, кластеризации. Хочешь другое поведение? Меняй модель или дообучай. Ну такое себе, честно говоря.
Короче, архитектурный потолок BERT-энкодеров достигнут. Квадратичная сложность механизма внимания не позволяет масштабировать контекст без экспоненциального роста потребления памяти.
Что пришло на замену: декодеры учатся понимать, а не только генерировать
Тут самое интересное. Новое поколение эмбеддинг-моделей построено на архитектуре decoder-only. Да той самой, что лежит в основе ChatGPT и подобных генеративных моделей. Только вместо генерации текста их научили создавать плотные смысловые представления.
Что дает новый подход:
- Контекст от 4096 до 32 000 токенов. Flash Attention 2 и оптимизированные позиционные кодировки (RoPE) позволяют скормить модели целую главу книги, и она переварит.
- Инструктивная настройка. Модель понимает текстовые команды на естественном языке — один и тот же движок работает как поисковик, классификатор или кластеризатор. Зависит от того что вы ему скажете.
- Matryoshka Representation Learning (MRL). Можно урезать размерность выходного вектора с 4096 до скажем 256, теряя при этом меньше 2% качества. Экономия места в векторной базе данных — в разы.
Кстати, название MRL не случайно отсылает к матрешке. Вектор устроен так что его первые N измерений уже несут основную семантическую нагрузку. Можно «раскрывать» больше слоев для большей точности или «закрывать» для экономии ресурсов.
GigaEmbeddings: наконец-то суверенная модель, которая реально работает
Начнем с российского флагмана. GigaEmbeddings (полное имя на HuggingFace: ai-sage/Giga-Embeddings-instruct) от команды Sber AI Sage. Модель построена на базе декодерной LLM GigaChat-3B которая изначально проектировалась под русский язык. Это не «русский как один из ста языков в обучающей выборке», а целенаправленная работа с русскоязычными данными.
Как её обучали
Процесс обучения трехступенчатый, каждый этап делает свое дело:
- Контрастивное предобучение на веб-данных — модель учится отличать семантически близкие тексты от далеких.
- Fine-tuning с жесткими негативами. Тут начинается ювелирная работа: модель учится различать правильный ответ и очень похожий но неверный. Для точности поиска это критично.
- Мультизадачное обучение с инструкциями — адаптация под разные сценарии через естественный язык.
Вместо стандартного Mean Pooling (усреднения всех токенов) тут используется Latent Attention Pooling. Разница примерно как между тем чтобы взять среднее арифметическое всех слов в предложении, и выделить из них ключевые. Второй подход очевидно умнее.
Еще один архитектуный ход — разработчики отсекли 25% слоев трансформера (pruning), снизив требования к памяти без заметного падения метрик. Агрессивно, но результат говорит сам за себя.
Цифры
ПараметрЗначениеКоличество параметров~3 млрд (после прунинга)Контекстное окно4096 токеновСредний балл ruMTEB69.1ЛицензияMITVRAM (FP16/BF16)~7-8 ГБVRAM (4-bit квантование)~3-4 ГБ
RTX 3060 или 4060 хватит для полноценного запуска в FP16. С 4-битным квантованием модель влезет даже на ноутбучную карту с 4 ГБ памяти. Ну и MIT-лицензия снимает все вопросы по коммерческому использованию.
Qwen3-Embedding: когда масштаб решает
Если GigaEmbeddings берет глубиной понимания русского языка, то серия Qwen3-Embedding от Alibaba Cloud берет масштабом. Три размера на любой бюджет:
МодельПараметрыКонтекстРазмерность вектораVRAM (4-bit)Qwen3-Embedding-0.6B600 млн32k1024< 1 ГБQwen3-Embedding-4B4 млрд32kдо 2560~3.5 ГБQwen3-Embedding-8B8 млрд32kдо 4096~6.5 ГБ
Да, вы правильно прочитали: 32 000 токенов контекста у всех трех. Целые главы книг, полные юридические договоры, большие фрагменты кодовых баз. Без дробления. Без костылей.
Флагманская 8B-версия набирает 70.58 на глобальном бенчмарке MTEB. При том что она обходит многие проприетарые решения с закрытыми весами.
Devhack: Поддержка MRL в Qwen3 позволяет использовать модель 8B, но сохранять векторы размерностью 512 вместо 4096. Экономия места в базе (Qdrant, Milvus, Weaviate) в 8 раз при потере качества поиска менее 2%. Для продакшена с миллионами документов это может быть разницей между «влезает в RAM» и «нужен отдельный сервер».
Лицензия Apache 2.0 — максимально открытая из возможных.
Лобовое сравнение: ruMTEB расставляет точки
Бенчмарк ruMTEB (Russian Massive Text Embedding Benchmark) появился в 2025-м, включает 23 датасета по 7 категориям: классификация, кластеризация, поиск, переранжирование, семантическая близость и другие. Первый по-настоящему комплексный тест для русского языка.
Сводная таблица по ключевым открытым моделям:
МодельПараметрыКонтекстruMTEB (ср.)VRAM (4-bit)Qwen3-Embedding-8B8B32k~70.6~6.5 ГБQwen3-Embedding-4B4B32k~69.5~3.5 ГБGigaEmbeddings3B4k~69.1~3.0 ГБmultilingual-e5-large0.6B512~65.5~1.5 ГБKaLM-Embedding-V20.5B8k~58-64*< 1 ГБru-en-RoSBERTa~0.3B512базовый< 1 ГБ
*Оценка KaLM по мультиязычным тестам AIR-Bench, точные данные ruMTEB могут отличаться.
Что мы видим
Формально Qwen3-8B на первом месте. Но разница с GigaEmbeddings — 1-1.5 пункта, на практике это часто неразличимо. Зато GigaEmbeddings весит вдвое меньше и «нативно» понимает русские культурные и лингвистические нюансы.
Модели предыдущего поколения (e5, RoSBERTa) отстают на 4-5 пунктов и больше. Их имеет смысл использовать в 2026-м только если GPU вообще нет, или критична задержка ответа в несколько миллисекунд.
По сути выбор между GigaEmbeddings и Qwen3 сводится к двум вопросам. Нужен контекст больше 4000 токенов? Qwen3. Работаете исключительно с русским текстом и важна каждая крупица качества на специфичных доменах? GigaEmbeddings.
Практика: как это запустить у себя
Ок, теория хороша, но давайте к делу. Что нужно чтобы все это завелось на локальной машине.
Софт
Библиотека transformers должна быть версии не ниже 4.51.0 — это важно. Поддержка архитектур GigaChat и Qwen3 добавлена только в конце 2025-го. Старые версии просто не распознают модель. Также рекомендуется sentence-transformers версии 5.1.1+.
Если планируете работать с контекстом больше 2048 токенов, установка flash-attn обязательна. Без нее потреблние памяти растет квадратично, и даже RTX 4090 может упасть с OOM.
Инструкции (не игнорируйте!)
Обе топовые модели требуют специфического формата запросов. Пропуск инструкций может стоить 10-15% качества в задачах поиска, как по мне это слишком дорого.
Для GigaEmbeddings:
Instruct: <описание задачи> Query: <ваш запрос>
Для документов (passages) инструкции обычно не нужны.
Qwen3-Embedding поддерживает аналогичную схему.
Пример кода: запуск GigaEmbeddings
import torch from transformers import AutoTokenizer, AutoModel model_name = "ai-sage/Giga-Embeddings-instruct" tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) model = AutoModel.from_pretrained( model_name, trust_remote_code=True, torch_dtype=torch.bfloat16, attn_implementation="flash_attention_2" ).cuda() task = "Given a web search query, retrieve relevant passages that answer the query" query_text = "Какие новые модели эмбеддингов вышли в 2026 году?" input_text = f"Instruct: {task}\nQuery: {query_text}" batch = tokenizer( input_text, return_tensors="pt", max_length=4096, truncation=True ).to("cuda") with torch.no_grad(): embedding = model(**batch, return_embeddings=True)
Devhack: torch_dtype=torch.bfloat16 вместо float32 экономит ровно половину видеопамяти без заметного падения качества. Если карта не поддерживает BF16 (что маловероятно для Ampere и новее) используйте float16.
Какая видеокарта нужна
- RTX 3050 / 4050 (4-6 ГБ): Qwen3-4B или GigaEmbeddings только в GGUF Q4. Полные версии не влезут.
- RTX 3060 / 4060 (8-12 ГБ): Оптимальный вариант. Qwen3-8B в GGUF Q4 или GigaEmbeddings в FP16. Для домашних экспериментов и небольшого продакшена хватит.
- RTX 3090 / 4090 (24 ГБ): Тут вообще без ограничений — любая модель в полном качестве (BF16) с большим размером батча.
Кто еще на рынке и чего ждать
KaLM-Embedding-V2
Компактная модель на 0.5B параметров которая умудряется показывать результаты, сопоставимые с моделями в 10 раз крупнее. Фокус в основном на английском и китайском, но мультиязычные тесты показывают приличную работу с русским. Для мобильных приложений и edge-устройств где каждый мегабайт на счету — самое то.
Что делают большие компании
Sber ведет агрессивную политику открытости. Релиз GigaEmbeddings и GigaChat Lite под MIT-лицензией — это по сути попытка стать стандартом де-факто для российского open-source. Стратегически грамотный ход: привязать экосистему разработчиков к себе.
Yandex делает ставку на облачный API. Мощных открытых эмбеддинг-моделей для скачивания компания пока не представила. Датасет Yambda выпустили, генеративные модели развивают, но если вам нужно запустить что-то on-premise без обращения к внешним серверам — вариант от Яндекса пока отсутствует.
MTS AI и T-Bank активны в исследованиях (детоксификация, кодинг-ассистенты, архитектуры вроде ReBased), но в открытые эмбеддинг-модели общего назначения пока вложились значительно скромнее.
Итого: что выбрать прямо сейчас
Февраль 2026-го, на мой взгляд, можно зафиксировать как точку когда открытые модели для русского языка перестали быть компромиссом. Они не «почти дотягивают» до проприетарных API — они на одном уровне, а иногда и выше. При полном контроле над данными.
Короткая шпаргалка:
- Русский текст, юридика, культурная специфика, контекст до 4000 токенов -> GigaEmbeddings. Меньше, легче, «роднее».
- Длинные документы, код, мультиязычность, контекст до 32k -> Qwen3-Embedding-8B (или 4B если карта скромная).
- Мобилка, edge, CPU -> Qwen3-Embedding-0.6B или KaLM-V2.
- Нет GPU и нет бюджета -> multilingual-e5-large. Устаревает но все еще рабочий вариант.
Открытые модели запускаемые на домашнем железе теперь играют в высшей лиге. Осталось только выбрать какую именно поставить.
Если интересно - пишите в комментах, поделюсь реальным использованием для боевых проектов на проде.