首先多头注意力机制的优势,总结为四点或者三点
-
捕捉多维度的语义特征(表示子空间的多样性)
-
增强模型的表达能力与稳定性
3. 提高并行计算效率
虽然头数变多了,但每个头的维度(d_{model} / h)变小了。这意味着多头注意力可以在 GPU 上非常高效地进行并行化矩阵运算。
遇到长文本的情况,可以从哪些情况优化呢 ?
可以从以下两个维度 回答:
- 算法架构优化(减少计算复杂度)
FlashAttention 减少 GPU 显存与计算核心之间的数据交换(HBM vs SRAM),在不改变数学结果的前提下,大幅提升速度并降低显存占用。
稀疏注意力:滑动窗口,只关注当前词附近的窗口,复杂度降低为线性(N)
线性注意力: 改变计算顺序,通过核函数近似,降低为(N)
2,KVcache 管理
GQA、MQA,以及vllm pagedattention 量化