эмбеддинг
Эмбеддинг (embedding, векторное представление) — числовой вектор в многомерном пространстве, который кодирует смысл и свойства объекта — слова, предложения, изображения, пользователя или любой другой сущности. Близость объектов в реальном мире отражается в близости их векторов: синонимы расположены рядом, антонимы дальше, тематически связанные концепции формируют кластеры.
Идея и интуиция
Компьютер не понимает слова — только числа. Ранние подходы (one-hot encoding) кодировали слова как разреженные бинарные векторы длиной N (размер словаря), где 1 стоит на позиции данного слова. Такое представление не несёт семантики: «кот» и «кошка» одинаково далеки, как «кот» и «автомобиль».
Эмбеддинги решают это: плотный вектор размерностью 256–4096 чисел отражает положение в семантическом пространстве. Знаменитый пример: vector(«король») − vector(«мужчина») + vector(«женщина») ≈ vector(«королева»). Арифметика над эмбеддингами работает как арифметика над смыслами.
Как обучаются эмбеддинги
Word2Vec и GloVe
Классические методы 2013–2014 годов. Word2Vec обучается предсказывать соседние слова по центральному (Skip-gram) или центральное по соседним (CBOW). GloVe учитывает глобальную статистику совместной встречаемости слов. Результат — статические эмбеддинги: слово имеет один фиксированный вектор вне зависимости от контекста.
Контекстуальные эмбеддинги
BERT, ELMo и их наследники генерируют разные векторы для одного слова в разных контекстах: «банк» в «река с крутым берегом» и «я открыл счёт в банке» получают разные представления. Это фундаментальный прогресс по сравнению с Word2Vec.
Sentence и Document эмбеддинги
Специализированные модели (Sentence-BERT, E5, BGE, text-embedding-ada-002) кодируют целые предложения и абзацы в единый вектор. Обучаются на парах «похожих» предложений с контрастивными функциями потерь (cosine similarity, triplet loss).
Применение эмбеддингов
Семантический поиск
Запрос «лекарство от головной боли» найдёт документы о парацетамоле, аспирине, мигрени — хотя точных слов нет. Векторный поиск работает по смыслу, а не по ключевым словам.
Рекомендательные системы
Пользователи и товары кодируются в общем пространстве. Рекомендации — ближайшие соседи пользователя среди товаров. Именно так работают YouTube, Spotify, Amazon.
Кластеризация и анализ текстов
Тематическое моделирование, дедупликация, обнаружение аномалий — всё это применяет эмбеддинги для группировки и сравнения.
Мультимодальные эмбеддинги
CLIP (OpenAI) обучает изображения и подписи к ним в общем пространстве. Текстовый запрос «рыжий кот на диване» можно использовать для поиска фотографий без разметки изображений по словам.
Параметры эмбеддингов
Размерность вектора (128, 256, 768, 1536, 3072) — больше обычно лучше, но дороже в хранении и поиске. Метрика (косинусное сходство, евклидово расстояние, dot product) — определяется архитектурой модели. Максимальная длина входа — модели ограничены числом токенов (512, 8192, 32 768).
Популярные embedding-модели
- text-embedding-3-large (OpenAI) — 3072D, отличное качество для английского.
- E5-large-v2, E5-mistral — сильные открытые модели для мультиязычного поиска.
- BGE-M3 (BAAI) — поддерживает 100+ языков, гибридный поиск.
- nomic-embed-text — открытая, конкурентоспособна с коммерческими.
- multilingual-e5 — хорошие результаты для русского языка.
Матрёшка эмбеддингов (Matryoshka Representation Learning)
Современный подход: начальные N измерений вектора уже несут максимум информации. Можно обрезать вектор 1536D до 256D с небольшой потерей качества — это снижает стоимость хранения и поиска без переиндексации. text-embedding-3 от OpenAI поддерживает этот метод нативно.
Частые вопросы
Какую размерность эмбеддинга выбрать?
Для большинства задач 768–1536 измерений обеспечивают хороший баланс качества и производительности. Меньшие размерности (128–256) подходят для мобильных приложений и edge-устройств. Большие (3072+) дают прирост на сложных semantic tasks, но увеличивают затраты на хранение и поиск.
Работают ли эмбеддинги для русского языка?
Да, но нужно выбирать мультиязычные модели. BGE-M3, multilingual-e5-large, LaBSE хорошо работают на русском. Для специализированных доменов (юриспруденция, медицина) рекомендуется дообучить модель на соответствующих данных или использовать модели, обученные специально на русском корпусе.
Как измерить качество эмбеддингов для своей задачи?
Используйте MTEB (Massive Text Embedding Benchmark) как отправную точку для выбора модели. Для конкретной задачи создайте небольшой оценочный датасет с вопросами и релевантными документами, затем измерьте Recall@k и NDCG@k для кандидатов. Данные вашего домена часто меняют ранжирование моделей по сравнению с публичными бенчмарками.
Другие термины в теме «ИИ и машинное обучение»
Не хватает деталей?
Напишите, что уточнить по теме «эмбеддинг» — это помогает улучшать материал и подсказывает, какие термины добавить дальше. Email необязателен: укажите, если хотите ответ только для вас (мы не шлём рассылки).