Перейти к основному содержимому

Основы

Что такое эмбеддинги?

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

Все разборы · Последняя проверка:

Список чисел вместо смысла

Модель эмбеддингов читает фрагмент текста — слово, предложение, абзац, иногда целый документ — и выдаёт вектор фиксированной длины: упорядоченный список чисел, обычно из сотен или тысяч элементов. Этот вектор — не читаемое человеком краткое изложение; это позиция в математическом пространстве, которое модель выучила во время обучения, устроенном так, что тексты со связанным смыслом оказываются рядом друг с другом.

Рядом оказывается похожий смысл, а не похожее написание

Два предложения, почти не имеющие общих слов, но означающие примерно одно и то же, могут дать близкие друг к другу векторы, потому что модель эмбеддингов во время обучения выучила связи между понятиями, а не только то, какие буквы встречаются. И наоборот, два предложения с множеством общих слов, но разным смыслом, могут оказаться далеко друг от друга. Это ключевое отличие поиска на основе эмбеддингов от сопоставления по точным ключевым словам.

Близость измеряется, а не оценивается на глаз

Когда текст представлен в виде векторов, сравнение смысла превращается в геометрическую задачу: оценка сходства, вычисляемая между двумя векторами, чаще всего по тому, насколько они направлены в одну сторону. Поиск в большой коллекции означает вычисление этой оценки между вектором запроса и каждым сохранённым вектором с последующим возвратом ближайших совпадений — одна и та же операция, есть ли в коллекции сто записей или сто миллионов.

Эмбеддинги разных моделей нельзя смешивать

Как и словарь токенизатора, векторное пространство модели эмбеддингов специфично именно для этой модели и того, как она обучалась. Вектор, созданный одной моделью эмбеддингов, не имеет осмысленного сравнения с вектором, созданным другой моделью, даже если у обоих векторов одинаковое число измерений. Смена модели эмбеддингов означает пересоздание эмбеддингов для всего уже сохранённого, а не только для нового контента вперёд.

Задача модели эмбеддингов отличается от задачи языковой модели

Языковая модель генерирует текст, токен за токеном, из запроса. Модель эмбеддингов ничего не генерирует — она превращает текст в вектор и на этом останавливается. Одни системы используют одну и ту же базовую модель для обеих задач, другие — две совершенно отдельные модели; в любом случае вектор, полученный на шаге эмбеддинга, сам по себе не является ответом, а лишь тем, что можно сравнивать на шаге поиска или сопоставления.

Где это применяется на практике

Эмбеддинги — это то, что делает возможной генерацию с дополнением через поиск; о том, как поиск сочетается с языковой моделью, читайте в статье о том, что такое RAG, — но та же техника лежит и в основе семантического поиска по обращениям в поддержку или документации, сопоставления похожих прошлых разговоров, удаления почти одинакового контента и группировки связанных элементов без ручной разметки категорий.

Частые вопросы

Эмбеддинг — это то же самое, что токен?
Нет. Токен — дискретная единица текста, которую языковая модель читает или пишет по одной за раз. Эмбеддинг — непрерывный вектор, представляющий смысл более крупного фрагмента текста, полученный отдельным шагом, который ничего не генерирует.
Можно ли сравнивать эмбеддинги, созданные двумя разными моделями?
Осмысленно — нет. Каждая модель эмбеддингов определяет своё собственное векторное пространство во время обучения, поэтому расстояние, означающее «очень похоже» в пространстве одной модели, не имеет определённого смысла в пространстве другой модели, даже при одинаковой длине векторов.
Означает ли больший вектор эмбеддинга более качественный поиск?
Само по себе — нет. Больше измерений может передавать больше нюансов, но качество зависит от того, на чём обучалась модель и насколько это соответствует вашему контенту, а не только от числа измерений.
Можно ли восстановить исходный текст по эмбеддингу?
Точное восстановление обычно непрактично, но эмбеддинг всё равно получен напрямую из вашего контента и при некоторых атаках может раскрыть значимую информацию о нём. Относитесь к сохранённым эмбеддингам чувствительного текста с той же осторожностью, что и к самому тексту, а не как к уже обезличенным данным.

Лучше попробовать, чем читать

Функции памяти и пакетов контекста ClawAI создают эмбеддинги локально через Ollama и хранят их в векторной базе данных для поиска по сходству, а не отправляют ваш контент во внешний облачный API эмбеддингов для этой цели.