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

В этом блоге я подробно расскажу об инновационном подходе под названием Расширенное внимание, центральном в LONGNET (от Microsoft), выпущенном 19 июля 2023 года, который обещает эффективную обработку длинные последовательности из миллиардов токенов. МИЛЛИАРД!!!

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

В относительном контексте максимальная длина последовательности, которую может обрабатывать GPT-4, составляет 32 768 токенов (что соответствует примерно 52 страницам текста).

Миллиард токенов — это примерно 4 000 000 страниц или примерно 3 500 Библий!

Подробный документ: LONGNET: масштабирование трансформаторов до 1 000 000 000 токенов

Традиционный механизм внимания к себе

В традиционных Трансформаторах механизм самообслуживания вычисляет выходные данные O с учетом входных данных Q (запрос), K (ключ) и V (значение) как:

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

Редкое внимание: частичное решение

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

Где 1S​ — шаблон разреженного внимания, определяющий, какие ключи и значения может обрабатывать запрос. Например, Sparse Transformer использует фиксированные шаблоны, такие как локальные и пошаговые шаблоны.

Введите расширенное внимание

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

Учитывая входные сегменты Q, K и V, сегментированные вычисления можно выразить как:

Здесь w представляет длину сегмента, а r – интервал (степень расширения). После разрежения сегменты параллельно подаются в механизм внимания. Полученный результат затем объединяется, как указано ниже:

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

Расширенное внимание на практике

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

Конечным результатом является взвешенная сумма внимания, где веса динамически рассчитываются на основе знаменателя softmax внимания.

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

Истинная мощность расширенных трансформаторов

Позвольте мне изложить основные принципы того, как LONGNET с расширенным вниманием получает свои сверхспособности.

Параллельные вычисления для O:

  • {O∣ri,wi}k представляет собой выходные данные механизма внимания с различными скоростями расширения (ri) и размерами сегментов (wi).
  • Вычисления для этих выходных данных распараллеливаются. Это возможно, поскольку между расчетами для разных скоростей дилатации и размеров сегментов нет взаимозависимостей. Другими словами, каждый паттерн расширенного внимания независим и не зависит от результатов другого паттерна.

Динамические веса и фиксированные веса:

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

Смесь расширенного внимания:

  • Если запрос обращается к ключам с разными расширенными вниманиями, метод объединяет эти внимания, как будто собирая ключи из разных сегментов, а затем вычисляет по ним softmax.
  • Это означает, что даже если модели внимания расширены по-разному, их можно объединить для более богатого контекстуального понимания.

Локальное или глобальное внимание:

  • Локальное внимание требует точных вычислений, поскольку оно фокусируется на непосредственных или близлежащих токенах, которые часто имеют более прямые связи.
  • Глобальное внимание можно назвать приблизительным, поскольку оно охватывает более широкие, менее непосредственные отношения.
  • Чтобы сбалансировать это, большие размеры сегментов (wi) сочетаются с более высокими скоростями расширения (ri). Это означает, что, рассматривая большие объемы данных, мы более снисходительно относимся к интервалам между точками данных, на которых фокусируемся.

Постепенное увеличение размера сегмента:

  • Размер сегмента (wi) для каждого шаблона внимания постепенно увеличивается при условии, что каждый размер меньше, чем его последующий размер, и меньше максимальной длины последовательности N. Размеры сегментов продолжают расти, пока не достигнут либо максимальной длины последовательности, либо общего количества паттернов внимания.

Расширенное внимание с несколькими головами:

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

Степень расширения:

  • Скорости расширения (ri) также следуют прогрессии, где каждая скорость больше, чем предыдущая.

Геометрические последовательности для размера сегмента и скорости расширения:

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

Замечательные результаты

Вот краткий обзор их экспериментов и выводов:

Основы эксперимента:

  • Масштабирование последовательности: модели имели длину последовательности от 2 КБ до 32 КБ. Размер пакета был скорректирован соответствующим образом, чтобы обеспечить согласованность токенов.

Конфигурации:

  • Длина сегментов LONGNET: w = {2048, 4096, 8192, 16384, 32768}
  • Расширенные коэффициенты: r = {1, 2, 4, 6, 12}
  • Разреженные трансформаторы: принят фиксированный шаблон внимания с несколькими головками для отдельных подблоков.
  • Ванильные трансформеры: используются плотные и полностью связанные уровни внимания, длина последовательности ограничена 32 КБ из-за вычислительных ограничений.
  • Платформа: все модели были основаны на платформе FlashAttention с возможностью настройки для различных конфигураций внимания.

Основные результаты:

  • Повышение производительности: более длительные последовательности обучения всегда приводили к созданию превосходных языковых моделей.
  • Ограничения экстраполяции. Экстраполяция длины последовательности вывода не идеальна, если она значительно превышает проект модели.
  • Превосходство LONGNET: в тестах набора данных Stack компания LONGNET превзошла своих конкурентов, продемонстрировав свое мастерство в языковом моделировании.

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

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