top of page
Search

Как работает LLM: путь от вашего запроса до текста ответа

Writer: Sarov+
Sarov+
11 minutes ago
4 min read

Когда вы отправляете модели фразу и получаете в ответ связный текст, кажется, что происходит что-то похожее на «понимание». На самом деле внутри работает строгая механика: текст режется на токены, токены превращаются в числа, числа проходят через десятки слоёв вычислений — и на выходе модель раз за разом предсказывает всего один следующий токен.

В этой статье мы:

  • разберём, как текст превращается в токены и числа;

  • посмотрим, что такое эмбеддинги и зачем они нужны;

  • узнаем, как работают слои и механизм attention;

  • проследим весь цикл генерации одного ответа;

  • разберёмся, что такое веса, параметры и checkpoint;

  • выясним, почему модели иногда «галлюцинируют».

 

А узнать больше можно в нашем видео: 

 

Токенизация: как текст превращается в числа

 

Первый этап — токенизатор. Он разбивает входной текст на единицы, называемые токенами. Токеном может быть:

  • целое слово;

  • часть слова;

  • знак препинания;

  • фрагмент кода.

Например, фраза «Привет, мир!» разбивается на четыре токена: «Привет», запятая, «мир» и восклицательный знак.

Процесс происходит в два шага:

  1. Файл merges определяет, как максимально мелко нарезать текст на части.

  2. Каждая часть ищется в словаре (vocabulary) — таблице, где токену сопоставлен уникальный числовой идентификатор (ID).

На выходе токенизатора вместо строки текста получается последовательность чисел-адресов, пока ещё лишённых смысла.

Важно помнить:

  • другая формулировка запроса — это другая нарезка на токены, а значит, и другой вход для модели;

  • окно контекста и стоимость запроса считаются в токенах, а не в словах или страницах;

  • код обычно «весит» в токенах больше, чем обычный текст.

Эмбеддинги: от номеров к векторам

Токенизатор выдал числа-адреса, но сами по себе они не несут смысла. Следующий шаг — эмбеддинги: каждый ID заменяется вектором — длинным списком чисел (от сотен до тысяч значений), хранящимся в таблице эмбеддингов, которая является частью весов модели.

Эти числа задают положение токена в многомерном пространстве:

  • если бы измерений было всего два, положение токена можно было бы изобразить точкой на плоскости с координатами;

  • но измерений гораздо больше, и чем их больше, тем точнее модель может различать токены между собой, не «сваливая» их в одну кучу.

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

 

Слои и attention: как модель «понимает» контекст

 

Лента векторов проходит через архитектуру, которая называется трансформер и состоит из десятков однотипных слоёв.

Каждый слой:

  • принимает текущие векторы;

  • уточняет их представление;

  • передаёт дальше, следующему слою.

Так представление токенов становится всё «богаче»: учитывается и то, какие токены находятся рядом, и то, о чём идёт речь в тексте в целом.

Внутри слоёв работает механизм attention (внимание). На каждом шаге модель определяет, какие части уже написанного контекста сейчас важнее всего для предсказания.

Классический пример: во фразе «Мария открыла дверь, она…» модели нужно понять, что местоимение «она» относится именно к Марии, а не к какому-то другому объекту женского рода. Attention — это не эмоция и не аналог человеческого внимания, а механизм связности, отвечающий за корректную работу с местоимениями, ссылками и длинным диалогом.


Предсказание токена и цикл генерации


На выходе всех слоёв модель получает оценки для каждого токена своего словаря — насколько он подходит в качестве следующего. Дальше происходит следующее:

  1. Из всех оценок выбирается один токен — иногда самый вероятный, иногда с элементом случайности (это регулируется параметром температуры);

  2. чем выше температура, тем менее предсказуемым и более «творческим» получается результат;

  3. выбранный токен добавляется к контексту;

  4. цикл повторяется заново: снова слои, снова attention, снова оценки вероятностей, снова один токен.

Так, шаг за шагом, а не абзацами целиком, и собирается ответ модели.

Веса, параметры и checkpoint: чем именно считает модель

Если слои и attention — это то, как модель считает (алгоритм), то веса — это то, чем она считает.

Модель на практике состоит из двух частей:

  • сравнительно небольшой код, описывающий архитектуру (слои, attention, цикл предсказания);

  • файл весов — гигантский набор чисел, зачастую миллиардов значений.

Без файла весов код «знает» процедуру вычислений, но не имеет коэффициентов и выдаёт бессмысленный результат — как необученная модель.

Ключевые понятия:

  • Параметры — то же самое, что веса: матрицы и векторы внутри этой числовой массы, включая уже знакомую нам таблицу эмбеддингов;

  • Обучение — процесс множества корректировок этих параметров;

  • Checkpoint — сохранённый «снимок» весов на момент завершения обучения: параметры зафиксированы и больше не меняются, пока модель не дообучат заново.

Важное следствие: внутри весов нет отдельных «статей» или готовых кусков текста, которые модель могла бы просто вставить в ответ. Есть только статистические паттерны, размазанные по числам. Именно поэтому иногда правдоподобный по форме ответ расходится с фактами — так возникают галлюцинации.

От запроса к ответу: путь целиком

Соберём всю цепочку воедино:

  1. Входной текст режется на токены;

  2. каждый токен получает ID;

  3. по ID из таблицы весов извлекаются векторы;

  4. лента векторов подаётся на вход слоёв и attention;

  5. модель получает распределение вероятностей по всему словарю и выбирает один токен;

  6. токен добавляется в контекст, и цикл повторяется.

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

  • каждый выбранный ID превращается обратно в текстовый фрагмент;

  • фрагменты склеиваются в читаемую строку — тот самый текст, который вы видите на экране.

Вплоть до последнего шага модель оперирует исключительно числами и векторами.

 

Заключение

 

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

Стоит также разделять модель и продукт:

  • продукт — это чат, интерфейс, история диалога, инструменты, поиск — оболочка, которая окружает модель и делает работу с ней удобной;

  • модель — это «голая» LLM, генератор токенов: на входе контекст, на выходе — следующий токен, снова и снова.

 
 
 

Comments


Power Platform logo

Подписывайся на наши ресурсы.

  • Telegram
  • LinkedIn
  • Facebook
  • Twitter
  • YouTube
  • Instagram

© 2035 by The Pop Show. Powered and secured by Wix

bottom of page