Свяжитесь с нами:

Расширение больших языковых моделей с помощью прогнозирования нескольких токенов

Искусственный интеллект

Расширение больших языковых моделей с помощью прогнозирования нескольких токенов

mm
Большие языковые модели с прогнозированием нескольких токенов

Большие языковые модели (LLM), такие как GPT, LLaMA и другие, покорили мир своей замечательной способностью понимать и генерировать текст, похожий на человеческий. Однако, несмотря на впечатляющие возможности, стандартный метод обучения этих моделей, известный как «предсказание следующего токена», имеет некоторые присущие ему ограничения.

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

Недавняя исследовательская работа Глёкл и др. (2024) от Meta AI представляет новую парадигму обучения под названием «прогнозирование с использованием нескольких токенов», призванный устранить эти ограничения и вывести на новый уровень большие языковые модели. В этой публикации мы подробно рассмотрим основные концепции, технические детали и потенциальные последствия этого новаторского исследования.

Прогнозирование по одному токену: традиционный подход

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

Парадигма прогнозирования следующего токена

В парадигме прогнозирования следующего токена языковые модели обучаются прогнозировать следующее слово в последовательности с учетом предыдущего контекста. Более формально, перед моделью стоит задача максимизировать вероятность появления следующего токена xt+1 с учетом предыдущих токенов x1, x2,…, xt. Обычно это делается путем минимизации потерь перекрестной энтропии:

L = -Σt log P(xt+1 | x1, x2, …, xt)

Эта простая, но мощная цель обучения легла в основу многих успешных моделей больших языков, таких как GPT (Radford et al., 2018), BERT (Devlin et al., 2019) и их вариантов.

Принуждение учителей и авторегрессионное поколение

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

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

Ограничения прогнозирования следующего токена

Хотя предсказание следующего токена оказалось чрезвычайно успешным, оно также имеет некоторые присущие ему ограничения:

  1. Краткосрочный фокус: прогнозируя только следующий токен, модель может с трудом уловить долгосрочные зависимости, а также общую структуру и связность текста, что потенциально может привести к несогласованности или бессвязным поколениям.
  2. Фиксация локального шаблона: Модели прогнозирования следующих токенов могут фиксироваться на локальных закономерностях в обучающих данных, что затрудняет обобщение на сценарии или задачи, не относящиеся к распределению, которые требуют более абстрактных рассуждений.
  3. Рассуждения: Для задач, которые включают многоэтапное рассуждение, алгоритмическое мышление или сложные логические операции, предсказание следующего токена может не обеспечить достаточных индуктивных смещений или представлений для эффективной поддержки таких возможностей.
  4. Пример неэффективности: Из-за локального характера прогнозирования следующего токена моделям могут потребоваться более крупные наборы обучающих данных для приобретения необходимых знаний и навыков рассуждения, что приводит к потенциальной неэффективности выборки.

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

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

Что такое прогнозирование нескольких токенов?

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

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

Пример игрушки

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

"Быстрая коричневая лиса прыгает через ленивую собаку."

В стандартном подходе к прогнозированию следующего токена модель будет обучена прогнозировать следующее слово с учетом предыдущего контекста. Например, учитывая контекст «Быстрая коричневая лиса прыгает через», модели будет поручено предсказать следующее слово «ленивый».

Однако при прогнозировании нескольких токенов модель будет обучена прогнозировать несколько будущих слов одновременно. Например, если мы установим n=4, модель будет обучена прогнозировать следующие 4 слова одновременно. Учитывая тот же контекст «Быстрая коричневая лиса перепрыгивает через дорогу», перед моделью будет поставлена ​​задача предсказать последовательность «ленивая собака». (Обратите внимание на пробел после слова «собака», обозначающий конец предложения).

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

технические детали

Авторы предлагают простую, но эффективную архитектуру для реализации прогнозирования с использованием нескольких токенов. Модель состоит из общего канала преобразователя, который создает скрытое представление входного контекста, за которым следует n независимые слои преобразователя (выходные головки), которые прогнозируют соответствующие будущие токены.

Во время обучения прямые и обратные проходы тщательно организуются, чтобы минимизировать использование памяти графического процессора. Общий магистральный канал вычисляет скрытое представление, а затем каждая выходная головка последовательно выполняет прямой и обратный проход, накапливая градиенты на уровне магистрального канала. Этот подход позволяет избежать одновременной материализации всех логит-векторов и их градиентов, что снижает пиковое использование памяти графического процессора с О (нВ + д) в О (В + д), Где V это размер словарного запаса и d это измерение скрытого представления.

Реализация с эффективным использованием памяти

Одной из проблем при обучении мультитокеновых предикторов является снижение использования памяти их графических процессоров. Поскольку размер словарного запаса (В) обычно намного больше, чем измерение скрытого представления (D), логит-векторы становятся узким местом использования памяти графического процессора.

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

Этот подход позволяет избежать одновременного хранения всех логит-векторов и их градиентов в памяти, что снижает пиковое использование памяти графического процессора с О (нВ + д) в О (В + д), Где n — это количество прогнозируемых будущих токенов.

Преимущества прогнозирования с использованием нескольких токенов

В исследовательской работе представлены несколько убедительных преимуществ использования мультитокенного прогнозирования для обучения больших языковых моделей:

  1. Повышенная эффективность выборки: Поощряя модель прогнозировать несколько будущих токенов одновременно, прогнозирование нескольких токенов приводит модель к повышению эффективности выборки. Авторы демонстрируют значительные улучшения производительности в задачах понимания и генерации кода: модели с числом параметров до 13B решают в среднем примерно на 15 % больше задач.
  2. Более быстрый вывод: дополнительные выходные головки, обученные с помощью прогнозирования нескольких токенов, можно использовать для самоспекулятивного декодирования — варианта спекулятивного декодирования, который позволяет выполнять параллельное предсказание токенов. Это приводит к сокращению времени вывода до 3 раз в широком диапазоне размеров партий, даже для больших моделей.
  3. Продвижение долгосрочных зависимостей: прогнозирование с использованием нескольких токенов позволяет модели фиксировать долгосрочные зависимости и закономерности в данных, что особенно полезно для задач, требующих понимания и рассуждений в более широком контексте.
  4. Алгоритмическое рассуждение: Авторы представляют эксперименты по синтетическим задачам, которые демонстрируют превосходство моделей прогнозирования с несколькими токенами в развитии индукционных головок и возможностей алгоритмического рассуждения, особенно для моделей меньшего размера.
  5. Согласованность и последовательность: Обучая модель прогнозированию нескольких будущих токенов одновременно, предсказание нескольких токенов способствует разработке последовательных и последовательных представлений. Это особенно полезно для задач, требующих создания более длинного и связного текста, таких как рассказывание историй, творческое письмо или создание учебных пособий.
  6. Улучшенное обобщениеЭксперименты авторов с синтетическими задачами показывают, что многотокенные модели прогнозирования демонстрируют лучшие обобщающие способности, особенно в условиях вне распределения. Это потенциально связано со способностью модели улавливать долгосрочные закономерности и зависимости, что может способствовать более эффективной экстраполяции на непредвиденные ситуации.

Примеры и интуиция

Чтобы лучше понять, почему многотокенное прогнозирование работает так хорошо, давайте рассмотрим несколько примеров:

  1. Генерация кода: В контексте генерации кода прогнозирование нескольких токенов одновременно может помочь модели понять и сгенерировать более сложные структуры кода. Например, при создании определения функции прогнозирование только следующего токена может не предоставить модели достаточно контекста для правильного создания всей сигнатуры функции. Однако, прогнозируя несколько токенов одновременно, модель может лучше фиксировать зависимости между именем функции, параметрами и типом возвращаемого значения, что приводит к более точной и последовательной генерации кода.
  2. Рассуждение на естественном языке: рассмотрим сценарий, в котором языковой модели поручено ответить на вопрос, требующий рассуждения на основе нескольких шагов или фрагментов информации. Прогнозируя одновременно несколько токенов, модель может лучше отражать зависимости между различными компонентами процесса рассуждения, что приводит к более последовательным и точным ответам.
  3. Генерация длинного текста: При создании длинного текста, такого как рассказы, статьи или отчеты, поддержание связности и последовательности в течение длительного периода может быть сложной задачей для языковых моделей, обученных с помощью прогнозирования следующего токена. Прогнозирование с использованием нескольких токенов побуждает модель разрабатывать представления, которые отражают общую структуру и поток текста, что потенциально приводит к более связным и последовательным генерированиям длинных форм.

Ограничения и будущие направления

Хотя результаты, представленные в статье, впечатляют, есть несколько ограничений и открытых вопросов, которые требуют дальнейшего исследования:

  1. Оптимальное количество токенов: В документе исследуются различные значения n (количества будущих токенов для прогнозирования) и обнаруживается, что n=4 хорошо подходит для многих задач. Однако оптимальное значение n может зависеть от конкретной задачи, набора данных и размера модели. Разработка принципиальных методов определения оптимального n может привести к дальнейшему повышению производительности.
  2. Размер словарного запаса и токенизация: Авторы отмечают, что оптимальный размер словаря и стратегия токенизации для моделей прогнозирования с несколькими токенами могут отличаться от тех, которые используются для моделей прогнозирования следующего токена. Исследование этого аспекта может привести к лучшему компромиссу между длиной сжатой последовательности и эффективностью вычислений.
  3. Вспомогательные прогнозируемые потери: Авторы предполагают, что их работа может стимулировать интерес к разработке новых вспомогательных прогнозов потерь для больших языковых моделей, помимо стандартного прогнозирования следующего токена. Исследование альтернативных вспомогательных потерь и их комбинаций с прогнозированием нескольких токенов является интересным направлением исследований.
  4. Теоретическое понимание: Хотя в статье приводятся некоторые интуиции и эмпирические доказательства эффективности прогнозирования с использованием нескольких токенов, более глубокое теоретическое понимание того, почему и как этот подход работает так хорошо, было бы ценным.

Заключение

В исследовательской работе Gloeckle et al. «Лучшие и быстрые модели больших языков посредством многотокенного прогнозирования». представляет новую парадигму обучения, которая потенциально может значительно улучшить производительность и возможности больших языковых моделей. Обучая модели прогнозированию нескольких будущих токенов одновременно, многотокенное предсказание способствует развитию долгосрочных зависимостей, способностей к алгоритмическому рассуждению и повышению эффективности выборки.

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

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

Последние пять лет я погружался в увлекательный мир машинного обучения и глубокого обучения. Моя страсть и опыт позволили мне принять участие в более чем 50 различных проектах по разработке программного обеспечения, уделяя особое внимание AI/ML. Мое постоянное любопытство также привлекло меня к обработке естественного языка, области, которую я очень хочу исследовать дальше.