prefill还是decode更慢?time-to-first-token 第1周:30分钟吃透Roofline模型与算术强度这个LLM推理第一心智模型

📅 发布时间:2026/10/22 1:46:48
prefill还是decode更慢?time-to-first-token 第1周:30分钟吃透Roofline模型与算术强度这个LLM推理第一心智模型
【免费下载链接】time-to-first-tokenA 10-week, 30-minutes-a-day roadmap for LLM inference serving and optimization. vLLM, SGLang, quantization, speculative decoding, benchmarking.项目地址https://gitcode.com/gh_mirrors/ti/time-to-first-token点击查看免费下载time-to-first-token是一个10 周、每天 30 分钟的 LLM 推理服务LLM Inference Serving实战路线图覆盖 vLLM、SGLang、量化、投机解码与压测基准。它的第 1 周不讲任何框架只教一件事Roofline 模型与算术强度Arithmetic Intensity——理解 prefill 与 decode 为何一个卡在算力、一个卡在内存带宽。吃透这个心智模型后面 9 周的量化、批处理、PD 分离才会从一堆技巧变成同一张图上的移动。为什么 prefill 和 decode 速度差这么多先搞懂 LLM 推理两阶段一条 LLM 请求的生命周期分两段正好对应你每天都在看的两个指标阶段做什么决定哪个指标瓶颈特征Prefill预填充并行处理整段 prompt算出全部 KVTTFTTime To First Token首 token 时延算力受限compute-boundDecode解码逐 token 自回归生成ITLinter-token latencytoken 间时延内存带宽受限bandwidth-bound所以prefill 还是 decode 更慢这个问题答案不是二选一而是两者慢的原因完全不同——prefill 在等算力decode 在等内存搬运。这也是 time-to-first-token 路线图中反复强调 TTFT 与 ITL 必须分开度量的原因把两个阶段合并成一个数字结论直接失效见 README.md 的发布前检查清单。Roofline 模型入门一张图看懂 GPU 性能瓶颈Roofline 模型把 GPU 性能拆成两条屋顶水平屋顶芯片峰值算力peak FLOPS再多需求也超不过这条线斜坡屋顶内存带宽 × 算术强度斜率就是带宽。任何 kernel 的实际性能是两条线的较小值于是 GPU 上的工作自然分成三个区域内存带宽受限区斜坡下方数据搬得比算得慢加再多 FLOPS 也没用算力受限区水平屋顶下带宽喂得饱拼的是计算效率开销受限区左下角落地区kernel 启动、调度等开销主导算力带宽都吃不饱。判断自己落在哪个区域的关键标尺只有一个算术强度。算术强度怎么算30秒判断一个 kernel 是缺算力还是缺带宽算术强度Arithmetic Intensity, AI 计算量 ÷ 数据搬运量单位 FLOPs/Byte。拿 decode 做个粗算batch 18B 参数模型FP16生成 1 个 token 要把全部权重从显存读一遍约 8B × 2B ≈16 GB 数据对应计算量约 2 × 8G ≈16 GFLOPs算术强度 ≈ 16G ÷ 16G ≈1 FLOP/Byte。而一块典型训练卡如 A100的脊点ridge point 峰值算力 ÷ 带宽 ≈ 312 TFLOPS ÷ 2 TB/s ≈150 FLOPs/Byte。1 远低于 150decode 稳稳落在斜坡区——它慢不是 GPU 不会算而是显存带宽不够搬。prefill 则相反一段几千 token 的 prompt 并行处理同一批权重服务海量 token算术强度轻松跨过脊点撞上水平屋顶。这一张图立刻解释了三件事为什么量化FP8/INT4主要救 decode权重字节数砍半、砍到 1/4搬运量直接下降为什么增大 batch 有用但有顶batch 抬高了 decode 的算术强度朝算力屋顶移动但 KV cache 会先把显存吃掉为什么投机解码speculative decoding在低 QPS 有效它在算力便宜、带宽昂贵的受限区里用便宜的 FLOPs 换掉昂贵的串行内存访问。time-to-first-token 第1周学习计划5 个 30 分钟会话怎么安排第 1 周不需要任何 GPU整周都是阅读 一次手工推导节奏如下来源README.md 第 1 周章节天类型内容Monread《Making Deep Learning Go Brrrr From First Principles》Horace He前半算力 vs 内存带宽 vs 开销三区域Tueread同一篇后半算子融合、开销以及为什么给带宽受限 kernel 加 FLOPS 毫无意义WedreadStanford CS336 Lecture 5GPUs前 30 分钟GPU 执行模型与内存层级ThureadLecture 5 后 30 分钟算术强度、Roofline、为什么数据搬运主导Fribuild手工推导你目标模型的算术强度画出自己的图⏱️本周交付物一张你自己推导的算术强度图 能脱口而出哪个阶段是带宽受限、为什么。价值在于自己产出数字而不是再读一遍解释。每完成一项可打开 index.html 网页版路线图或 progress.md 勾选打卡进度保存在本地浏览器随时续学。为什么这个心智模型排在第1周路线图作者把 Roofline 放在最前面是刻意的设计后面每一周都是同一张图上的一个动作第 2 周 vLLMPagedAttention 把 KV 内存碎片压到 4% 以下本质是让 decode 少搬无效数据第 4 周 SGLang / 连续批处理continuous batching 就是在抬高算术强度、朝算力屋顶逼近第 6 周量化攻击的是带宽受限的 decode第 7 周投机解码在带宽昂贵处花掉便宜的 FLOPs第 8 周 PD 分离prefill 吃算力、decode 吃带宽两者挤在同一张 GPU 上互相抢资源干脆拆到不同机器。正如 README.md 所说没有这个模型后面的优化只是一堆没有逻辑的技巧。上手清单如何开始第 1 周把仓库克隆到本地可选纯阅读也可以直接浏览文件git clone https://gitcode.com/gh_mirrors/ti/time-to-first-token通读 README.md项目总览、10 周路线图与决策点对照上表完成 Mon–Thu 四篇核心阅读视频 文字双版本可只读文字Friday 动手选定一个 7–8B 目标模型比如 Llama-3.1-8B 或 Qwen2.5-7B手算权重字节数、单 token 计算量得出你的算术强度标注它落在 Roofline 的哪个区域在 progress.md 中勾选第 1 周 5 个会话进入第 2 周部署 vLLM。一句话总结prefill 快慢看算力decode 快慢看带宽先学会用算术强度定位瓶颈再看任何 LLM 推理优化你看到的就是同一张 Roofline 图上的一次移动。赞分享【免费下载链接】time-to-first-tokenA 10-week, 30-minutes-a-day roadmap for LLM inference serving and optimization. vLLM, SGLang, quantization, speculative decoding, benchmarking.项目地址https://gitcode.com/gh_mirrors/ti/time-to-first-token点击查看免费下载相关推荐Bullet Train主题系统详解如何定制化你的SaaS应用界面Bullet Train主题系统详解如何定制化你的SaaS应用界面 想要快速打造专业美观的SaaS应用界面Bullet Train主题系统为你提供了完整的解一条群聊通知就敢发模型这是自信还是傲慢AI 圈吵翻了一条群聊通知就敢发模型这是自信还是傲慢AI 圈吵翻了 2026 年 9 月 8 日下午DeepSeek 官方用户群里出现了一条不到 100 字的通知V4人工智能大模型基础模型多模态DeepSeekits-matrix-computation Roofline模型详解快速判断矩阵乘是计算受限还是访存受限its matrix computation Roofline模型详解快速判断矩阵乘是计算受限还是访存受限 在大模型训练与推理中矩阵乘法GEMM/GEMV高性能计算CANN上一篇终极NVIDIA Profile Inspector DLSS优化实战从异常诊断到性能调优全攻略下一篇如何快速获取百度网盘直链3步终极解决方案告别限速困扰创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考