LLM 中的 KV 缓存机制详解 ✍ Avi Chawla🕐 2026-03-22📦 6.3 KB 🟢 已读 𝕏 文章列表 文章深入解释了大型语言模型(LLM)中的 KV 缓存技术。作者指出,LLM 生成文本时首个令牌较慢而后续令牌迅速的现象,归功于 KV 缓存的工程优化。该技术通过存储已计算键值向量,避免在自回归生成过程中的冗余计算,以 GPU 内存为代价换取显著的计算加速。文中详细解析了注意力机制的冗余问题、KV 缓存的工作原理、首令牌延迟(TTFT)的产生原因,以及内存与计算资源之间的权衡取舍。 KV缓存注意力机制Transformer模型推理LLM性能优化GPU内存预填充TTC大模型 # LLM 中的 KV 缓存,详尽解释 **作者**: Avi Chawla **日期**: 2026-03-11T06:51:35.000Z **来源**: [https://x.com/_avichawla/status/2034902650534187503](https://x.com/_avichawla/status/2034902650534187503) ---  你每次使用 ChatGPT 或 Claude 时肯定都注意到了,第一个令牌出现的时间明显更长,而其余令牌几乎瞬间就全部显示出来。 在幕后,这是一个称为 KV 缓存的有意工程决策,其目的是加快 LLM 推理速度。 在深入技术细节之前,这里我们来对比一下启用和禁用 KV 缓存的 LLM 推理: 现在让我们从基本原理开始了解它是如何运作的。 ## 第一部分:LLM 如何生成代币 转换器处理所有输入词元,并为每个词元生成一个隐藏状态。这些隐藏状态被投影到词汇空间,生成 logits(词汇表中的每个词对应一个分数)。 但只有最后一个标记的 logits 才重要。你从中采样,获取下一个标记,将其添加到输入中,然后重复此过程。  关键在于:要生成下一个代币,你只需要最新代币的隐藏状态。其他所有隐藏状态都是中间副产品。 ## 第二部分:注意力机制究竟计算了什么 在每个 Transformer 层中,每个词元都会获得三个向量:查询向量(Q)、键向量(K)和值向量(V)。注意力机制将查询向量与键向量相乘得到分数,然后使用这些分数来加权值向量。  现在只需关注最后一个标记。  QK^T 的最后一行使用了: - 最后一个词元的查询向量 - 序列中的所有关键向量 该行的最终注意力输出使用: - 相同的查询向量 - 所有键值向量 因此,为了计算我们唯一需要的隐藏状态,每个注意力层都需要从最新的标记中获取 Q,以及从所有标记中获取 K 和 V。 ## 第三部分:涉及的冗余 生成第 50 个标记需要第 1 到 50 个标记的 K 和 V 向量。生成第 51 个标记需要第 1 到 51 个标记的 K 和 V 向量。 前 49 个标记的 K 向量和 V 向量已经计算完毕,它们没有改变。输入相同,输出也相同。然而,模型每一步都从头开始重新计算它们。  每一步都存在 O(n) 的冗余工作。整整一代下来,浪费了 O(n²) 的计算资源。 ## 第四部分:修复方案 与其在每一步都重新计算所有 K 和 V 向量,不如将它们存储起来。对于每个新标记: 仅针对最新代币计算 Q、K 和 V。 将新的 K 和 V 添加到缓存中。 从缓存中检索所有先前的 K 和 V 向量。 使用新的 Q 对完整的缓存 K 和 V 运行注意力。  这就是键值缓存。每层每步生成一个新的键值和一个新的值。其他所有数据都来自内存。 注意力计算的开销仍然会随着序列长度而增加(因为你需要关注所有键和值)。但是,生成键和值的昂贵投影操作每个词元只执行一次,而不是每个步骤执行一次。 ## 第五部分:首次令牌到达时间 现在你应该明白为什么第一个令牌速度慢了吧。 当你发送请求时,模型会在一次前向传递中处理所有输入,计算并缓存每个词元的 K 向量和 V 向量。这是预填充阶段,也是请求过程中计算量最大的部分。 缓存预热完成后,后续每个令牌只需要使用一个令牌进行一次前向传递。  这种初始延迟称为首令牌获取时间 (TTFT)。提示符越长,预填充时间越长,等待时间也就越长。优化 TTFT(分块预填充、推测性解码、提示符缓存)本身就是一个很深入的研究课题,但其动态始终不变:构建缓存成本高昂,而从缓存中读取数据成本低廉。 ## 第六部分:权衡取舍 键值缓存以计算资源换取内存。每一层都会存储每个词元的键向量和向量。对于 Qwen 2.5 72B 模型(80 层,32K 上下文,隐藏维度 8192),单次请求的键值缓存可能消耗数 GB 的 GPU 内存。在数百个并发请求的情况下,其占用的内存通常会超过模型权重本身。 这就是分组查询注意力(GQA)和多查询注意力(MQA)存在的原因:在查询头之间共享键/值头,减少内存,并将质量损失降到最低。 这也是为什么将上下文长度翻倍很困难的原因。窗口长度翻倍,每次请求的键值缓存也翻倍,并发用户数就会减少。 还有一种叫做分页注意力机制(Paged attention)的思想可以解决这个问题,我最近在这里讨论过它: ## tl;dr 键值缓存消除了自回归生成过程中的冗余计算。之前的标记总是生成相同的键向量和向量,因此只需计算一次并存储即可。每个新标记只需要自己的键值、键向量和向量。然后,注意力机制会针对整个缓存运行。 实际应用中速度提升了 5 倍。代价是 GPU 内存占用,这在规模化应用中会成为瓶颈。所有 LLM 服务栈(vLLM、TGI、TensorRT-LLM)都基于这一理念。  拍摄结束! 如果您喜欢这篇教程: Find me → @_avichawla 我每天都会分享关于数据科学、机器学习、LLM 和 RAG 的教程和见解。 ## 相关链接 - [Avi Chawla](https://x.com/_avichawla) - [@_avichawla](https://x.com/_avichawla) - [484K](https://x.com/_avichawla/status/2034902650534187503/analytics) - [Mar 11](https://x.com/_avichawla/status/2031624056072712547) - [170K](https://x.com/_avichawla/status/2031624056072712547/analytics) - [@_avichawla](https://x.com/@_avichawla) - [升级至高级版](https://x.com/i/premium_sign_up) - [3:59 PM · Mar 20, 2026](https://x.com/_avichawla/status/2034902650534187503) - [484.5K Views](https://x.com/_avichawla/status/2034902650534187503/analytics) - [View quotes](https://x.com/_avichawla/status/2034902650534187503/quotes) --- *导出时间: 2026/3/22 01:16:40*
L LLM 推理原理详解:从 Prefill 到 Decode 本文深入解析了大语言模型(LLM)推理的计算流程。文章指出,LLM 推理主要包含 Prefill(处理提示词,计算密集型)和 Decode(逐词生成,显存带宽密集型)两个阶段。作者详细阐述了分词、Embedding、Transformer 层及 KV Cache 的工作原理,并分析了 KV Cache 带来的内存挑战及 vLLM 的优化方案。最后,探讨了 DeepSeek-V4 等新架构通过重新设计注意力机制来从根本上压缩 KV Cache 的创新思路。 技术 › LLM ✍ Avi Chawla🕐 2026-06-29 LLM推理KV CachePrefillDecodeDeepSeekTransformer性能优化
L LLM 优化面试笔记:训练与推理核心技术 这是一份针对 AI 实验室面试准备的笔记,涵盖了高效训练和部署大语言模型(LLM)的核心优化策略。内容主要分为三部分:内存优化(如 Flash Attention、MQA/GQA、激活检查点)、计算优化(序列打包、高效变体 Transformer)以及推理优化(KV 缓存、投机解码、量化技术)。文章旨在总结在大规模模型开发中应对算力和内存瓶颈的关键技术。 技术 › LLM ✍ Gauri Gupta🕐 2026-05-06 LLM优化推理训练Flash AttentionKV Cache量化面试Transformer性能优化
L LLM 推理原理:从 Prompt 到流式响应的全流程解析 文章深入剖析了大语言模型(LLM)的推理过程。首先介绍了文本如何通过分词和嵌入转换为向量,接着详细解释了 Transformer 层中的自注意力机制与前馈网络如何协同工作。文章重点揭示了推理过程的两个不同阶段:处理输入时的“预填充”阶段受算力限制,而生成输出时的“解码”阶段受内存带宽限制,这种性能差异导致了首个token与后续token生成速度的不同。 技术 › LLM ✍ Akshay🕐 2026-05-03 LLM推理Transformer分词向量嵌入自注意力机制KV缓存预填充解码技术原理生成式AI
大 大语言模型训练与服务背后的数学原理 本文基于 Reiner Pope 的播客内容,深入剖析了大模型在集群中的运行机制。文章通过 Roofline 分析和 KV Cache 等核心概念,解释了推理延迟、Batch Size、API 定价策略及 MoE 架构背后的物理与经济逻辑,揭示了硬件限制如何塑造 AI 进展。 技术 › LLM ✍ Saito🕐 2026-05-01 LLM推理架构设计数学原理MoEAPI定价性能优化Transformer
图 图解 Transformer 架构:从原理到细节的全面解析 本文深入浅出地解析了 Transformer 架构,它是现代大语言模型(LLM)的核心。文章从宏观视角出发,通过解码的方式,逐一拆解了 Transformer 的关键组件,包括编码器与解码器、分词与嵌入、位置编码、注意力机制(Attention)以及多头注意力等。作者详细解释了该架构如何解决传统模型的“遗忘”和“慢速”问题,实现了并行处理和长距离依赖捕捉,并最后阐述了其强大的原因。 技术 › LLM ✍ Amit Shekhar🕐 2026-04-18 Transformer架构解析注意力机制深度学习AILLM编码器解码器机器学习教程
一 一个 Token 的自我解剖:从分词到输出生成的全流程解析 文章以第一人称视角(Token),生动通俗地讲解了 Token 在大模型中的“一生”。内容涵盖 Token 的定义、分词方式(如 Byte-level BPE)、向量化原理、训练赋予语义的过程,以及在 Transformer 架构中通过 Q、K、V 和注意力机制进行指令处理与输出生成的完整技术链路。 技术 › LLM ✍ 程序员Left🕐 2026-04-16 大模型Token分词Transformer注意力机制Embedding向量技术原理
M Math Behind Large Language Model 本文介绍了大语言模型背后的数学原理,涵盖Attention机制、缩放因子、反向传播、梯度下降、交叉熵损失、RoPE位置编码和RMSNorm归一化等核心概念。 技术 › LLM ✍ Amit Shekhar🕐 2026-07-30 LLM数学原理AttentionTransformer机器学习深度学习梯度下降反向传播RoPERMSNorm
K K3 部署推理引擎指南 vLLM 宣布对 Kimi K3 模型提供首日支持。K3 是拥有 2.8 万亿参数的 MoE 模型,支持 100 万上下文窗口。vLLM 通过 DSpark 推测解码将吞吐量提升至 370 tok/s,并支持架构创新的混合缓存管理、预填充/解码分离及智能体服务,确保生产环境下的高性能与低延迟。 技术 › 后端 ✍ vLLM🕐 2026-07-28 vLLMKimi K3MoE推理引擎性能优化DSpark部署指南大模型基础设施
F From GPT2 to Kimi3, Explained 文章回顾了从 GPT-2 (2019) 到 KimiK3 (2026) 的大语言模型架构演进,重点对比了参数规模从 1.24 亿到 2.8 万亿的巨大跨越。深入解析了 GPT-2 的 Transformer 解码器结构、KV 缓存机制,并探讨了线性注意力机制在降低计算复杂度方面的原理与权衡。 技术 › LLM ✍ ali🕐 2026-07-28 LLMTransformerKimiK3GPT-2AttentionKV Cache架构演进线性注意力
6 60个AI黑话,一次性翻译成人类语言 文章将60个AI行业专业术语进行了通俗易懂的翻译和解释,涵盖基础概念、训练调优、推理交互、工具扩展、评估安全及前沿趋势六个方面,帮助读者快速理解AI技术地图。 技术 › LLM ✍ 概率鹿梦|AI Wealth Edge🕐 2026-07-22 AI术语大模型智能体AgentLLM科普翻译基础知识
每 每个 LLM 背后的五阶段流程指南 文章详细解析了构建大型语言模型的五个关键阶段:数据收集与预处理、预训练、及后续阶段。作者指出,大多数误解源于将“训练”视为单一步骤,实际上每个阶段解决不同问题。理解这一流程有助于识别模型行为根源及局限性,如幻觉或拒绝回答,并指导优化策略。 技术 › LLM ✍ CyrilXBT🕐 2026-07-17 LLM训练流程预训练数据处理TransformerAI工程模型构建数据预处理基础模型
A AI 大V人物小传(上) 这是一份按主题编排的AI领域人物小传(上篇),涵盖了从深度学习奠基者、大模型实验室领袖、Transformer论文作者到顶尖学术研究者的75位关键人物。文章详细介绍了每个人的背景、核心贡献及当前动态,包括Hinton、LeCun、Altman等业界巨擘。 技术 › LLM ✍ snowboat🕐 2026-07-05 AI人物传记深度学习大模型TransformerGeoffrey HintonAndrew NgSam AltmanOpenAI技术史