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

【大模型加速】KV缓存:小白也能看懂的大模型性能优化黑科技,让ChatGPT快如闪电!

KV 缓存是加速 LLM 推理的一种常用技术。要理解 KV 缓存,我们必须知道 LLM 如何输出下一个 Token。

算法原理

以下是基于 transformer 架构常见的产生下一个 token 的示意图,Transformer 为所有令牌生成隐藏状态,隐藏状态被投影到词汇空间,最后一个令牌的logits用于生成下一个令牌,对后续标记重复上述步骤。图示中使用 argmax 选择下一个 token,实际场景中一般top-k 或者 top-p 采样的方法随机产生下一个 token。

要生成一个新令牌,我们只需要最新令牌的隐藏状态。其他任何隐藏状态都不需要。

接下来,让我们看看注意力机制在 Transformer 层中是如何计算最后一个隐藏状态的。

在注意力机制中,我们首先计算查询矩阵和键矩阵的乘积,最后一行涉及最后一个词元的查询向量和所有键向量:

推理过程中不需要其他查询向量。此外,最终注意力机制结果的最后一行包含了最后一个查询向量以及所有键值向量。请查看下图以便更好地理解:

上述分析表明,要生成一个新的token,网络中的每次注意力操作只需要最后一个标记的查询向量,以及所有键值向量。

这里有另一个关键点:当我们生成新的token时,所有先前令牌使用的 KV 向量都不会改变。

因此,我们只需要为上一步生成的令牌生成一个 KV 向量。其余的 KV 向量可以从缓存中检索,以节省计算和时间。这叫做键值缓存(KV Caching)!与其冗余地计算所有上下文标记的 KV 向量,不如将它们缓存起来。

KV 缓存的算法流程

以下是使用 KV Caching 后生成下一个Token的计算流程:

  • 为上一步生成的令牌生成 QKV 向量。
  • 从缓存中获取所有其他 KV 向量。
  • 计算注意力。
  • 将新生成的KV值存储在缓存中。

KV 缓存带来的新挑战

如你所见,这可以节省推理时间。事实上,这就是为什么 ChatGPT 生成第一个 token 比后续 token 花费的时间更长的原因。在这段短暂的停顿期间,提示符的键值缓存会被计算出来。也就是说,KV缓存也占用大量内存。

以 Llama3-70B 为例,它的总层数 = 80,embedding 的维度 = 8k,最大输出尺寸 = 4k

这里:每个令牌在 KV 缓存中占用约 2.5 MB 的空间,4k 个token将占用 10.5 GB 的空间。

那么,如何系统的去学习大模型LLM?

作为一名深耕行业的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

http://www.cnnetsun.cn/news/91360.html

相关文章:

  • Agent服务扩展难题,如何在Docker Compose中实现无缝横向扩容?
  • PageAdmin:为企业政务提供产品及解决方案
  • 国产数据库技术学习心得:DM 数据库从实操到应用
  • Docker Compose Agent服务扩展全攻略(从入门到高可用部署)
  • R Shiny模块热加载技术揭秘:实现无缝更新,用户零感知(企业级方案曝光)
  • 【加密PDF解析终极指南】:Dify密钥管理核心技术揭秘与实战应用
  • 节能又达标!基于Linux的污水自动控制方案
  • 企微 SCRM 服务天花板:微伴四级支持,AI 陪跑至盈利
  • PyTorch训练损失异常?LobeChat给出诊断建议
  • 医药类电商系统开发公司有哪些?
  • 为什么90%的企业还没意识到Dify解密算法对文档安全的颠覆性威胁?
  • 为什么你的Vercel AI SDK在Docker中无法读取环境变量?深度剖析加载机制盲区
  • Dify权限验证系统解析:3步完成PDF加密与访问控制
  • 找不到符号
  • 300套伺服电机步进调速电机SolidWorks三维3D模型图结构库合集
  • 模温机企业排名:2025
  • Qwen3-VL-8B:轻量级多模态Embedding新选择
  • 本地部署EmotiVoice多音色情感TTS
  • LobeChat能否实现代码注释生成?文档完整性保障工具
  • 12.16 脚本网页 Golang标准库
  • 【LInux】进程程序替换与shell实现:从fork到exec的完整闭环
  • Github 9.6k Star!一款开源的超强大数据可视化神器!
  • 空间转录组+R语言=发刊利器?5个高分论文常用富集策略首次系统披露
  • 逆变器DC-AC拓扑全解析:从基础到专用,实战选型指南
  • 一文讲清楚Spring Bean的生命周期(附详细流程图)
  • 【Dify与Spring AI兼容性深度解析】:掌握版本匹配的5大核心原则
  • LobeChat能否支持引力波探测?宇宙事件捕捉与信号解读
  • 基于Next.js的LobeChat为何成为开发者新宠?
  • LobeChat压力测试报告:每秒可承受多少并发请求?
  • LobeChat能否对接IFTTT?事件驱动型AI助手构建