Обзор
Внимание к групповым запросам (GQA) — это способ сократить объем памяти, необходимой во время генерации текста, позволяя нескольким головкам запросов использовать одни и те же головки ключей и значений. Благодаря этому большие модели обслуживаются намного быстрее практически без потери качества.
Внимание к групповым запросам — это часть стека языкового искусственного интеллекта, используемого для чтения, генерации, классификации и преобразования текста и речи в любом масштабе.
Глубокое погружение
В стандартном слое внимания с несколькими головами каждая голова имеет свои собственные запросы, ключи и значения. Во время генерации ключи и значения для всех предыдущих токенов кэшируются («кэш KV»), поэтому модель не пересчитывает их. При наличии множества голов и длинных контекстов этот кэш становится огромным и доминирует над пропускной способностью памяти во время вывода. GQA, представленный исследователями Google в 2023 году, группирует заголовки запросов и предоставляет каждой группе единый общий набор заголовков ключей и значений. Если у вас 32 головки запроса, но только 8 групп KV, кэш KV сокращается примерно в четыре раза. Это находится между полным вниманием нескольких голов (каждая голова отдельно) и вниманием к нескольким запросам (один общий KV для всех голов), обеспечивая большую часть скорости MQA, сохраняя при этом качество, близкое к полному вниманию. Его приняли на вооружение Llama 2 70B и многие более поздние модели.
Техническая информация
Качество внимания во многом зависит от наличия множества различных направлений запроса, но допускается совместное использование ключей и значений. GQA использует эту асимметрию: он сохраняет все заголовки запросов, но реплицирует каждый общий заголовок KV по запросам в своей группе. Экономия достигается за счет вывода, что KV-кэш является основным потребителем пропускной способности памяти; меньше головок KV означает меньше данных для чтения на каждый сгенерированный токен. Модели часто на короткое время «обучаются», чтобы преобразовать существующую контрольную точку с несколькими головками в контрольную точку GQA.
Освоение внимания при групповых запросах
Внимание к групповым запросам (GQA) — это способ сократить объем памяти, необходимой во время генерации текста, позволяя нескольким головкам запросов использовать одни и те же головки ключей и значений. Благодаря этому большие модели обслуживаются намного быстрее практически без потери качества. Внимание к групповым запросам — это часть стека языкового искусственного интеллекта, используемого для чтения, генерации, классификации и преобразования текста и речи в любом масштабе. Чтобы достичь глубокого понимания, рассматривайте внимание групповых запросов как операционную модель, а не как отдельную функцию: определите желаемые результаты, проясните предположения и отделите то, что система может делать надежно, от того, что все еще требует экспертной оценки.
На практике сильные команды используют групповые запросы для разработки подсказок, циклов поиска и просмотра как единую интегрированную коммуникационную систему. Они документируют явные критерии успеха, проводят тестирование на основе реалистичных данных и рабочих процессов, а также выполняют итерации на основе наблюдаемых моделей неудач, а не разовых побед в тестах. Именно здесь теоретическое понимание превращается в прочные возможности в отношении продукта, политики и операций.
Языковые рабочие процессы могут развиваться быстрее, не жертвуя при этом согласованностью. В то же время галлюцинированные факты могут незаметно войти в отчеты, потоки поддержки или результаты исследований. Самый устойчивый подход — сочетать скорость экспериментирования с дисциплиной управления: запускать пилотные проекты, собирать доказательства, публиковать журналы решений и постоянно обновлять меры безопасности по мере развития поведения модели, ожиданий пользователей и нормативных требований.
Стратегическое воздействие
Языковые рабочие процессы могут развиваться быстрее, не жертвуя при этом согласованностью.
Языковые рабочие процессы могут развиваться быстрее, не жертвуя при этом согласованностью. В высококачественных развертываниях это выражается в измеримых рабочих правилах, границах владения и повторяющихся ритуалах проверки, что позволяет командам повышать уверенность, а не увеличивать двусмысленность.
Это расширяет доступ к различным языкам и стилям общения.
Это расширяет доступ к различным языкам и стилям общения. В высококачественных развертываниях это выражается в измеримых рабочих правилах, границах владения и повторяющихся ритуалах проверки, что позволяет командам повышать уверенность, а не увеличивать двусмысленность.
Команды могут тратить больше времени на принятие решений, в то время как автоматизация занимается повторением.
Команды могут тратить больше времени на принятие решений, в то время как автоматизация занимается повторением. В высококачественных развертываниях это выражается в измеримых рабочих правилах, границах владения и повторяющихся ритуалах проверки, что позволяет командам повышать уверенность, а не увеличивать двусмысленность.
Реальная реализация
Llama 2 70B и Llama 3 используют GQA для обслуживания длинных контекстов с меньшим кешем KV.
Уменьшение памяти графического процессора, чтобы большая модель чата помещалась на меньшем количестве или более дешевых ускорителях.
Ускорение генерации токенов в рабочих API, где пропускная способность KV-кэша является узким местом.
Включение больших размеров пакетов для одновременного обслуживания многих пользователей без исчерпания памяти.
Шаблоны реализации
Внимание к групповым запросам на практике
Llama 2 70B и Llama 3 используют GQA для обслуживания длинных контекстов с меньшим кешем KV.
Llama 2 70B и Llama 3 используют GQA для обслуживания длинных контекстов с меньшим KV-кешем. Команды обычно получают лучшие результаты, если заранее определяют пороговые значения качества, сохраняют путь эскалации с участием человека для крайних случаев и отслеживают как прирост производительности, так и затраты на ошибки с течением времени.
Внимание к групповым запросам на практике
Уменьшение памяти графического процессора, чтобы большая модель чата помещалась на меньшем количестве или более дешевых ускорителях.
Сокращение памяти графического процессора, чтобы большая модель чата соответствовала меньшему количеству или более дешевым ускорителям. Команды обычно получают лучшие результаты, если заранее определяют пороговые значения качества, сохраняют путь эскалации с участием человека для крайних случаев и отслеживают как рост производительности, так и затраты на ошибки с течением времени.
Внимание к групповым запросам на практике
Ускорение генерации токенов в рабочих API, где пропускная способность KV-кэша является узким местом.
Ускорение генерации токенов в производственных API, где пропускная способность KV-кэша является узким местом. Команды обычно получают лучшие результаты, если заранее определяют пороговые значения качества, сохраняют путь человеческой эскалации для крайних случаев и отслеживают как рост производительности, так и затраты на ошибки с течением времени.
Внимание к групповым запросам на практике
Включение больших размеров пакетов для одновременного обслуживания большого количества пользователей без исчерпания памяти.
Обеспечение больших размеров пакетов для одновременного обслуживания большого количества пользователей без исчерпания памяти. Команды обычно добиваются лучших результатов, если заранее определяют пороговые значения качества, сохраняют возможность эскалации вручную для крайних случаев и отслеживают как рост производительности, так и затраты на ошибки с течением времени.
Риски и ограничения
Галлюцинированные факты могут незаметно войти в отчеты, потоки поддержки или результаты исследований.
Незамедлительная чувствительность может привести к противоречивым результатам по схожим запросам.
Конфиденциальные текстовые данные могут быть раскрыты, если контроль доступа слабый.
Дорожная карта реализации
Перед развертыванием определите выходной формат, тон и стандарты качества.
Перед развертыванием определите выходной формат, тон и стандарты качества. Относитесь к каждому шагу как к доказательству: если критерии не выполняются, приостановите внедрение, ликвидируйте пробел и только затем расширяйте использование.
Наземные ответы с помощью надежных источников, когда точность имеет значение.
Наземные ответы с помощью надежных источников, когда точность имеет значение. Относитесь к каждому шагу как к доказательству: если критерии не выполняются, приостановите внедрение, ликвидируйте пробел и только затем расширяйте использование.
Обеспечьте контрольную точку человеческого контроля для получения важных результатов.
Обеспечьте контрольную точку человеческого контроля для получения важных результатов. Относитесь к каждому шагу как к доказательству: если критерии не выполняются, приостановите внедрение, ликвидируйте пробел и только затем расширяйте использование.
Отслеживайте закономерности сбоев и регулярно обновляйте подсказки или рабочие процессы.
Отслеживайте закономерности сбоев и регулярно обновляйте подсказки или рабочие процессы. Относитесь к каждому шагу как к доказательству: если критерии не выполняются, приостановите внедрение, ликвидируйте пробел и только затем расширяйте использование.