跳到主要内容

AI 功能规格说明书中无人提及的碳排放项

· 阅读需 11 分钟
Tian Pan
Software Engineer

打开任何一份 AI 功能评论,你都会听到关于这三个数字的辩论:延迟、Token 成本和准确率。有人调出 P95 图表,有人计算单千次请求的成本,还有人争论评估分数 (eval score) 已经好到可以发布了。没人提到能源。没人提到碳排放。正因为没人提及,该功能的环保足迹仍然被决定了——由谁赢得了那场关于金额的争论所含蓄地决定。

这就是 AI 可持续性中沉默的问题。并不是团队故意选择了高碳设计,而是他们根本没有做出选择。碳足迹成了成本决策的副作用,而成本与碳排放之间仅存在松散的关联。在支出仪表盘上看起来大获全胜的路由规则,可能会悄无声息地让排放量翻倍,而会议室里没人会知道,因为那个能告诉他们真相的数字从未出现在仪表盘上。

这篇文章将能源和碳排放视为它们的真实身份:AI 系统的一个可测量、可掌控的属性,与延迟和成本处于同等地位。它不是企业价值的脚注,而是一个明细项。

为什么成本不再是一个好的代理指标

在软件历史的大部分时间里,你可以忽略碳排放,并相信优化成本会顺带降低碳足迹。更便宜通常意味着更少的计算,而更少的计算意味着更少的能源。AI 推理通过三种特定方式打破了这一假设。

地域 (Region)。 电力的碳强度——每千瓦时二氧化碳克数——在不同电网之间差异超过一个数量级。运行在水电或核电上的数据中心可能比依赖煤炭的电网清洁十倍以上。但云服务的定价几乎没有反映出这一点。两个地域每 GPU 小时的计费可能几乎相同,但其中一个的碳排放量却是另一个的十倍。选择较便宜的地域,你就无意中做出了一个关于碳排放的决定。

硬件代际。 新一代加速器每瓦特能完成更多工作。如果为了使用剩余配额而将工作负载固定在上一代硬件上,那么其每个 Token 消耗的能源可能明显高于当前芯片上的相同负载——而其标价看起来可能相似甚至更低。单 Token 成本奖励你使用廉价的闲置容量。但单 Token 碳排放则不然。

闲置容量。 这是大多数测量完全忽略的一点。生产环境的推理集群会保持机器处于预配置和温启动状态,以吸收流量高峰并在故障转移中幸存。无论你的请求是否落在这些机器上,这些闲置机器都会消耗功率。当 Google 发布其推理测量方法时,综合数据——Gemini 文本提示的中位数为 0.24 瓦时——是仅计算加速器活动时间的原始估算值 0.10 瓦时的两倍多。其中的差距就是闲置容量、主机 CPU 和内存以及数据中心冷却开销。大多数公开估算忽略了 40% 到 50% 的真实足迹,因为它们只计算芯片忙碌的时间。

这三者中没有一个能清晰地显示在成本仪表盘上。这就是为什么“我们优化了成本”不再等同于“我们优化了碳排放”。

单次请求碳排放数字究竟包含什么

如果你希望碳排放成为团队可以负责的数字,你需要一个数字——一个真正的、按每次请求计算的数字,你可以将其与成本和 P95 放在一起。软件碳强度 (Software Carbon Intensity) 规范(现已标准化为 ISO/IEC 21031:2024)为你提供了它的雏形。SCI 将排放表示为一个比率:每个功能单元的碳排放,其中功能单元是你的软件实际交付的任何东西——一个请求、一个生成的响应或一个完成的任务。

计算分为两部分。

运营排放 (Operational emissions) 是简单直接的部分:你的硬件消耗的电力乘以它运行所在电网的碳强度。陷阱在于“消耗”这个词。一个合理的单次请求估算必须包括加速器的活动功耗、主机 CPU 和内存、为你的流量保持温启动状态的闲置集群份额,以及由电源使用效率 (PUE) 捕捉到的数据中心开销——即冷却和配电的倍数。超大规模设施的 PUE 可能接近 1.1;而较旧的企业数据中心可能达到 1.5 或更糟,这意味着在非计算的所有事情上又多花了 50% 的能源。

隐含碳 (Embodied carbon) 是团队容易忘记存在的部分。制造并最终处置 GPU 在运行第一个 Token 之前就会产生碳排放。SCI 将这种一次性成本的一部分分配给软件,并在硬件的使用寿命内进行摊销。对于在昂贵、快速更迭的加速器上进行推理而言,隐含碳不是一个四舍五入的误差——它是总量的真实份额,这也是为什么即使电网是清洁的,“多买点 GPU”也绝不是零碳的原因。

你不可能做到完全精确。没人能做到。单次请求估算的重点不在于精确到小数点后三位;而在于始终向同一个方向“错误”,这样相对变化——这条路由规则与那条的对比——就是可信的,即使绝对数字是模糊的。一个大致准确且始终计算的足迹估算,胜过一个每年只在可持续发展报告中出现一次的精确数字。

成本优化与碳优化重合及分歧之处

这里有一个真正有用的消息:这两个目标并不对立。它们高度重合。危险在于假设这种重合是完全一致的。

共同的胜利源于以相同的产出完成更少的计算。缓存 (Caching) 是最纯粹的例子。提示词缓存命中 —— Anthropic 对缓存输入的折扣力度很大,而智能体 (agent) 工作负载通常有 60% 到 80% 的命中率 —— 这种方式跳过了实际计算。你不需要重新计算的 Token 既不产生费用,也不产生排放。规格调整 (Right-sizing) 也是同样的道理:将简单的分类任务路由到小型模型而不是前沿模型,既能削减账单,又能减少焦耳消耗。输出控制 (Output control) —— 在 200 个 Token 就能解决问题时,不要生成 800 个 —— 同样能减少这两者。任何能减少实际工作量的举措都是真正的共同优化,你应该全力以赴。

当你停止减少工作量并开始 转移 工作量时,分歧就出现了。原始 Token 价格是罪魁祸首。供应商的列表价格是由竞争、利润率和容量策略决定的。它们不是对能源的衡量,更不是对电网碳排放的衡量。一个单 Token 价格更便宜的模型可能会在能源更脏的地区、更旧的硬件上运行,或者在较低的利用率下运行 —— 从而排放更多。当你的路由逻辑在不同供应商和地区之间追逐最低标价时,它优化的是一个已经刻意与物理现实脱钩的数字。

因此,有一个经验法则:那些能 缩减工作量 的优化能同时降低成本和碳排放 —— 尽情追求这些优化。而那些将 工作转移到更便宜的地方 的优化则需要单独的碳排放检查,因为便宜和清洁不再是同一个地方。

路由是杠杆所在

碳意识设计关注推理而非训练是有原因的。训练是一种僵化的、高功率的工作负载,很难移动。推理则恰恰相反:它在 AI 总能耗中所占份额庞大且不断增长 —— 据最近估计,推理现在消耗了大部分能源 —— 且单个请求规模小,在一定限度内对延迟不敏感,并且可以进行地理路由。这种可路由性就是杠杆所在。

两种类型的转移是可行的。

空间迁移 (Spatial shifting) 将请求发送到当前运行在更清洁能源上的地区。如果一个查询并不在意是在燃煤密集的地区还是水力发电丰富的地区执行 —— 许多查询确实不在意 —— 那么它应该首选清洁电网。这是大多数团队可以使用的最高杠杆手段,且不会对用户可见的质量产生任何成本。

时间迁移 (Temporal shifting) 适用于任何不需要立即发生的任务:批量评估、嵌入再生、离线摘要、合成数据生成。电网碳强度随着太阳能和风能的变化每小时都在波动。可延迟的任务可以等待更清洁的时段。面向用户的请求不能等;但每晚的批处理绝对可以等,而几乎没有人会这样调度它。

问题与单次请求的数据一样:如果你不衡量碳排放,你就无法根据碳排放进行路由。碳意识路由需要将实时电网强度数据接入到已经进行成本和延迟决策的同一层中。大多数生产环境中的 AI 系统已经存在成本和延迟路由的基础设施。将碳排放作为第三个输入是一项扩展,而不是重建。

将其变为团队负责的指标

碳排放被忽视的最深层原因不是技术问题,而是没有人负责。延迟有负责人,因为它有 SLO 和传呼警报 (pager)。成本有负责人,因为有人会被追问账单。碳排放两者皆无,所以它没有负责人,不属于任何人的工作,因此处于游离状态。

弥补这一差距更多是流程上的变革,而非工程上的。

将数字放在现有的仪表盘上。 不要放在每季度才打开一次的独立可持续发展门户网站上。显示 p95 和单次请求成本的同一个 Grafana 面板,也应该显示单次请求的二氧化碳克数。一个存在于工程师日常关注之处的指标会得到维护。而存在于 PDF 中的指标则不会。

使其相对化并细化到功能层面。 因为 SCI 按功能单元进行标准化,单次请求的足迹与流量大小无关。这使得让团队为此负责变得公平:他们不应因产品变受欢迎而受到责备,只需为设计变得浪费负责。一个单次请求碳排放在版本更迭中持续攀升的功能显然出了问题,现在你可以在查看延迟回退的同一次评审中看到它。

在信任指标之前先建立回归测试。 在你相信碳排放数字能捕捉到真实问题之前,先刻意在预发环境中发布一个更糟糕的设计 —— 比如更重的模型、更脏的地区 —— 并确认仪表盘发生了变化。如果一个足迹指标对你已知更差的设计没有明显反应,那么它就不是一个你可以要求任何人负责的指标。这与你应用于任何评估 (eval) 的原则是一样的:在信任它能检测真实故障之前,先验证它能检测到人为埋下的失败。

一个诚实的告诫。单位效率提升很快 —— Google 报告称,单次 prompt 的碳排放中位数在一年内下降了 44 倍。但 AI 的总需求增长更快,更便宜、更清洁的查询只会吸引更多的查询。单靠效率无法压低总曲线;它是必要的,但并不充分。将碳排放视为真正的工程指标并不能解决这个问题。它只是确保当你的团队权衡时,这是一个有人刻意做出的决定 —— 而不是一场关于美元符号争论的副作用。

修复方法并非英雄之举。它只是你已有仪表盘上的多一列,你已构建的路由器的多一个输入,以及一个明确的负责人。碳排放不再是一个价值观宣言,而是开始变成它本该有的样子:规范中的一个条目。

References:Let's stay in touch and Follow me for more thoughts and updates