alterna ai
ALTERNA AI / ГЛАВА 14 · 06

14.6 Несколько отдельных способов собрать информацию

На предыдущей странице: как доли превращаются в смесь.

Каждая голова работает со своей частью координат и своими долями. Результаты соединяются, а не усредняются автоматически.

Запрос сравнивается с ключами; полученные доли взвешивают передаваемые значения. Будущее недоступно при предсказании продолжения. Несколько голов проводят независимые сравнения.

Несколько подпространств, затем объединение

В multi-head варианте проекции делятся на hгрупп координат. При d_model=d и d_head=d/h каждая head независимо вычисляет scores, mask, softmax и смешивание. Затем outputs конкатенируются, а не усредняются:

MHA⁡(X)=Concat⁡(O1,…,Oh)WO.\operatorname{MHA}(X)=\operatorname{Concat}(O_1,\ldots,O_h)W_O.

Если 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.

Concat восстанавливает общую ширину, W_O смешивает координаты.

Одного внимания недостаточно. Как соединить его с уже знакомой сетью?

Python-примеры главы 14 Академическая база →