大模型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

相关推荐
金色光环18 小时前
【概率论详细笔记】泊松分布是怎么来的?应该怎么用?
笔记·概率论
在所不辞兄19 小时前
为什么残差连接能够缓解深层神经网络的退化问题,而不仅仅是改善梯度传播?
人工智能·深度学习·神经网络·机器学习
又見山19 小时前
双向链接的本质:链接不是功能,是思考留下的痕迹
笔记·obsidian
云水初19 小时前
【agent篇】RAG Agent避坑指南(附高级RAG Agent汇总)
开发语言·笔记·python·学习·langchain·agent·rag
JasmineX-119 小时前
数据结构(笔记)——顺序栈
c语言·数据结构·笔记
点PY19 小时前
OmDet-Turbo: Real-Time Transformer-Based Open-Vocabulary Object Detection论文精读
深度学习·目标检测·transformer
坤坤子吖20 小时前
Linux 线程同步与互斥——互斥锁
linux·服务器·c++·笔记·学习
撩得Android一次心动20 小时前
Jetpack Compose 知识点整理3【个人用】
android·笔记·学习·kotlin·android compose
Tiandaren20 小时前
么是agent、为什么要做agent、怎么做agent、怎么工程化
人工智能·python·深度学习·大模型
深度学习lover20 小时前
<数据集>棉花虫害识别<目标检测>
人工智能·深度学习·yolo·目标检测·计算机视觉·棉花虫害识别