Понимание смысла: Как LLM работают с текстом через эмбеддинги
В мире, где информация окружает нас со всех сторон, способность быстро находить и понимать релевантные данные становится критически важной. Долгое время поиск информации основывался на простом совпадении ключевых слов. Если вы искали "машина", вы получали документы, содержащие именно это слово. Вы не нашли бы "автомобиль", "транспортное средство" или "моему Civic нужны новые тормоза", если эти слова не были явно указаны.
На протяжении десятилетий поисковые системы, такие как Google, постепенно улучшались благодаря инженерным решениям: словари синонимов связывали "машину" с "автомобилем", правила стемминга соединяли "бегущий" с "бежать", а анализ паттернов кликов показывал, что люди, ищущие "квартиры в Нью-Йорке", хотят те же результаты, что и по запросу "аренда жилья на Манхэттене". Связи между несовпадающими строками приходилось устанавливать более или менее вручную. Это был трудоемкий процесс, который не позволял компьютерам по-нанастоящему "понимать" смысл текста.
От ключевых слов к смыслу: Введение в эмбеддинги
Современные большие языковые модели (LLM), такие как Claude, изменили этот подход, предложив идею эмбеддингов (embeddings). Эмбеддинги — это способ преобразования текста в числовые координаты, где похожие концепции оказываются близко друг к другу в многомерном пространстве. Это отображение семантического пространства не является ручным; оно формируется автоматически в процессе обучения модели на огромных объемах данных.
Представьте упрощенный пример. Допустим, у нас есть коллекция документов, и мы хотим оценить каждый из них по двум параметрам: насколько он связан с динозаврами и насколько он связан с американскими горками. Документы на схожие темы окажутся рядом друг с другом на этом двухмерном графике. Например:
- Детская книга о динозаврах будет иметь высокие оценки по "динозаврам" и низкие по "горкам".
- Веб-страница о "Velocicoaster" (аттракцион на тему динозавров) будет иметь высокие оценки по "горкам" и умеренные по "динозаврам".
- Энциклопедия, охватывающая множество тем, может иметь средние оценки по обоим параметрам.
Таким образом, мы только что отобразили смысл в 2D-пространстве, расположив нашу коллекцию элементов на основе их содержания. Теперь, чтобы найти ответ на вопрос, например, "Какой самый лучший аттракцион на тему динозавров?", мы можем преобразовать сам вопрос в координаты по тем же осям. Самые близкие к вопросу элементы в этом пространстве будут наиболее релевантными.
Многомерное пространство смысла
Две оси — это только начало. Двух измерений достаточно лишь для двух концепций. Реальный мир содержит гораздо больше тем, поэтому нам нужно больше измерений. Что, если мы добавим третью ось, например, "биология"?
- Детская книга о динозаврах получит высокую оценку по "биологии" (виды, среды обитания, диеты).
- Энциклопедия также будет содержать некоторую информацию по биологии.
- Страница "Velocicoaster" едва ли упомянет биологию.
Теперь у каждого документа есть три координаты. Например, страница "Velocicoaster" может быть представлена как (0.50, 0.90, 0.05) — где 0.50 относится к динозаврам, 0.90 к горкам, и 0.05 к биологии.
Попробуйте представить четвертую ось. Поскольку мы существуем в трех измерениях, это становится невозможным для визуализации. Но это не имеет значения! Каждое новое измерение просто добавляет еще одну координату к каждой точке и еще один квадратный член к формуле расстояния. Пространственное представление перестает работать в 4D, но математика продолжает работать.
Нам придется выйти далеко за пределы 4D, потому что реальные embedding models используют около тысячи измерений. Каждый документ и каждый запрос становится точкой в этом тысячемерном пространстве. "Найти ближайшие документы" по-прежнему означает то же самое, что и на 2D-графике; это просто более длинный расчет расстояния.
Мы выбрали оси: динозавры, американские горки, биология. Но кто определяет, какие 1024 темы попадают в реальную embedding model? На самом деле, никто не решает. Значение каждой оси является эмерджентным (то есть оно просто проявляется в процессе обучения) и представляет собой своего рода "черный ящик". Вы не можете посмотреть на измерение 847 и сказать: "Это ось динозавров". Измерения не соответствуют ничему, что человек мог бы назвать. Это делает пространство более сложным для осмысления. Мы не можем "допросить" измерение 847, чтобы понять, почему два текста оказались рядом друг с другом, или почему что-то, что мы ожидали увидеть близко, оказалось далеко.
Как работают эмбеддинг-модели
Итак, кто присваивает координаты? Embedding model. Любая входная строка текста преобразуется в фиксированный список чисел на выходе. Например:
"work from home"может стать[0.23, -0.87, 0.41, ...]"Employees may work remotely up to two days per week with manager approval."может стать[0.71, 0.09, -0.33, ...]
Выход всегда имеет одинаковую длину (например, 1024 значения в случае использования модели VoyageAI), и это верно независимо от того, состоит ли вход из трех слов или трех абзацев. Один фрагмент текста соответствует одной точке в пространстве. Embedding model читает текст и выдает один вектор.
Те, кто знаком с математикой, поймут, что "вектор" и "набор координат" не совсем взаимозаменяемы, но для наших целей уместно думать о векторе как об "адресе", по которому этот текст находится относительно всего остального в семантическом пространстве.
Измерение сходства: Косинусная близость
"Ближайшее" на нашем 2D-графике означало расстояние по прямой. На практике поиск сходства использует косинусную близость (cosine similarity). Косинусная близость — это еще одна мера того, насколько похожи два фрагмента текста, основанная на направлении, в котором указывают их векторы, а не на том, насколько далеко они находятся друг от друга.
Представьте, что вы сравниваете страницу "Velocicoaster" с детской книгой о динозаврах. Их векторы будут указывать в очень разных направлениях, что приведет к низкой косинусной близости. Энциклопедия, как правило, находится где-то посередине между различными темами, что логично, поскольку она является "мастером на все руки, но не мастером ни в чем конкретном", и ее вектор будет иметь умеренную косинусную близость со многими другими текстами.
Таким образом, эмбеддинги позволяют LLM не просто сопоставлять слова, а понимать их смысл и контекст, что является фундаментальной основой для таких возможностей, как семантический поиск, генерация текста, суммаризация и многое другое. Это открывает совершенно новые горизонты для взаимодействия человека с искусственным интеллектом.