Внимание к множественным запросам
Многозапросное внимание (MQA) — это вариант преобразования внимания, позволяющий экономить память, который использует один набор ключей и значений для всех голов внимания.
Обзор
Это значительно ускоряет генерацию текста за счет сокращения памяти, которую должна перетасовывать модель.
Глубокое погружение
Стандартное многоголовое внимание дает каждой голове свой собственный запрос, ключ и проекцию значений. Во время генерации ключи и значения для всех прошлых токенов должны кэшироваться и перезагружаться на каждом этапе — этот KV-кэш становится основным узким местом, поскольку чтение его из памяти происходит медленнее, чем сама математика. Внимание к множественным запросам, предложенное Ноамом Шазиром в 2019 году, сохраняет отдельные проекции запросов для каждой головы, но сжимает ключи и значения в одну общую голову. Это уменьшает кэш KV в раз, равный количеству головок, иногда в 8–64 раза меньше. Результатом является гораздо более быстрое авторегрессионное декодирование и меньший объем памяти при незначительном падении качества. Золотая середина, внимание к групповым запросам, уравновешивает компромисс.
Техническая информация
В MQA веса запросов по-прежнему создают H отдельных векторов запросов, но одна проекция ключа и проекция одного значения используются всеми головками. Каждая голова вычисляет внимание, используя собственный запрос к одним и тем же ключам и значениям. Поскольку кэшированные тензоры K и V больше не масштабируются в зависимости от количества головок, пропускная способность памяти во время декодирования резко падает — и пропускная способность, а не вычисления, является тем, что определяет скорость генерации вентилей на современных ускорителях.
Стратегическое воздействие
Скорость и масштаб
Языковые рабочие процессы могут развиваться быстрее, не жертвуя при этом согласованностью.
Доступ и охват
Это расширяет доступ к различным языкам и стилям общения.
Более четкие решения
Команды могут тратить больше времени на принятие решений, в то время как автоматизация занимается повторением.
Будущее многозапросного внимания
MQA установила, что можно без особого вреда удалить избыточные главы «ключ-значение», и теперь это понимание формирует почти каждый LLM быстрого вывода. Эта область в значительной степени сблизилась с групповым запросом внимания (GQA), используемым в Llama 2/3 и многих других, который использует несколько групп KV, а не одну, для восстановления качества при сохранении большей части ускорения. Будущая работа сочетает эти идеи со сжатием KV-кэша, квантованием и многолатентным вниманием, чтобы обеспечить более длинные контексты и более дешевое обслуживание.
Реальная реализация
Ускорение генерации токенов в чат-помощниках, где кэш KV, а не необработанные вычисления, ограничивает пропускную способность.
PaLM Google, который использовал внимание к множественным запросам для обеспечения эффективного крупномасштабного вывода.
Обслуживание множества одновременных пользователей на одном графическом процессоре за счет сокращения кэш-памяти KV для каждого запроса.
Внимание к групповым запросам в Llama 2 70B и Llama 3, прямом потомке MQA, сочетающем скорость MQA с качеством полного внимания.
Риски и ограничения
Галлюцинированные факты могут незаметно войти в отчеты, потоки поддержки или результаты исследований.
Незамедлительная чувствительность может привести к противоречивым результатам по схожим запросам.
Конфиденциальные текстовые данные могут быть раскрыты, если контроль доступа слабый.
Дорожная карта реализации
Перед развертыванием определите выходной формат, тон и стандарты качества.
Наземные ответы с помощью надежных источников, когда точность имеет значение.
Обеспечьте контрольную точку человеческого контроля для получения важных результатов.
Отслеживайте закономерности сбоев и регулярно обновляйте подсказки или рабочие процессы.
Продолжайте исследовать
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Multi-Query Attention quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Следующее руководство
Внимание группового запроса
Часто задаваемые вопросы
Что такое многозапросное внимание?
Многозапросное внимание (MQA) — это вариант преобразования внимания, позволяющий экономить память, который использует один набор ключей и значений для всех голов внимания. Это значительно ускоряет генерацию текста за счет сокращения памяти, которую должна перемещать модель.
Что объединяет многозапросное внимание между всеми головами внимания?
MQA хранит отдельные запросы для каждой головы, но разделяет одну ключевую проекцию и одну проекцию значения для всех голов.
Каково основное узкое место, которое устраняет MQA во время авторегрессионной генерации?
Перезагрузка большого кэша KV на каждом этапе ограничена полосой пропускания; MQA сжимает этот кеш, чтобы ускорить декодирование.
На сколько примерно MQA уменьшает кэш KV?
Поскольку ключи и значения сжимаются от H головок до одной, кэш сокращается примерно на количество головок.
Каков основной компромисс при использовании MQA?
Совместное использование ключей и значений немного снижает репрезентативную способность, вызывая небольшое снижение качества в обмен на большой прирост скорости.
Какой вариант находится между стандартным многоголовым вниманием и MQA?
Внимание к групповым запросам (GQA) использует несколько групп KV вместо одной, обеспечивая баланс между качеством и скоростью.