Несколько подпространств, затем объединение
В multi-head варианте проекции делятся на hгрупп координат. При d_model=d и d_head=d/h каждая head независимо вычисляет scores, mask, softmax и смешивание. Затем outputs конкатенируются, а не усредняются:
Если d=4,h=2, каждая head имеет width2. Для n=3 каждая attention matrix [3,3], head output[3,2], concat[3,4], W_O[4,4]. При фиксированном d сами dense projection matrices сохраняют число параметров; меняется группировка dot products и softmax.
Эксперимент. Выберите preset3×4 и две головы. Сравните их коэффициенты и outputs; затем поставьте одну head при тех же проекциях. Это не две копии одинаковой функции: разбиение координат меняет расчёт similarity.
Если d не делится на h, конфигурация этой реализации отклоняется. В полном framework возможны другие размерности Q/K/V, но их нужно задавать явно. Head с совпадающими проекциями может дублировать другую; число heads само по себе не гарантирует более богатое или качественное представление.
Под капотом. Лаборатория хранит все h·n² coefficients ради наблюдаемости. Это не обещание оптимального расхода памяти настоящего inference-engine. Далее добавим нормирование, позиции и FFN и получим целый decoder block.