成本与阅读路线
研究截至 2026.10.02

Token 工厂
推理优化技术教程

看清一个token经过哪些工序,
钱花在哪里,技术又省下了什么。

研究截点 2026-10-02 · 一手资料为主 · 全文离线可读

输入与路由少重做 / 选合适模型
→
Prefill读输入 / 建KV状态
→
Decode读状态 / 验证或生成
→
合格交付质量 + 时延 + 全成本

研究日期:2026-10-02。这里的“token 工厂”指持续接收请求、运行模型并交付输出的推理基础设施:从模型、算子、显存,到网络、调度、缓存与服务质量。重点是文本自回归大模型;MoE、长上下文、推理模型与多模态入口也纳入边界。训练优化仅在它改变推理结构、精度或草稿能力时讨论。

先建立一张直觉地图

把推理服务想成一家需要随时接单的翻译工厂。模型权重是工人的知识,GPU 算力是脑力,HBM 带宽是翻阅资料的速度,KV cache 是已读材料的笔记,调度器是领班,网络是车间之间的运输带。这只是教学类比:权重、KV 和请求数据的寿命、布局与可共享范围并不相同。

一条请求先经过 prefill(预填充):阅读已有输入,计算各层状态;随后进入 decode(解码):依据已有状态逐步生成。常规自回归生成中,后一个 token 依赖前一个已经选定的 token,因此不能简单把一句话的每个位置当作互不相关的任务同时生成。推测解码通过“先猜、再批量验证”改变执行方式,而不是取消这种概率依赖。

最常见的优化可以归为六个动作:少算、少搬、少存、少重做、少等待、少用昂贵资源。这六项会互相影响。压缩 KV 既少存也少搬;减少显存碎片能放进更多请求,但过大的 batch 又会拉长单人等待。

三种成本必须分开看

以下是本教程统一使用的分析定义,属于成本建模,不是某个厂商的计费规则。

指标 定义 能回答的问题
每百万合格输出 token 成本 同一观测窗口内全部服务成本 ÷ 合格输出 token 数 × 10⁶ 工厂生产一个输出 token 的资源效率
每次成功任务成本 包括重试、验证、工具调用的全部成本 ÷ 成功完成的任务数 用户真正拿到结果付出了多少
API 每百万 token 价格 服务商对输入、缓存输入、输出等分类的报价 采购支出;不能反推真实制造成本

这里的“合格”是教程为比较定义的门槛:服务满足预先固定的质量和延迟要求。质量通常在样本或任务级验收,不能把每个 token 独立判成正确或错误。若把失败请求从分母剔除,仍必须把它消耗的资源留在分子,同时报告拒绝率和完成率,防止通过拒绝困难请求“优化”成绩。

设观测窗口总成本为 C、满足条件的输出数为 N,则 c = 10⁶ × C / N。若一套系统每小时成本 H、实测合格输出速率 G token/s,则 c = 10⁶ × H / (3600 × G)。所有空闲时段、网络/CPU/存储、草稿模型、失败请求、重计算都要计入相同窗口。自建用折旧、电力、机房和运维;租赁用实际租赁账单,不能在租赁价之上重复计提硬件折旧。

教学算例:基线每小时 100 元,合格输出 10,000 token/s,成本为 2.78 元/百万输出 token。优化后每小时 120 元、合格输出 15,000 token/s,成本为 2.22 元,下降 20%。吞吐提高 50%,但每小时资源支出也增加 20%,因此成本并没有下降 50%。这些数字是演示假设,不是产品报价或实测。

再看任务成本:假设 A 每次尝试 0.08 元,B 每次 0.05 元,但完成同样任务 A 平均尝试 1 次、B 平均尝试 2 次,则 A 为 0.08 元、B 为 0.10 元。便宜的尝试可能得到昂贵的结果;还要检查最终任务成功率是否相同。

成本曲线为什么比峰值 TPS 更重要

MLPerf Endpoints 同时观察系统总吞吐、每用户生成速度、首 token 延迟和并发数,随负载变化形成性能曲线。实际选择应在同样服务要求下比较曲线上的可行点。[1]

缩写 白话解释 诊断价值
TTFT 发出请求到首个有效输出的时间 包括排队、prefill、必要传输等;影响“多久开始回答”
TPOT / ITL 平均每输出 token 时间 / 相邻输出间隔 两者统计定义不能混用;流式卡顿要看分布和长尾
TPS 每秒输出 token;须说明是单用户还是全系统 单用户更快不必然使系统整体更省
SLO 服务目标,例如 TTFT p95 ≤ 1 秒、ITL p99 ≤ 80 毫秒 本教程示例阈值是教学假设,实际由产品确定
Goodput 达到指定质量/时延条件的有效产出率 论文可能用请求/s或token/s,必须先统一单位
P50/P95/P99 50%/95%/99%观测值不超过的水平 平均值会隐藏少量严重卡顿

版本细节也会改变比较口径:检索时 Endpoints 展示页以 v0.7 的 TTFT P95 解释曲线,而 GitHub v1.0 草案明确改用 P90。二者不是同一个统计量,本教程不把草案当作已冻结通用标准。[1][2]

找瓶颈:先看是哪一种“忙”

以下公式是教学近似,用于建立因果关系;真实性能还受流水重叠、缓存命中、并行通信、批大小和实现影响。

单步时间下界 ≳ max(所需 FLOPs / 有效计算吞吐,所搬字节 / 有效内存带宽,通信量 / 有效网络带宽),另外还有无法重叠的调度与启动开销。只有实际处在某项瓶颈,优化该项才可能显著改善端到端成本。硬件标称峰值不能直接作为“有效”吞吐。

症状 首先核查 对应路线
小批量 decode 慢、算力利用率低 权重和 KV 读取、kernel launch 低比特权重、推测解码、算子融合、CUDA Graph
長输入首字等待久 prefill算子效率、排队、重复前缀 FlashAttention、前缀缓存、chunked prefill、P/D分离
显存满但计算空闲 KV容量、碎片、预留过量 分页、GQA/MLA、KV量化、分层缓存
多卡反而慢 TP/EP通信、链路拓扑、负载不均 并行度重选、局部化、通信计算重叠
平均很快但尖峰卡住 入队、冷启动、长短请求争抢 准入、分桶、弹性、缓存感知路由
设备不忙、账单却高 需求不足、保留实例过多 缩容、合并池、模型路由、离线任务填谷

一个常见误解是“prefill 必然计算受限、decode 必然带宽受限”。应改成:常见长输入 prefill 和小批量 decode 倾向于这些瓶颈;长上下文 attention、大 batch、MoE通信或短请求启动开销都可能改变主导因素。

为什么加速倍数不能连乘

教学算例:假设一步耗时 10 ms,其中 8 ms 读权重、2 ms 做其他事。量化把这 8 ms 降到 4 ms,总时间为 6 ms,加速只有 1.67 倍。再引入一种同样减少权重读取的优化,不能把它在原始基线上的加速倍数直接乘上去:第一次优化已改变瓶颈。不同优化是否互补,取决于是否改善不同的剩余成本。

这也是 Amdahl 思路:若可优化部分占 p、局部加速 s,则整体加速 1 / ((1−p)+p/s)。现实中还要加入优化自己的开销,并重新测量质量、排队和吞吐。

路线选择:先做哪件事

下面是依据各章机制综合形成的工程判断,不是对所有模型通用的性能排序。

工作负载 第一轮候选 第二轮候选 特别容易踩的坑
低并发对话 成熟推理引擎、兼容低比特kernel、Graph 高接受率的推测解码 等待凑大batch;无需求仍保留多个P/D池
高并发短问答 连续批处理、分页KV、限流和批大小 量化、弹性、请求路由 吞吐增长但每人更慢;缓存命中不高却支付迁移费
大量共享前缀/RAG 精确前缀缓存、缓存感知路由 分层KV、chunked prefill 缓存键忽略模型版本/租户;把任意相似文本当可复用KV
长输入短输出 prefill优化、缓存、上下文裁剪评测 P/D分离与计算型P池 把长KV搬给只生成几步的D池,传输不划算
短输入长推理 decode效率、合适精度、推测 KV容量管理、思考预算评测 单token便宜但推理过长;过早终止毁掉纠错
巨型MoE EP/TP布局、专家均衡、低比特与通信 attention/FFN分离等研究路线 活跃参数少不等于权重占用少;跨网all-to-all瓶颈
离线批处理 更大batch、吞吐优先、弹性填谷 CPU/NVMe卸载、跨代设备 拿离线结果宣称在线同样快
多模态/实时语音 编码器/LLM/解码器各阶段profile 编码器与P/D池分离、输出缓存 只优化文本decode,遗漏音视频编码与实时deadline

应用层也会改变工厂负载

模型路由、级联与蒸馏

直观地说,先判断一张工单需要普通工人还是专家。RouteLLM 训练路由器,在强、弱模型间选择,以平衡成本和回答质量;它有公开实现。[5][6]

具体做法:先用真实任务建立各模型的质量—延迟—成本表;给路由器输入问题特征;达到阈值时使用较小模型,否则升级。级联则先尝试便宜模型,再根据判别结果追加一次更强模型调用。路由器成本、错误分流、二次调用和更长输出都应计入。蒸馏是提前让小模型学习特定能力;其训练与评测成本应按未来请求量摊销,且必须复核目标业务质量。

教学判断:如果便宜模型处理80%请求,每次成本为强模型的1/5,剩余20%直接走强模型,忽略路由开销时平均成本为0.8×0.2+0.2×1=0.36。这个64%的节省只成立于假设的分流率和同等合格率;它不是RouteLLM实验结果。

Prompt压缩、检索与输出约束

LLMLingua 通过预算控制和逐token压缩等方式缩短输入,是改变所需处理量的算法路线。[8] 教学类比是把一箱文件整理成重点材料。收益来自更少的prefill计算和KV占用;压缩器自己也耗算力,删除证据可能损害回答,改写前缀还可能降低缓存复用。因此要评估“压缩成本 + 压缩后推理成本 + 质量损失引起的补救”。

RAG的检索、重排和合理top-k、去除重复工具返回、结构化输出和合适的最大输出预算,也能减少无效工作。它们降低的是完成任务所需的token数量,不能直接宣称底层每个token算得更快;改变上下文后还需做任务级回归。

推理预算与提前退出

s1 的 budget forcing 展示了通过终止或延长思考来控制测试时计算量。[11] 但2026-09的预印本指出,在其研究的模型与基准中,反复得到相同中间答案并不足以证明推理已完成。[12]

教学类比是:学生重复说同一个答案,可能只是还没发现自己的错误。可以按难度设思考预算、用验证器判断或做分档服务,但判断器也需要算力,必须计入“节省的生成 − 额外判断 − 更多失败”。这种方法改变生成策略和质量,不属于具有同分布保证的精确推测采样。

功耗控制:省电与省总成本的差别

GreenLLM 研究按prefill/decode阶段和SLO余量调整GPU频率。其论文使用8张A100 40GB、Qwen3-14B和Qwen3-30B-MoE、Dynamo v0.3.1及流量回放,摘要报告相对默认DVFS最多34%能耗下降,并有额外SLO违规,而非普遍零代价节能。[4]

本教程的推导:若电力只占总成本的15%,即使电费下降30%,在其他条件不变时总成本也只下降4.5%;若吞吐下降需要增加机器,还可能抵消收益。租用固定时价实例时,节电收益是否传导给租户还取决于计费方式。

从研究结果到可上线结果:一份最小实验协议

  1. 固定模型版本、tokenizer、权重精度、KV精度、输出采样与业务质量门槛;能改变模型的路线另设质量匹配对照。
  2. 保存输入/输出长度分布、共享前缀比例、到达时间、并发和冷热缓存状态;用真实trace以及长尾/突发压力样本。
  3. 记录每套方案的设备数、设备型号、TP/PP/EP/CP、软件commit、网络拓扑、批大小和内存预算。
  4. 扫描多个负载点;同时测TTFT、ITL/TPOT、完成率、拒绝率、系统TPS、GPU/CPU/网络/存储、能耗与全窗口成本。
  5. 做逐项消融:基线 → 单个优化 → 组合优化,解释瓶颈转移;既测稳态,也测冷启动、故障恢复和缓存未命中。
  6. 以“质量达标 + SLO达标”约束下的成本比较方案,给置信区间或重复运行波动;不能只挑最好一次。
  7. 从影子流量开始,再小比例放量;保留回退配置。达到业务指标才把实验性方法升级为生产候选。

2026-09的MLPerf v6.1已纳入端到端RAG和Agentic Edge等基准,GPT-OSS-120B的Interactive场景允许推测解码,提示行业评估正从单次模型运行扩展到更完整的工作流。[7] 本教程据此判断:未来降本比较应同时报告制造效率和任务结果,而不只展示峰值token吞吐。

读图与证据等级

发展图谱中的时间是代表性论文/发布节点,不表示所有团队在那一年同时采用。箭头标识“解决前一阶段剩下的瓶颈或在其上组合”,不自动表示作者传承或论文引用关系。多个分支长期共存,旧技术不会因为新论文发布就失效。

证据按三类阅读:论文/预印本支持机制和论文内实验;官方代码/文档支持该实现当前公开的功能和限制;标准化基准/公开配置支持特定条件下的性能。官方营销口径、作者自报、未复现实验都明确标注;它们不能替代目标工作负载的成本实验。

本教程的公式、算例和交互实验是教学推导,标为“教学假设”,不把它们混入实测性能。公开资料无法穷尽所有闭源优化和客户成本,本次“完备性”限定为所定义技术范围的覆盖闭环,而非声称收录世界上所有推理论文。