LLM 推理手册
_LLM 推理手册(LLM Inference Handbook)_是您的技术术语表、指南和参考手册,三位一体。它涵盖了您需要了解的关于 LLM 推理的一切,从核心概念与性能指标(例如首 token 时间与每秒 token 数),到优化技术(例如连续批处理和前缀缓存)、GPU 架构,以及 BYOC 和本地部署等部署模式。
- 在生产环境中部署、扩展和运维 LLM 的实用指南。
- 通过交互式计算器、模拟器和可视化工具探索相关概念。
- 利用针对您的使用场景量身定制的优化技术提升性能。
- 持续更新最新最佳实践与经过实战检验的洞察。
写作动机
我们编写这本手册是为了解决开发者面临的一个常见问题:LLM 推理知识往往是零散的;它们深藏于学术论文之中,散落在厂商博客之间,隐藏在 GitHub issue 里,或在 Discord 讨论串中流传。更糟的是,其中很多内容都默认你已经理解了技术栈的一半。
很少有资源能把它们整合在一起——例如推理与训练有何不同、为什么在满足 SLO 时有效吞吐量(goodput)比原始吞吐量更重要,或者预填充-解码分离在实践中是如何运作的。
于是我们开始把它们汇集到一起。
本书面向谁
这本手册面向在生产环境中部署、扩展或运维 LLM 的工程师,无论你是在微调一个小型开源模型,还是在你自己的技术栈上运行大规模部署。
如果你的目标是让 LLM 推理更快、更便宜或更可靠,这本手册就是为你准备的。
如何使用本书
你可以从头到尾通读,也可以把它当作速查表使用。无论怎么浏览都没有对错之分。随着领域的发展,我们会持续更新这本手册,因为 LLM 推理变化很快,今天有效的方法明天未必仍然是最佳选择。
交互工具
本手册提供了各种交互式工具,帮助您通过直接尝试这些概念来学习:
- LLM 推理可视化工具:逐步查看请求生命周期,观察 token 如何经过预填充(prefill)和解码(decode)流程。
- LLM 生命周期图:了解训练和推理在模型生命周期中的位置,以及推理如何作用于每个请求。
- 逐 token 解码循环:逐步演示自回归解码,观察每个新 token 如何扩展序列和 KV 缓存。
- 延迟时间线可视化:查看每个解码步骤之后如何进行去分词(detokenization),以及 TTFT、ITL 和 E2EL 分别跨越哪些阶段。
- 上下文窗口模拟器:观察每轮对话如何重新发送完整对话并填充上下文窗口。
- 延迟指标演示:探索 TTFT、E2EL、TPOT 以及基于 SLO 的有效吞吐量(goodput)。
- Top-p 与 Top-k 过滤器:比较每种过滤器如何处理尖峰分布、混合分布和平坦分布。
- 模型浏览器:浏览热门的开源 LLM,比较它们的架构、规模、上下文长度和典型的 GPU 部署方案。
- GPU 对比表:将热门开源 LLM 与合适的 NVIDIA 和 AMD GPU 进行匹配。
- GPU 显存计算器:估算服务一个 LLM 所需的显存(VRAM)。
- 量化内存影响可视化工具:比较不同量化格式下的权重内存占用。
- 批处理策略模拟器:比较静态、动态和连续批处理的行为。
- 分块预填充调度器:观察整个预填充如何阻塞正在进行的解码,以及分块如何让解码得以继续。
- KV 缓存内存计算器:估算 KV 缓存消耗多少内存。
- GPU 执行与内存图:可视化线程、线程束(warp)、流式多处理器(SM)以及 GPU 内存层次结构是如何组合在一起的。
参与贡献
我们欢迎各种形式的贡献!如果您发现了错误、有改进建议,或想添加新主题,欢迎在我们的 GitHub 仓库 上提交 issue 或发起 pull request。