Исследователи Google разработали технику под названием Infini-attention, которая позволяет LLM обрабатывать бесконечно длинные тексты без увеличения требований к вычислительным ресурсам и памяти.
Архитектура трансформатора LLM позволяет ему уделять внимание всем лексемам в подсказке. Выполняемые им сложные умножения дот-продуктов и матриц являются квадратичными по сложности.
Это означает, что удвоение количества лексем в подсказке требует в четыре раза больше памяти и вычислительной мощности. Вот почему так сложно создавать LLM с большие контекстные окна без резкого роста требований к памяти и вычислительным ресурсам.
В "стандартном" LLM информация в начале содержимого подсказки теряется, когда подсказка становится больше контекстного окна. В Google научная статья объясняет, как Infini-attention может сохранять данные за пределами контекстного окна.
Google представляет Leave No Context Behind: Эффективные преобразователи бесконечного контекста с Infini-вниманием
Модель 1B, отлаженная на экземплярах пасскей длиной до 5 тыс. последовательностей, решает проблему длины 1 млн.https://t.co/zyHMt3inhi pic.twitter.com/ySYEMET9Ef
- Аран Комацузаки (@arankomatsuzaki) 11 апреля 2024 года
Как работает Infini-attention?
Infini-attention сочетает в себе методы сжатия памяти с модифицированными механизмами внимания, благодаря чему актуальная старая информация не теряется.
Как только входная подсказка превышает длину контекста модели, сжимающая память сохраняет информацию в сжатом формате, а не отбрасывает ее.
Это позволяет хранить более старую, менее актуальную информацию, не увеличивая требования к памяти и вычислительным ресурсам до бесконечности по мере роста входных данных.
Вместо того чтобы пытаться сохранить всю старую информацию, сжатая память Infini-attention отбирает и обобщает информацию, которую считает актуальной и заслуживающей сохранения.
Infini-attention использует "ванильный" механизм внимания, но повторно использует состояния ключевого значения (KV) из каждого последующего сегмента в модели, а не отбрасывает их.
Вот диаграмма, показывающая разницу между Infini-attention и другой моделью расширенного контекста Transformer XL.
В результате получается LLM, который уделяет локальное внимание недавним входным данным, но при этом непрерывно перерабатывает сжатые исторические данные, к которым он может применить долгосрочное внимание.
В статье отмечается, что "эта тонкая, но критически важная модификация слоя внимания позволяет LLM обрабатывать бесконечно длинные контексты при ограниченных ресурсах памяти и вычислений".
Насколько она хороша?
Google провела сравнительные тесты с использованием небольших моделей Infini-внимания с параметрами 1B и 8B. Они сравнивались с другими расширенными контекстными моделями, такими как Transformer-XL и Memorizing Transformers.
При обработке длинноконтекстного контента Infini-Transformer получил значительно меньший балл недоумения, чем другие модели. Более низкий показатель недоумения означает, что модель более уверена в своих прогнозах.
В тестах "поиск ключа" модели Infini-attention последовательно находили случайное число, скрытое в тексте объемом до 1 млн лексем.
Другие модели часто находят ключ к концу ввода, но с трудом находят его в середине или начале длинного контента. Infini-attention без проблем справилась с этим тестом.
Бенчмаркинг-тесты очень техничны, но вкратце можно сказать, что Infini-attention превзошла базовые модели в обобщении и обработке длинных последовательностей, сохраняя контекст в течение длительного времени.
Примечательно, что он сохранил эту превосходную способность к хранению данных, потребовав при этом в 114 раз меньше памяти.
Результаты бенчмарка убеждают исследователей в том, что Infini-attention может быть масштабирована для обработки очень длинных входных последовательностей при ограничении памяти и вычислительных ресурсов.
Благодаря тому, что Infini-attention работает по принципу plug-and-play, его можно использовать для постоянного предварительного обучения и тонкой настройки существующих моделей трансформеров. Это позволяет эффективно расширять контекстные окна, не требуя полного переобучения модели.
Контекстные окна будут продолжать расти, но этот подход показывает, что эффективная память может быть лучшим решением, чем большая библиотека.