大模型推理的“两步走”:Prefill 与 Decode 全流程科普详解 📅 2026/6/26 2:50:07 生活化类比把推理比作一场开卷考试理解这两个阶段先看一个好懂的比喻Prefill预填充 通读材料做笔记拿到试卷你的问题和参考资料快速通读全文在草稿纸上记下要点、逻辑关联全程费脑力但不写任何答案。Decode解码 逐题逐字写答案看着草稿纸上的笔记逐字书写答案每写一个字都核对上下文过程轻松但只能一个字一个字写没法跳步。这里的“草稿纸”就是工程里关键的KV Cache键值缓存——模型理解问题后的核心记忆后续生成回答全靠它。二、Prefill预填充一次性吃透你的问题Prefill 是推理的第一步也是决定“你多久能看到第一个字”的关键阶段核心是一次性、并行处理你输入的整段问题完成“理解记笔记”。2.1 它具体在做4件事分词Tokenization把你的文字拆成模型能懂的最小语义单元Token比如中文里一个词、半个词都是1个Token再转换成数字ID相当于把人类语言翻译成模型的“数学语言”。全序列并行计算把整段输入一次性送入模型通过自注意力机制同时计算所有Token之间的上下文关联比如理清“它”指代橘子还是桌子。建立记忆KV Cache把计算好的关键信息Key和Value矩阵存入显存生成KV Cache——相当于把理解好的问题逻辑记在“草稿纸”上。产出第一个字基于最后一个Token的隐状态生成回答的第一个Token完成Prefill闭环。2.2 Prefill的4个核心特点特征通俗说明计算密集型要做大规模矩阵乘法输入越长计算量越大GPU算力是瓶颈长文本会陡增高度并行整段问题的所有Token同时计算速度快显存峰值高一次性给整段输入分配KV Cache长文本会瞬间占用大量显存决定首字延迟TTFT你发完问题到看到第一个字的等待时间完全由Prefill决定一句话总结Prefill 是模型“埋头苦读、吃透问题”的过程读得越快你看到首字就越早。三、Decode解码自回归逐字写回答Prefill生成第一个字后模型立刻进入Decode阶段核心是串行、逐字生成后续回答全程依赖Prefill留下的KV Cache。3.1 它具体在做循环操作把刚生成的1个Token及位置编码偏移作为新输入读取Prefill缓存的KV Cache以及之前Decode新增的缓存计算当前字与历史上下文的关联不用重新算旧内容采样生成下一个Token把新字的信息追加到KV Cache更新“草稿纸”重复以上步骤直到遇到结束符EOS、达到长度上限或触发异常终止显存不足、用户中断。3.2 Decode的4个核心特点特征通俗说明显存带宽密集型每次要读取庞大的KV Cache瓶颈是显存带宽不是算力严格串行必须等第N个字生成才能生成第N1个字没法并行单步计算量小每次只处理1个Token计算简单、耗时短决定输出流畅度TPOT每个字的间隔时间决定你感知的“打字速度”一句话总结Decode 是模型“奋笔疾书写回答”的过程受限于显存带宽只能一个字一个字往外“吐”。四、完整流程从输入到输出的四站旅程显存不足/超时/用户中断正常用户输入文本第一站分词 Tokenization文本转数字Token ID添加特殊标记CPU轻量操作瞬时完成第二站Prefill 预填充整段问题一次性送入GPU并行计算上下文关联生成KV Cache 显存占用高峰输出第一个回答字第三站Decode 解码生成循环输上一字→读KV Cache→生成下一字追加新内容到KV Cache异常判断终止生成直到结束符/达长度上限第四站反分词 Detokenization数字Token转回可读文字逐字流式返回给用户五、为什么必须分成两个阶段核心原因Prefill和Decode的计算模式、资源瓶颈完全不同强行合并会导致资源浪费、效率暴跌。Prefill vs Decode 核心对比对比维度Prefill预填充Decode解码输入规模成百上千个Token并行处理每次仅1个Token串行处理计算类型大规模矩阵乘法算力瓶颈小矩阵大量缓存读取带宽瓶颈并行性高度并行效率高严格串行效率低优化方向FlashAttention、算子融合KV Cache压缩、PagedAttention简单说Prefill适合“批量干重活”Decode适合“串行干轻活”分开处理才是最高效的方式。六、关键影响理解两阶段看懂模型体验与优化6.1 显存规划长文本的“隐形杀手”Prefill是显存占用高峰输入越长KV Cache占用越大。比如72B大模型处理128K超长文本KV Cache会占用数十GB显存显存不够直接接不了长问题。不同模型架构差异明显GQA分组查询头模型比普通模型KV Cache显存占用低30%~70%选型时要重点关注。6.2 体验权衡首字快 vs 输出顺长文档问答长Prefill短Decode优先看首字延迟TTFT建议控制在1~3秒内日常聊天短Prefill长Decode优先看输出流畅度TPOT建议控制在50~100ms/字接近人类打字速度。6.3 现代优化手段解决痛点、提升效率技术解决问题作用阶段小说明