Эмбеддинг

Эмбеддинг — числовое векторное представление текста, изображения или другого объекта. Оно позволяет сравнивать данные по определенным признакам, в том числе находить смысловое сходство между текстами.

Как создаются эмбеддинги

Текст, изображение или другой объект передается специальной модели, которая преобразует его в последовательность чисел фиксированной длины. Полученная последовательность называется векторным представлением.

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

Размерность и свойства вектора зависят от конкретной модели эмбеддингов.

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

Как эмбеддинги помогают находить похожие тексты

Обычный поиск по ключевым словам ориентируется на совпадения слов и выражений. Семантический поиск с помощью эмбеддингов позволяет учитывать близость значений.

Например, запросы «Как вернуть покупку?» и «Какие условия возврата товара?» содержат разные слова, но имеют похожий смысл.

Модель эмбеддингов может преобразовать эти фразы в близкие векторы. Поисковая система сравнивает их с векторами документов и выбирает наиболее релевантные результаты.

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

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

Где используются эмбеддинги

Векторные представления применяются в разных AI-системах:

  • Семантический поиск. Поиск документов и текстовых фрагментов по смыслу запроса, а не только по совпадающим словам.
  • RAG-системы. Поиск подходящих фрагментов базы знаний для передачи языковой модели в качестве дополнительного контекста.
  • Группировка данных. Объединение похожих текстов, документов или объектов в кластеры.
  • Рекомендательные системы. Сопоставление интересов пользователей с характеристиками контента или товаров.
  • Поиск похожих изображений. Сравнение визуальных объектов с использованием моделей, создающих соответствующие векторные представления.

Как эмбеддинги используются в RAG

Один из распространенных сценариев — поиск информации в базе технической документации.

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

Когда пользователь задает вопрос, система создает эмбеддинг запроса и ищет близкие векторы. Найденные фрагменты затем передаются LLM для генерации ответа.

Таким образом, эмбеддинги помогают определить, какую информацию стоит передать модели, но сами по себе не создают текст ответа.

Важно, чтобы сравниваемые векторы принадлежали совместимому пространству представлений. Эмбеддинги разных моделей нельзя автоматически считать сопоставимыми.

Генерация с дополненным поиском (Retrieval Augmented Generation)

RAG (Retrieval-Augmented Generation) — подход к генерации ответов языковой моделью с использованием информации из внешних источников. Найденные данные добавляются в контекст запроса, позволяя модели учитывать дополнительные сведения без переобучения.

Посмотреть термин

Токен (Token)

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

Посмотреть термин

Большая языковая модель (Large Language Model)

LLM (Large Language Model) — большая языковая модель, обученная на огромных объёмах данных, которая способна анализировать и генерировать текст, включая программный код, на основе переданного запроса и доступного контекста. LLM используются как основа многих современных чат-ботов, AI-помощников и инструментов для программирования.

Посмотреть термин
Эмбеддинг (Embedding) – что это такое в ИИ