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

相关推荐
Hcoco_me7 分钟前
深挖 TBD 核心进阶点:深度学习匹配(目标关联的“智能指纹”)
人工智能·深度学习·目标检测·计算机视觉·目标跟踪
Suryxin.22 分钟前
从0开始复现nano-vllm「 utils/contex.py」
深度学习·ai·vllm
GLDbalala36 分钟前
GPU PRO 4 - 6.2 Real-Time JPEG Compression Using DirectCompute 笔记
笔记
ccLianLian1 小时前
计算机基础·cs336·推理和训练
人工智能·深度学习
努力学习的小廉1 小时前
redis学习笔记(三)—— hash数据类型
redis·笔记·学习
学Linux的语莫1 小时前
模型转为RKNN格式
python·深度学习·机器学习
Hcoco_me1 小时前
目标追踪概述、分类
人工智能·深度学习·算法·机器学习·分类·数据挖掘·自动驾驶
Coisinilove1 小时前
MATLAB学习笔记——第一章
笔记·学习·matlab
努力学习的小廉1 小时前
redis学习笔记(四)—— list数据类型
redis·笔记·学习
肾透侧视攻城狮2 小时前
《解码AI“乐高”:深入理解TensorFlow张量操作与广播机制》
深度学习·tensorflow 张量操作·张量 的基本特性·创建张量的常用方法·张量的基本操作·张量的广播机制·张量的聚合操作