Grouped-Query Attention
В обычном слое внимания каждый токен (например, слово) создаёт три вектора: запрос, ключ и значение. Модель сопоставляет запрос с ключами, чтобы понять, на что смотреть, и берёт соответствующие значения. В классическом варианте у каждого токена свой ключ и значение — это гибко, но дорого: при длинной генерации модель хранит в памяти ключи и значения всей истории. Чем больше контекст, тем больше вычислений и памяти.
GQA предлагает компромисс. Представьте лекцию: каждый студент — запрос, доска — ключи и значения. В полном внимании у каждого студента была бы своя копия записей. В GQA студентов делят на группы, и для каждой группы держат один общий набор записей. Например, четыре запроса могут использовать два общих ключа вместо четырёх. Это сокращает объём данных, но модель сохраняет способность различать смысл, ведь групп несколько.
Где это применяется? Возьмём языковую модель вроде Llama. Во время диалога она обрабатывает тысячи токенов истории. Без GQA потребовалось бы огромное количество видеопамяти, что сделало бы её недоступной для обычного ноутбука. С GQA модели работают быстрее и занимают меньше места, а пользователь получает ответ почти мгновенно даже при длинном разговоре.
Итог: GQA — элегантный баланс между точностью и эффективностью. Он не даёт максимального качества, как оригинальное внимание, но делает современный ИИ дешевле, экологичнее и практичнее. Такие технические находки превращают дорогие эксперименты в реальные продукты, доступные миллионам.
Поделиться