当前位置: 首页 > article >正文

大模型Transformer笔记:KV缓存

1 MHA(Multi-Head Attention)

  • 最经典的多头注意力
    •  等价于多个独立的单头注意力的拼接

  • 对于LLM来说,一般都是自回归地一个一个token的输出,也就相当于只有Transformer的decoder input在变化,之前作为prompt部分的k_{\le t}^{(s)},v_{\le t}^{(s)}是不变,可以缓存的(KV cache)
    • KV cache的减少可以让我们有更长的context prompt,更快的推理速度,更低的推理成本

2  MQA(Multi-Query 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(Grouped-Query 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


http://www.kler.cn/news/367243.html

相关文章:

  • SMA-BP时序预测 | Matlab实现SMA-BP黏菌算法优化BP神经网络时间序列预测
  • 【音视频 | wav】WAV格式常见的几种压缩形式
  • esp32学习:语音识别教程esp-skainet库的使用
  • RISC-V笔记——显式同步
  • 三周精通FastAPI:15 请求文件和同时请求表单+文件
  • 抽象类与接口的特点和区别
  • vscode配色主题与图标库推荐
  • 论文阅读(二十九):Multi-scale Interactive Network for Salient Object Detection
  • 一个关于@JsonIgnore的isxxx()问题
  • 接口测试(五)jmeter——get请求
  • Spring Ai 对接智谱清言结合vue(清测成功)
  • 面向对象高级-继承
  • 世界时钟是怎么创建的?如何在桌面添加一个世界时钟
  • 双十一宝妈购物清单来了,请收下这篇好物攻略!
  • 【15】协方差
  • 《深入浅出HTTPS​》读书笔记(1):web
  • Jmeter自动化实战
  • 使用Python实现智能火山活动监测模型
  • 241026-RHEL如何以root身份卸载Docker
  • 改进YOLOv8系列:引入低照度图像增强网络Retinexformer | 优化低光照目标检测那题
  • 06. 函数
  • C#里使用最高性的网络通讯例子
  • echarts实现 水库高程模拟图表
  • Qt的信号槽机制学习一
  • k8s 部署 mysql 故障恢复记录
  • 【ESP32S3】VSCode 开发环境搭建