跳到主要内容

推理 Span 中缺失的 kWh 列:单次请求的碳归因

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的推理火焰图(inference flame graph)有一个成本轴,但没有能源轴。这种差距在某天早上之前都没问题,直到客户的采购团队给你发来一份包含 23 列供应商可持续性披露信息的电子表格,其中一列是 每 1,000 次推理的 kgCO2e。你没办法填那一格,你的供应商给出的答案是一篇方法论论文,而交易将在 9 天内关闭。你的平台团队磨练了两年的 token 成本仪表盘突然看起来像是解决了一个错误的问题。

这里的转变并非抽象的。可持续性披露正在从公司层面的汇总转向产品层面的颗粒度。第一波浪潮于 2025 年进入了 CSRD 和 ESRS,而第二波浪潮现在正冲击着 B2B 采购合同。构建了成本可观测性的工程组织即将发现,他们需要针对碳排放的可观测性,而这两者在同一个 span 上并非同一列。

它在 span 级别(而不仅仅是月度账单级别)之所以重要,是因为汇总的碳足迹对于工程决策毫无用处。CFO 的汇报线告诉你问题有多大;它不会告诉你哪个检索调用、哪个重排序器(reranker)、哪个投机草稿(speculative draft)或哪个推理努力层级是你智能体中耗能巨大的子树。如果你的唯一碳数据存在于季度的 PDF 中,优化对话就永远无法触及真正能改变这个数字的团队。

为什么成本列不能替代能源列

人们很容易认为 token 就是 token,美元追踪 token,因此美元追踪能源。事实并非如此,而且这种差距还会扩大。

第一个原因是硬件异质性。一旦计入 8-GPU 机箱内的宿主服务器,一块 H100 在芯片层面的功耗约为 700W,每块 GPU 的功耗则接近 1,275W。而 A100 的功耗为 400W。在不同代际硬件上运行的同一模型,对于相同的 token 输出,消耗的功率大不相同。推理工作负载通常受内存限制,因此芯片往往运行在峰值的 70% 左右,而不是满负荷的 TDP。这些变化都不会体现在你供应商的每 token 价格中,那是根据竞争压力和利润策略设定的,而不是由运行你批处理任务的硅片的物理特性决定的。

第二个原因是推理模型。来自 o3 或 DeepSeek-R1 的 500 个可见 token 的回答,可能隐藏了模型为了得出结论而消耗的数千个内部推理 token。最近的基准测试发现,在 o3 和 DeepSeek-R1 上处理长提示词的单次请求消耗超过 33 瓦时(watt-hours)——是单次 GPT-4.1-nano 调用的 70 多倍。这些推理成本有的按输出 token 计费,有的则不计费,从计费美元到消耗千瓦时的映射在单个供应商内部不再是线性的,更不用说跨供应商了。

第三个原因是电网。在夜间风力发电区域处理的请求,其碳强度仅为中午燃气调峰电厂处理的相同请求的一小部分。你的每 token 成本合同根本不知道批处理运行时 GPU 物理位置在哪,而供应商的可持续性页面报告的是年度平均值,掩盖了实际驱动边际排放的小时级波动。

成本是一种可观测指标。能源是另一种。碳排放是第三种,由能源、地点和时间推导而来。将其中任何一个视为其他指标的代名词只能帮你度过下个季度,而一旦客户提出精确的问题,这种做法就会失效。

你今天真正能给出的估算值

你无法从封闭 API 供应商那里获得单次请求的准确千瓦时。但你可以获得一个合理的估值,而合理的估值正是审计员、客户和内部产品团队真正需要的。

估算的构成非常直观。单次请求的能源是模型类别(决定了每 token 的瓦特系数)、token 数量(输入、输出,以及你能检测到的推理 token)、数据中心效率开销(PUE,超大规模运营商通常为 1.10 到 1.20)以及请求运行小时内的区域电网碳强度的函数。这些因素没有一个是精确的。但所有因素都在一定范围内,因此产生的估算具有实用的不确定区间,而不是胡乱猜测。

对于模型类别系数,现在已有 30 多个生产模型的公开基准测试,其数量级是清晰的:GPT-4.1-nano 在长提示词下约为 0.0005 kWh,中层对话模型在 0.001 到 0.003 kWh 之间,像 o3 这样的推理模型在处理难题时超过 0.03 kWh。选择一个系数,记录来源,并每季度复核一次。不要假装这个数字比实际情况更准确,也不要因为它是近似值就拒绝发布。采购电子表格里没有“我们还在研究方法论”这一格。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates