Трансформаторы, представленные Васвани и др. в 2017 году, несомненно, являются краеугольным камнем современного LLM и многих других задач машинного обучения. Одной из основных причин их беспрецедентного успеха является механизм самообслуживания. Однако по мере масштабирования моделей этот самый механизм стал узким местом в вычислениях, особенно для длинных последовательностей.
В этом блоге я подробно расскажу об инновационном подходе под названием Расширенное внимание, центральном в LONGNET (от Microsoft), выпущенном 19 июля 2023 года, который обещает эффективную обработку длинные последовательности из миллиардов токенов. МИЛЛИАРД!!!
Основной принцип заключается в том, что расширение внимания снижает вычислительную сложность внимания к себе с квадратичной до линейной. Это великолепно.
В относительном контексте максимальная длина последовательности, которую может обрабатывать GPT-4, составляет 32 768 токенов (что соответствует примерно 52 страницам текста).
Миллиард токенов — это примерно 4 000 000 страниц или примерно 3 500 Библий!
Подробный документ: LONGNET: масштабирование трансформаторов до 1 000 000 000 токенов
Традиционный механизм внимания к себе
В традиционных Трансформаторах механизм самообслуживания вычисляет выходные данные O с учетом входных данных Q (запрос), K (ключ) и
Здесь каждый запрос обрабатывает все ключи и значения, что приводит к квадратичной вычислительной зависимости от длины последовательности. Это делает обработку длинных последовательностей неэффективной.
Редкое внимание: частичное решение
Чтобы преодолеть недостатки традиционного внимания к себе, было введено разреженное внимание. Он ограничивает доступ запроса только к подмножеству ключей и значений. Результат при редком внимании представлен как:
Где 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. Решая проблему квадратичной сложности традиционного самообслуживания, он открывает путь к эффективному и масштабируемому моделированию последовательностей, будь они короткими или чрезвычайно длинными. По мере нашего прогресса в области искусственного интеллекта и глубокого обучения такие инновации подчеркивают безграничный потенциал, который ждет нас впереди.