Эмбеддинги: как тексты и изображения превращаются в векторы
Эмбеддинг — векторное представление объекта (текста, изображения, аудио), полученное через нейросетевую модель. На первый взгляд скучная математическая абстракция, но именно эмбеддинги делают возможным семантический поиск, RAG-системы, рекомендательные движки, классификаторы документов. Когда Spotify предлагает похожие треки, Google ищет страницы по смыслу, а корпоративный бот находит ответ в документации — везде под капотом работают эмбеддинги.
В этой статье — что такое эмбеддинги на доступном языке, как они работают, какие embedding-модели лидируют в 2026 году, чем отличаются текстовые от мультимодальных, как выбрать модель под задачу и сколько стоит работа с эмбеддингами в production.
Что такое эмбеддинги
Эмбеддинг — это вектор фиксированной размерности, обычно от 128 до 4096 чисел с плавающей точкой, представляющий какой-то объект. Числа сами по себе не интерпретируемы человеком, но обладают важным свойством: близкие по смыслу объекты имеют близкие векторы.
Простая иллюстрация. Возьмём текстовые эмбеддинги размерности 1536 (OpenAI text-embedding-3-small). Тексты «Привет, как дела» и «Здравствуйте, как поживаете» дадут две точки в 1536-мерном пространстве, расположенные близко друг к другу. Текст «Курс доллара на сегодня» окажется далеко от обоих — другая тема, другие векторы.
Это и есть суть эмбеддингов: переводить смысл в геометрию. Дальше можно использовать математические операции: измерять близость, искать ближайшие, кластеризовать, классифицировать.
Зачем нужны эмбеддинги
Эмбеддинги — это инфраструктура для целого класса задач:
- Семантический поиск. Поиск по смыслу, а не по совпадению слов. Запрос «как настроить SSL» находит документ «руководство по HTTPS-сертификатам», хотя слов в запросе нет в документе.
- RAG. Основа извлечения контекста для LLM. Без эмбеддингов RAG не работает.
- Кластеризация. Группировка похожих документов, отзывов, тикетов, новостей.
- Классификация. Сравнение эмбеддингов нового объекта с эталонными векторами категорий.
- Рекомендательные системы. «Похожие товары», «вам также понравится» строятся на близости эмбеддингов.
- Дедупликация. Поиск похожих или дублирующих документов в больших корпусах.
- Anomaly detection. Поиск выбросов — объектов, далёких от всех остальных в пространстве.
- Перевод и трансляция. Многоязычные эмбеддинги отображают тексты на разных языках в одно пространство.
- Multimodal приложения. Поиск изображений по тексту и наоборот.
История: от Word2Vec до современных эмбеддингов
| Год | Метод | Прорыв |
|---|---|---|
| 2013 | Word2Vec | Эмбеддинги слов с семантическими операциями |
| 2014 | GloVe | Альтернатива Word2Vec на основе матрицы сочетаемости |
| 2017 | FastText | Эмбеддинги на уровне символов и подслов |
| 2018 | ELMo | Контекстуальные эмбеддинги — слово зависит от контекста |
| 2019 | BERT | Двунаправленный энкодер на трансформерах |
| 2021 | Sentence-BERT | Эффективные эмбеддинги предложений |
| 2022 | OpenAI text-embedding-ada-002 | API-сервис для эмбеддингов |
| 2023 | BGE, E5 | Open-source-модели уровня OpenAI |
| 2024 | text-embedding-3, Voyage | Мультиязычность, гибкая размерность |
| 2025–2026 | Specialized embeddings | Доменные модели, расширение мультимодальности |
Word2Vec в 2013 году произвёл революцию — впервые показал, что векторные операции отражают семантику. Знаменитый пример: vector(‘король’) − vector(‘мужчина’) + vector(‘женщина’) ≈ vector(‘королева’). Это математически демонстрировало, что модель «понимает» гендерные отношения.
Все современные эмбеддинги — потомки этой идеи, усиленной архитектурой Transformer и обучением на огромных корпусах данных.
Как работают эмбеддинги
Получение эмбеддинга — двухэтапный процесс на стороне модели:
- Токенизация. Текст разбивается на токены (части слов, обычно 0.5–1.5 токена на слово в английском, 1–3 в русском).
- Прохождение через нейросеть. Токены подаются в Transformer-модель, обученную создавать векторные представления.
- Агрегация. Векторы отдельных токенов объединяются в один вектор всего текста через mean pooling, [CLS] token (для BERT-стиля) или другие техники.
- Нормализация. Часто финальный вектор нормализуется (длина = 1) для эффективного использования cosine similarity.
Качество эмбеддингов определяется тем, насколько хорошо модель обучилась отображать семантическую близость в геометрическую. Это нетривиальная задача: модель должна понимать, что «купить» и «приобрести» близки, а «банк реки» и «банковский счёт» — далеки.
Размерность эмбеддингов
Типичные размерности современных эмбеддингов:
| Размерность | Применение | Trade-off |
|---|---|---|
| 128–384 | Mobile, edge-устройства | Высокая скорость, ниже точность |
| 512–768 | Стандартные приложения | Баланс скорости и качества |
| 1024–1536 | Большинство production-систем | Стандарт 2026 года |
| 2048–4096 | Премиум-качество | Высокая точность, выше стоимость хранения |
Чем выше размерность, тем больше «информации» вектор может содержать, но и тем дороже хранение и поиск. Линейная зависимость: 1 миллион векторов размерности 1536 в float32 занимает около 6 ГБ.
Современные модели (OpenAI text-embedding-3, Matryoshka-эмбеддинги) поддерживают «гибкую размерность»: один вектор содержит вложенные представления разной размерности. Можно использовать первые 512 измерений как low-cost вариант, а полные 1536 — для критичных задач.
Embedding-модели 2026 года
| Модель | Тип | Размерность | Особенности |
|---|---|---|---|
| OpenAI text-embedding-3-small | API | 1536 (truncated) | Стандарт качество/цена |
| OpenAI text-embedding-3-large | API | 3072 | Премиум-качество |
| Cohere Embed v3 | API | 1024 | Лидер в мультиязычности |
| Voyage AI | API | 1024–2048 | Доменные специализации |
| Google text-embedding-004 | API | 768 | Интеграция с Vertex AI |
| BGE-large-v1.5 | Open-source | 1024 | Лидер open-source |
| BGE-M3 | Open-source | 1024 | Мультиязычность, sparse + dense |
| E5-large-v2 | Open-source | 1024 | Сильная альтернатива BGE |
| multilingual-e5-large | Open-source | 1024 | 100+ языков, для русского |
| Nomic Embed | Open-source | 768 | Полностью open weights и data |
| GTE-large | Open-source | 1024 | Сильный generalist |
Лидеры benchmark MTEB (Massive Text Embedding Benchmark) меняются регулярно — каждый месяц появляются новые модели. Перед production-внедрением стоит свериться с актуальным рейтингом на сайте Hugging Face или MTEB Leaderboard.
Мультиязычные эмбеддинги
Большинство embedding-моделей тренируются преимущественно на английском. Для русского, белорусского, казахского языков качество существенно ниже, если не использовать специализированные мультиязычные модели.
Лидеры мультиязычности:
- multilingual-e5 — 100+ языков, лидер open-source для русского
- BGE-M3 — мультиязычность плюс sparse+dense гибрид
- Cohere Embed v3 multilingual — лучшее API-решение
- jina-embeddings-v3 — 89 языков, open-source
- multilingual-MiniLM — лёгкая модель для edge
Важно тестировать модель на собственных данных. Заявленная поддержка языка не гарантирует одинаковое качество — английский часто работает лучше всех остальных.
Доменные эмбеддинги
Универсальные модели хорошо работают на широком корпусе, но проигрывают на узкоспециализированных областях. Решения:
Готовые доменные модели
- BioBERT, SciBERT — биология, медицина
- FinBERT — финансы
- Legal-BERT — юриспруденция
- CodeBERT, GraphCodeBERT — код
- Voyage Code — специализированные embeddings для кодовых баз
Fine-tuning эмбеддингов под домен
Дообучение универсальной модели на парах «релевантный текст — нерелевантный текст» из вашей области. Заметно улучшает качество поиска в специфических доменах. Реализуется через sentence-transformers framework.
Когда нужны доменные эмбеддинги
- Специализированная терминология (медицина, юриспруденция)
- Узкие технические термины с многозначностью
- Корпоративный жаргон, внутренние названия продуктов
- Языки с малой долей в обучающих данных
Для большинства бизнес-приложений универсальные мультиязычные модели работают достаточно хорошо. Доменная настройка — для специфических случаев с измеримой выгодой.
Image embeddings и CLIP
Эмбеддинги существуют не только для текста. Image embeddings представляют изображения как векторы.
CLIP (Contrastive Language-Image Pre-training) — модель OpenAI 2021 года, обученная одновременно на парах «изображение — текст». Это создало общее пространство для изображений и текстов: текст «кошка на диване» и фото кошки на диване имеют близкие векторы.
Применения image embeddings:
- Visual search. Поиск похожих изображений в базе.
- Text-to-image search. Поиск изображений по текстовому запросу.
- Image-to-image search. «Найди похожие на это фото».
- Классификация изображений. Через близость к эталонным векторам.
- Дедупликация фото. Обнаружение копий и схожих изображений в больших коллекциях.
Современные альтернативы CLIP: SigLIP (Google), OpenCLIP (LAION), Jina CLIP. Они улучшают качество и поддержку языков.
Multimodal embeddings
Развитие CLIP — мультимодальные эмбеддинги, которые работают одновременно с несколькими типами данных: текст, изображения, аудио, видео.
Лидеры:
- ImageBind (Meta) — текст, изображения, аудио, видео, тепловые карты, depth в одном пространстве
- Vertex AI Multimodal Embeddings — Google для текста и изображений
- Voyage multimodal — текст + изображения
- Cohere Embed v3 (multimodal) — мультимодальное расширение
Применения: поиск по содержанию (видеоархивы, медиатеки), кросс-модальные рекомендации, мультимодальные RAG-системы.
Как выбрать embedding-модель
Шаг 1. Определить требования
- Язык контента (русский, английский, мультиязычность)
- Домен (общий, медицина, юриспруденция, код)
- Объём данных (тысячи, миллионы, миллиарды векторов)
- Latency-требования
- Бюджет
- Privacy-требования
Шаг 2. Кандидаты
- API-only: OpenAI, Cohere, Voyage
- Open-source: BGE, E5, GTE, Nomic
- Доменные: BioBERT, FinBERT, Legal-BERT
Шаг 3. Бенчмарк
Собрать репрезентативный тестовый набор (100–500 пар «запрос — релевантный документ»). Прогнать через каждую кандидатскую модель. Измерить:
- Recall@k (доля релевантных в топ-k результатов)
- MRR (Mean Reciprocal Rank)
- NDCG (нормализованный discounted cumulative gain)
Шаг 4. Учёт операционных факторов
- Стоимость embedding’ов
- Стоимость хранения векторов
- Стоимость inference
- Поддержка вендором
Выбор — компромисс между качеством, стоимостью и операционными требованиями.
Стоимость эмбеддингов
| Модель | Стоимость (за 1M токенов) |
|---|---|
| OpenAI text-embedding-3-small | ~$0.02 |
| OpenAI text-embedding-3-large | ~$0.13 |
| Cohere Embed v3 | ~$0.10 |
| Voyage AI | ~$0.10–0.18 |
| Open-source self-hosted | Только инфраструктура (GPU/CPU) |
Пример расчёта. Embedding миллиона документов средней длины 1000 токенов:
- OpenAI small: 1 млрд токенов × $0.02 = $20
- OpenAI large: 1 млрд × $0.13 = $130
- Cohere: 1 млрд × $0.10 = $100
На больших объёмах разница становится значительной. Также стоит учитывать стоимость embedding’ов запросов (тысячи в час для активного поиска).
Open-source self-hosted: стоимость зависит от GPU. Inference на хорошей RTX 4090 — несколько тысяч embeddings/сек, что покрывает большинство задач при стоимости электричества.
Типичные ошибки
- Использование универсальной модели для специфического домена. На медицинских или юридических текстах общая модель уступает специализированной на 10–30%.
- Игнорирование языковой специфики. Английская модель для русского даёт средне-плохой результат. Берите multilingual или Russian-specific.
- Слишком высокая размерность «на всякий случай». 3072 вместо 1024 утраивает стоимость хранения без существенного улучшения качества.
- Отсутствие бенчмарка перед выбором. Выбор модели «по отзывам» вместо тестирования на своих данных — частая ошибка.
- Смешивание embedding-моделей. Векторы от разных моделей не сопоставимы. Документы и запросы должны эмбеддиться одной моделью.
- Игнорирование нормализации. Многие модели возвращают ненормализованные векторы. Без нормализации cosine similarity и dot product не эквивалентны.
- Чрезмерно длинные чанки для эмбеддинга. Большинство моделей обучены на 512 токенов. Длиннее — деградация качества.
- Эмбеддинг весь документ целиком. Для RAG лучше чанкировать — иначе поиск возвращает «весь документ» вместо релевантной части.
- Vendor lock-in. Полная зависимость от API одного провайдера. Open-source альтернативы дают свободу.
- Игнорирование обновлений моделей. Новые embedding-модели появляются каждые 3–6 месяцев. Перепроверка раз в полгода — полезная практика.
Часто задаваемые вопросы
В чём разница между эмбеддингами и обычными векторами?
Эмбеддинги — векторы, полученные нейросетевой моделью с целью сохранения семантики. Обычный вектор — просто массив чисел без специальных свойств. «Все эмбеддинги — векторы, но не все векторы — эмбеддинги».
Можно ли использовать эмбеддинги для русского языка?
Да, через мультиязычные модели (multilingual-e5, Cohere multilingual, BGE-M3, jina-embeddings-v3). Качество для русского у этих моделей хорошее, но немного ниже, чем для английского.
Стоит ли обучать собственные эмбеддинги с нуля?
Почти никогда. Pre-training embedding-модели — задача масштаба десятков миллионов долларов. Альтернатива — fine-tuning существующей модели под свой домен на парах «запрос — релевантный документ».
Эмбеддинги меняются при обновлении модели?
Да. Новая версия модели даёт другие векторы. При переходе нужно пересчитать все эмбеддинги в базе. Это серьёзная операция для больших коллекций.
Можно ли «расшифровать» эмбеддинг обратно в текст?
В общем случае нет. Embedding-модель — однонаправленная: текст → вектор. Обратное преобразование (vec2text) теоретически возможно, есть исследования, но на практике используется редко.
Сколько векторов поместится в память?
Размерность 1024 в float32 = 4 КБ на вектор. 1 миллион векторов = 4 ГБ. 100 миллионов = 400 ГБ. Для больших коллекций используются специализированные векторные БД с дисковым хранением и индексами.
Заключение
Эмбеддинги — фундаментальный компонент современного AI-стека. Без понимания того, как они работают и как выбирать модели, невозможно построить качественный RAG, семантический поиск или рекомендательную систему. Хорошая новость — порог входа низкий: рабочая система с OpenAI embeddings или open-source BGE собирается за день. Сложность появляется при масштабировании и оптимизации под специфические задачи. Команды, которые относятся к эмбеддингам как к инфраструктурному выбору с тестами и метриками, получают существенно лучшие результаты, чем те, кто использует «первую попавшуюся модель из туториала».