Данные, токены и эмбеддинги: как текст становится числами
До первого слоя нейросети текст проходит цепочку преобразований: сбор и подготовку корпуса, нормализацию, токенизацию, перевод идентификаторов токенов в векторы.
Краткий ответ
До первого слоя нейросети текст проходит цепочку преобразований: сбор и подготовку корпуса, нормализацию, токенизацию, перевод идентификаторов токенов в векторы. Качество и границы модели зависят от каждого звена, а не только от количества параметров.
До первого слоя нейросети текст проходит цепочку преобразований: сбор и подготовку корпуса, нормализацию, токенизацию, перевод идентификаторов токенов в векторы. Качество и границы модели зависят от каждого звена, а не только от количества параметров.
Обучающие данные и их распределение
Корпус может включать книги, сайты, код, диалоги и специально размеченные примеры. Перед обучением данные фильтруют, удаляют часть дубликатов, определяют языки и форматы, исключают известные нежелательные категории. Любой такой конвейер несовершенен: фильтр способен пропустить чувствительные данные или, наоборот, непропорционально удалить тексты некоторой группы.
Модель лучше всего приспосабливается к закономерностям, представленным в корпусе. Большой объём не гарантирует репрезентативность, истинность и законность происхождения. Поэтому набор данных следует сопровождать описанием источников, процедуры сбора, лицензий, ограничений и известных пробелов.
Зачем нужна токенизация
Нейросеть работает с конечным словарём целых идентификаторов. Токенизатор делит строку не обязательно на слова: токеном может стать знак, частое слово, часть слова или байтовая последовательность. Подсловные алгоритмы позволяют составлять редкие слова из знакомых частей и не требуют отдельного элемента словаря для каждой словоформы.
Граница токенов зависит от конкретного словаря и алгоритма. Одно русское слово может занимать несколько токенов, а частое английское — один. Поэтому лимит контекста измеряется токенами, а не символами и не словами. Цена запроса и доступное место для ответа также часто зависят от числа токенов.
От идентификатора к эмбеддингу
После токенизации каждый идентификатор выбирает строку из обучаемой матрицы эмбеддингов. Получается вектор чисел. Во время обучения градиент меняет эти векторы вместе с остальными параметрами, чтобы полезные для предсказания отношения можно было выразить геометрически.
Начальный эмбеддинг токена и его контекстное представление — не одно и то же. После слоёв Transformer вектор слова «ключ» в фразах «ключ от двери» и «ключ словаря» будет зависеть от соседних токенов. Нельзя свести работу языковой модели к одному фиксированному словарю смыслов.
Что данные не превращают в модель автоматически
Корпус не передаёт машине человеческий опыт, намерения или проверенный реестр фактов. Обучение сжимает статистические регулярности в параметры через выбранную функцию потерь. Источники могут противоречить друг другу, устаревать и содержать популярные ошибки; модель не получает встроенного маркера истины для каждого предложения.
Дедупликация уменьшает повторения, но не доказывает отсутствие копий. Очистка персональных данных снижает риск, но не даёт абсолютной гарантии. Документация данных нужна именно потому, что один итоговый размер корпуса ничего не говорит о его составе.
Упражнение: ручной токенизатор
Возьмите фразы «генерация», «сгенерировать» и «генеративный». Сначала назначьте отдельный токен каждому слову, затем попробуйте общий набор частей: «генер», «а», «ция», «ировать», «ивный». Сравните размер словаря и длину последовательностей.
После этого придумайте редкое имя и строку кода. Отметьте, где словарный подход даст неизвестное слово, а подсловный сможет собрать запись из частей. Сделайте вывод: меньший словарь обычно увеличивает длину последовательности, а больший требует больше параметров эмбеддингов.
Частые вопросы
Токен равен слову?
Не обязательно. Токенизация определяется конкретной моделью. Пробел, пунктуация и части одного слова могут стать самостоятельными токенами.
Эмбеддинг содержит понятное человеку значение каждой координаты?
Обычно нет. Значение распределено по множеству координат и взаимодействиям между ними. Отдельную ось редко можно честно назвать «вежливостью» или «математикой» без специального анализа.
Если удалить документ из корпуса, модель его забудет?
Удаление до обучения не влияет на уже обученные параметры. После обучения требуются отдельные процедуры переобучения, машинного разучивания или замены модели; их эффективность нужно проверять, а не предполагать.
Что важно запомнить
- Корпус задаёт наблюдаемое моделью распределение и требует документации происхождения и ограничений.
- Токены — элементы конкретного словаря, а не универсальные слова.
- Эмбеддинг превращает идентификатор в обучаемый вектор, который далее становится контекстным представлением.
- Фильтрация и дедупликация снижают риски, но не гарантируют истинность, справедливость или конфиденциальность.
https://yadro-code.ru/lessons/without-university/generative-ai-foundations/generative-ai-02