Attention complexity, GQA/MQA и Sliding Window Attention
Объясните scaled dot-product attention, его сложность, и зачем нужны GQA/MQA и Sliding Window Attention.
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Attention считает softmax(QK^T / sqrt(d_k))V и стоит примерно O(n^2 d). GQA/MQA уменьшают KV heads и KV cache, SWA ограничивает окно attention до W токенов.
Полный разбор
Scaled dot-product attention строит Q, K, V, считает scores QK^T / sqrt(d_k), применяет softmax и взвешивает V. Квадратичная часть по длине последовательности возникает из attention matrix n x n.
GQA/MQA оптимизируют inference memory: query heads остаются многочисленными, но key/value heads шарятся между группами, поэтому KV cache уменьшается примерно пропорционально числу KV heads. Sliding Window Attention ограничивает каждому токену видимость последними W токенами, меняя cost с O(n^2) на примерно O(nW).