大模型Transformer笔记:KV缓存

1 MHA(M ulti-H ead Attention)

  • 最经典的多头注意力
    • 等价于多个独立的单头注意力的拼接
  • 对于LLM来说,一般都是自回归地一个一个token的输出,也就相当于只有Transformer的decoder input在变化,之前作为prompt部分的是不变,可以缓存的(KV cache)
    • KV cache的减少可以让我们有更长的context prompt,更快的推理速度,更低的推理成本

2 MQA(M ulti-Q uery Attention)

Fast Transformer Decoding: One Write-Head is All You Need 2019

PaLM 6、StarCoder 7、Gemini 8

  • 所有注意力头共享同一套K,V
    • ------>KV 缓存减少到1/h
    • KV参数的减少可以到FFN/GLU规模的增大来弥补

3 GQA(G rouped-Q uery Attention)

GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints emnlp 2023

所有 Head 分为 g个组( g可以整除 head数量 h)

LLAMA2-70B , LLAMA3

参考内容:缓存与效果的极限拉扯:从MHA、MQA、GQA到MLA

相关推荐
星浩AI32 分钟前
(七)GPT2中文生成模型定制化微调训练[附源码]
pytorch·深度学习·llm
卡梅德生物科技小能手1 小时前
卡梅德生物科普MCAM(黑色素瘤细胞黏附分子)
人工智能·经验分享·深度学习
AOwhisky1 小时前
学习自测与解析:MySQL第五、六、七期核心知识点详解
运维·数据库·笔记·学习·mysql·云计算
月疯1 小时前
torch:expand和repeate的区别
开发语言·python·深度学习
niuniuyi~1 小时前
QT学习笔记
笔记·qt·学习
咸甜适中1 小时前
rust语言学习笔记Trait(十六)Error(错误)
笔记·学习·rust
xuhaoyu_cpp_java2 小时前
项目学习(三)代码生成器
java·经验分享·笔记·学习
xianghongtao01162 小时前
把 Prompt 当成“可训练参数“:SkillOpt 如何用深度学习的纪律去优化 Agent 技能
人工智能·深度学习·性能优化·prompt
my_daling2 小时前
松下伺服驱动器参数保存流程(已在松下A5上验证)
笔记
装不满的克莱因瓶3 小时前
PyTorch 与它的自动微分工具:Autograd
人工智能·pytorch·python·深度学习·神经网络·机器学习·ai