when reasoning pays off

运维随笔 · 从 GPT-4o 到 GPT-5.x 的容量规划

迁到推理模型,不能只凭模型名做容量规划

某个团队计划把 gpt-4o 的流量迁到 GPT-5.x 的推理模型上,需要为新部署算出 PTU 数量。出于本能,人们想复用已经管用的东西——要么把旧 gpt-4o 的 PTU 规模直接搬过来,要么给它套一个家族级的"5.x"乘数。这背后的假设是:模型名携带了足以 做容量规划的信息。但驱动 PTU 容量规划的不是模型名,而是 token 的形态——提示大小、 可见输出、隐藏的推理 token、缓存命中率、响应上限,都会改变结果。所以"只凭名字做 容量规划"的本能,正面撞上本文要问的运维问题——模型名够不够,还是必须先把请求的形态 重新测一遍?

一眼看懂本文。迁移的容量规划是一次建模计算,而不是查一下模型名。 推荐 PTU = ceil(需求 ÷ 密度 ÷ 目标利用率),而过大的响应上限 (max_output_tokens)在本仓库里被当成一个需要验证的准入风险假设——而不是 有文档记载的平台行为——以确认它会不会主导一个工作负载所预留的 PTU。这张单页概览 传达的就是这一条信息,并如实标明边界:这是一份在建模工作负载上、配着固定价格快照的 合成计算示例,而不是测得的容量。 打开迁移容量规划的单页概览 SVG
推理迁移容量规划的单页概览。沿着从需求 TPM、经提示+max_output 预留、除以密度与目标利用率、直到推荐 PTU 上限的容量链,并把过大的响应上限(max_output_tokens)标为一个需要验证的容量规划风险,而不是有文档记载的平台行为。核心信息:迁移的容量规划是一次建模计算。标明这是合成计算示例,而不是测得的容量。

为什么要重新测量,而不是复用旧规模

复用的反射假设模型名携带了规模——只要把管用的 gpt-4o 数值乘上一个家族 乘数,对 GPT-5.x 仍然合身。在接受这个假设之前,值得把两件事并排放一下。第一件是文档 规定的:Microsoft Learn 把流量换算成归一化 TPM,输入是峰值 RPM、平均提示与输出 token、 缓存率、模型的输出对输入比,以及每 PTU 的 Input TPM,并把缓存的提示 token 从利用率里 扣掉。OpenAI 把推理 token 记录为不显示的输出侧 token,报告在 output_tokens_details.reasoning_tokens 里。第二件是本仓库的示例计算:把那条 有文档记载的公式跑在一个调用形态的示例上,并排展示驱动规模的各个因素——它不是对任何 部署的测量。

值得停下来的,正是那个"成对"的部分。只看可见输出,迁移显得很好对付——同样的提示、 同样的可见答案,在新模型上大体同档,甚至可能略微更轻。但可见的答案不是请求的全部。 一旦隐藏的推理输出出现,同样的答案就可能需要多得多的归一化 TPM。而本仓库的工作假设 ——这是一个需要验证的准入风险,而不是有文档记载的平台行为——是:过大的 max_output_tokens 上限,无论那些 token 是否真的被生成,都可能预留下准入 权重。所以运维上的问题不是"新模型重不重",而是"我测得的请求形态——可见输出、推理 输出、缓存率、响应上限——实际预留了什么"。归一化 TPM 公式、逐模型的表、缓存扣减、 推理 token 的记账,是 Microsoft Learn 与 OpenAI 记录的;把过大的 max_output_tokens 当成一个需要验证的 PTU 准入风险,则是本仓库愿意为之背书的 运维推断。下面的图,是一份在建模工作负载上、配着固定价格快照的合成计算示例——不是测得的 容量,不是在线 PTU 吞吐量,也不是 SLA。下面的示例图把驱动规模的因素明示出来。

问题

在为 PTU 上的 GPT-5.x 给 GPT-4o 工作负载做容量规划之前,应该重新测量什么?

证据

Microsoft Learn 给出归一化 TPM 公式,OpenAI 记录了推理 token 的记账方式。

决策

从实测的 token 形态做容量规划,而不是从"5.x"这种家族级的假设。

容量规划公式,讲的是 token 的形态

Microsoft Learn 通过把流量换算成归一化 TPM 来给 PTU 需求做容量规划。输入是峰值 RPM、 平均提示 token、平均生成输出 token、缓存率、模型的输出对输入比,以及模型每 PTU 的 Input TPM 值。

公式:

normalized_tpm = rpm × (prompt_tokens × (1 - cache_rate) + output_ratio × output_tokens)

raw_ptu = normalized_tpm ÷ input_tpm_per_ptu

正因为有这条公式,家族级的捷径才会误导人。某个模型即便输出比更重,也可能拥有比前一个 模型更高的每 PTU Input TPM。答案取决于你工作负载实际的提示、输出、缓存画像。

决定迁移是否合身的,是四个因素

1. 输出权重

对于 GPT-4.1 及以后,Microsoft Learn 表示输出 token 在利用率里带有模型特有的输入 token 权重。

2. 隐藏的推理

OpenAI 把推理 token 记录为不显示的输出侧 token。请从 output_tokens_details.reasoning_tokens 测量。

3. 缓存率

Microsoft Learn 表示,缓存的提示 token 会从 PTU 利用率里扣除。因此前缀形态的变化会改变容量规划结果。

4. 响应上限

请记录 max_output_tokens。本仓库把过大的上限当成一个需要验证的 PTU 准入风险假设,而不是一个靠猜的值。

隐藏的输出可能改变答案

要读的图:一个 1,000 RPM、200 个输入 token、20 个可见输出 token 的 示例。前 3 根柱子使用官方的归一化 TPM 公式与模型表;后 2 根柱子加入 60 个推理 token 作为假设,说明为什么必须测量不可见的输出。
对比 GPT-4o 与 GPT-5.2 迁移因素的示例性 PTU 容量规划图。
示例性的容量规划行
模型 缓存率 生成输出假设 取整后的 PTU
可见基线gpt-4o0%20 个输出 token115
可见迁移gpt-5.20%20 个输出 token110
可见迁移 + 缓存gpt-5.250%20 个输出 token80
推理迁移gpt-5.20%20 可见 + 60 推理 token250
推理迁移 + 缓存gpt-5.250%20 可见 + 60 推理 token220

这意味着什么

只看可见输出的几行,并不支持"GPT-5.x 总是比 GPT-4o 效率更低"这种一刀切的主张。 真正的陷阱在推理那几行:一旦隐藏的推理输出出现,除非你测量并调好缓存与响应策略, 否则同样的可见答案可能需要多得多的归一化 TPM。

把迁移当成一次测量来做,而不是一次改名

  1. 固定任务构成。让提示、工具、模式、检索摆放、样本分布在各模型配置之间逐字节稳定。
  2. 测量可见输出。比较迁移前后可见输出 token 的均值与 p95。
  3. 测量推理输出。reasoning_tokens,不要从最终答案文本去猜。
  4. 测量缓存率。尤其在 ReAct 或工具模式变更之后,按缓存键分桶记录 cached_tokens / prompt_tokens
  5. 把上限调到合适。从有代表性的"可见 + 推理"分位数设定 max_output_tokens,对罕见的长答案用按调用的覆盖。
  6. 然后才做 PTU 容量规划。用当前的模型表和实测的工作负载形态,套用归一化 TPM 公式。

来源与证据边界

Tier 1 — 服务契约(Microsoft Learn 与 OpenAI)。归一化 TPM 的容量 规划公式、逐模型的每 PTU Input TPM 与输出对输入比、GPT-4.1 及以后的输出 token 权重、 利用率里 100% 的缓存扣减,以及推理 token 的记账,都记录在这里。

Tier 2 — 运维推断(本仓库)。把过大的 max_output_tokens 当成一个需要验证的 PTU 准入风险假设,以及对推理 token 与缓存 token 的测量约定,是本 仓库的运维推断,而非 Learn 规范。

本文证明了什么、又没证明什么。它记录了截至访问日期 Microsoft Learn 明示的 PTU 容量规划契约——归一化 TPM 公式、逐模型的每 PTU Input TPM 与输出对输入比、 GPT-4.1 及以后的输出 token 权重、100% 的缓存扣减——以及 OpenAI 的推理 token 记账,还有 本仓库的经验法则——在做容量规划之前,把输出、推理、缓存、上限都重新测一遍。示例图是把 有文档记载的公式套在一个调用形态示例上的结果。它是计算示例,而不是容量保证,也不证明 某个具体的 GPT-5.x 工作负载在所有区域、模型版本、流量形态下,比它的 GPT-4o 前任更重 还是更轻。

实用准则

实用准则:在把 GPT-4o 流量迁到 PTU 上的 GPT-5.x 之前,先把输出、推理、缓存、 max_output_tokens 上限策略重新测一遍,然后再用归一化 TPM 公式做容量规划。 因为单凭模型名,并不足以为一个工作负载做容量规划。

本文合上了这条运维之弧。循环回到方法论——回到当初是如何判断哪些证据足够强、强到值得公开。

实验室是如何判断哪些证据强到足以公开的