A. Smyntyna / Code
ENRU

GQA

grouped-query attention

Схема внимания, в которой один ключ и одно значение делятся между несколькими головами запросов, вместо того чтобы каждой голове давать свою пару. Она сжимает KV-кеш в четыре-восемь раз почти без потери качества — поэтому модели класса 27B на 32 тысячах токенов хватает 1–4 ГБ кеша, а не 10.

Кеш хранит ключ и значение для каждого увиденного моделью токена. В исходной схеме своя пара была у каждой головы внимания, поэтому кеш рос вместе с числом голов. Grouped-query attention даёт группе голов запросов один общий ключ и одно значение, и кеш растёт уже с числом групп.

Multi-query attention — крайняя точка той же идеи: одна общая пара на все головы слоя. Самый дешёвый кеш, самая большая потеря качества — поэтому большинство выходящих сейчас моделей стоит посередине.

Именно поэтому двум моделям с одинаковым числом параметров под один и тот же разговор может требоваться совершенно разный объём. Число параметров задаёт веса. Схема внимания задаёт кеш, и в имя модели её никто не выносит.

Читать дальше