Skip to content

分诊推理的真实成本,实测

成本指南对分诊推理的成本给出了一些说法。本页是这些说法背后的测量:我们自己的基准运行、完整的表格,以及方法与局限,好让你判断它们能在多大程度上迁移到你自己的环境。这里的每个结果都是一次单独的实测运行,既不是统计结果,也不是供应商给的数字。吞吐扫描用的是合成的、形如分诊的请求,价格是运行时读到的快照,而分诊耗时与准确率数字用的是一组固定的、包含 12 条告警的 golden 集。你的模型、硬件和告警构成都会让这一切发生变化。

我们测了三件事,从合成吞吐一路到真实分诊:一个填满的持续批处理在一块 serverless GPU 上能省多少、真实的消费级芯片与替它顶班的数据中心部件相比如何,以及一次真实分诊在一个可自托管的小模型上实际要花多久。每次运行结束后都会把它的 GPU 拆掉,所以没有任何东西还在计费。

持续批处理把 GPU 填满

每块 GPU 部署一个开源模型,并向 SGLang 的 OpenAI 兼容端点发出数量递增的、完全相同的形如分诊的请求。这测的是 worker 并发所解锁能力的 backend 一侧:随着客户端并发 N 上升,持续批处理被填满,聚合吞吐攀升,单请求成本下降。

这个 serverless 平台没有消费级 RTX 卡,所以用低端数据中心 GPU 来充当替身:A10G(Ampere 24GB)替 RTX 3090,L4(Ada 24GB)替一张 RTX 4090 级别的卡。Qwen3-14B 在 bf16 下大约需要 28GB,装不进一张还要留出批处理余量的 24GB 卡,所以这些 24GB 卡跑 DeepSeek-R1-Distill-Qwen-7B,它给更大的批处理留出了 KV-cache 空间。

GPU(替身)模型N=1 tok/sN=8 tok/sN=8 加速比$/1k req,N=1 到 N=8
L40S(中端,48GB)Qwen3-14B24.8146.75.9x4.37 到 0.74(降 83%)
A10G(约等于 RTX 3090)DS-R1-7B29.2216.77.4x2.09 到 0.28(降 87%)
L4(约等于 RTX 4090)DS-R1-7B17.3131.27.6x2.57 到 0.34(降 87%)

串行(N=1)在每张卡上都让 GPU 利用不足。在 N=8 填满批处理,测得聚合吞吐为 5.9x 到 7.6x,单请求成本为串行情形的 13% 到 17%。这些 24GB 卡显示出比跑 14B 的中端卡(5.9x)更高的加速比(7.4 到 7.6x),因为更小的模型给更大的批处理留出了更多 KV-cache 空间。L4 的绝对 tok/s 低于 A10G 是预期之内的,因为 L4 是一款低 TDP 的推理部件,所以它读起来像是一张真实 RTX 4090 的保守下限。各卡之间的扩展系数相近,而这正是重点:驱动节省的是利用率,不是显卡。

租用市场上的真实消费级芯片

一个 GPU 租用市场出租的就是货真价实的消费级卡,所以这一步检验的是 serverless 替身只能替代的真实硬件。同样的 7B 模型、同样的扫描、单块 GPU,之后把 pod 停掉。

当时的租用价格,community tier,从市场 API 读取:RTX 3090 $0.22/hr、RTX 4090 $0.34/hr、RTX 5090 $0.69/hr,对比 serverless 平台的 A10G $1.10/hr 和 L4 $0.80/hr。

在一张真实 RTX 3090 上实测:

Ntok/s(聚合)加速比$/1k req
145.81.00x0.267
4179.03.91x0.068
8352.27.69x0.035

批处理加速比在真实芯片上依然成立(N=8 时 7.69x,对比 A10G 替身的 7.42x 和 L4 替身的 7.58x)。真实 RTX 3090 跑得比 A10G 替身快(N=1 时 45.8 对 29.2 tok/s,N=8 时 352 对 217),因为 A10G 是一款削减版部件。实测成本在租用卡上更低:N=8 时每 1k 请求 $0.035,对比 A10G 的 $0.282,在这次运行里大约低 8x,得益于更便宜的卡($0.22 对 $1.10/hr)和更高的吞吐,且无需预先购买 GPU。pod 这条路冷启动很慢(拉镜像加下载模型),所以它是解耦运行的:创建、轮询直到就绪、扫描、停止。

真实分诊耗时,以及一个小模型是否顶得住

上面的扫描测的是合成的 token 吞吐。这一步测的是真实分诊:SocTalk 的分诊 eval 在 12 条 golden 告警上以 8 路并发驱动,在真实负载上对真实的 router 与 verdict 节点计时。

DeepSeek-R1-Distill-Qwen-7B,12 条 golden 告警,N=8:

Provider / GPUserving墙钟总时长verdictroutingschema errors
Serverless A10GSGLang43.2 s5/62/30
租用 RTX 4090(secure)vLLM11.3 s6/62/30

原版对比蒸馏版,两者都在租用的 RTX 4090(secure)上,N=8:

模型墙钟总时长verdictroutingschema errors
DeepSeek-R1-Distill-Qwen-7B11.3 s6/62/30
Qwen2.5-7B-Instruct(原版)16.7 s6/61/30

N=8 下的真实 golden 分诊在这些运行里以 11 到 43 秒跑完这组 12 条告警,不到一分钟。这个 7B 产出零 schema 错误、verdict 得分 5/6 到 6/6,所以一个可自托管的小模型在这里产出了合法的结构化分诊输出。原版 Qwen2.5-7B-Instruct 同样有效(合法的结构化输出、零 schema 错误、与蒸馏版相同的 verdict 得分),在 routing 上比蒸馏版落后一个案件,而这个 routing 样本太小,不足以读出很强的结论。

每次真实分诊的成本,按每个节点测量(一次完整的 agentic 运行是几次调用,所以大约乘以 2 到 3):$1.10/hr 的 serverless A10G 大约是每 1,000 条告警 $1.10;$0.69/hr 的租用 RTX 4090 secure 大约是每 1,000 条 $0.18,$0.34/hr 的 community 大约是每 1,000 条 $0.09。

这些数字背后的能力

上面的节省并非偶然。它们来自一小组推理能力,每一项都在公开地跟踪,它们合在一起让一次分诊运行既能指向前沿 backend,也能指向自托管 backend,并为之支付最低的、站得住脚的费率。有些今天已经就位,有些仍在建设中;issue 链接显示了每一项的进展。

  • 统一的请求基底#32)。每次分诊运行都表达为一个 InferenceRequest,解析到一个 tier,带有按 token 的预算,无论它落在前沿 API 还是自托管 GPU 上。下游没有任何东西需要知道它命中了哪个 backend。
  • 交付抽象#63)。每个 backend 都按其交付与计费方式分类,一个温热的前沿 API、一块 scale-to-zero 的 serverless GPU、一台常开的租用 GPU,或一个本地实例,从而让基底选出正确的驱动,并把按 GPU 秒计费的 backend 与按 token 计费的区分开来,而不是把每个 backend 都当成一个温热的、按 token 计量的 API。这种分类所带来的 serverless 就绪与调度,是下一个 tier 的工作(#64)。
  • 填满批处理的 worker 并发#61)。多个调查同时进行,所以有多个请求对 backend 在途,持续批处理被填满。那个被填满的批处理,正是本页吞吐提升与成本下降的来源。
  • Serverless 对齐#64,进行中)。冷启动容忍、突发释放调度,以及一个异步任务驱动,都是为了让一块 scale-to-zero GPU 能被消费而不会因为一个冷着的 worker 而丢失运行,从而让 scale-to-zero 的经济性在生产中可用,而不只是在基准里。基准测试正好撞上了这个缺口,冷着的 RunPod worker 在启动过程中返回一个代理 404。
  • 一等公民的自托管 serving#13,进行中)。在你自己的集群里跑模型,是那种把告警内容留在你边界内的部署方式,也是上面那个交付抽象所设想的集群内目标。
  • 一套基准测试与资格认证套件#33)。本页的证据由一套两轴的套件产出,它把模型质量与 serving 可行性分开,从而在信任一个小开源模型做任何决定之前,先拿它对照结构化分诊契约做检查。

底层是成本核算的主干:按 tier 的 provider 选择(#4)让较轻的 router 跑在比 verdict 更便宜的模型上;一个价格覆盖层(#5)阻止一个自托管或未知的模型按前沿费率计费;而强制的结构化输出(#3)是一个小模型要想根本可用就必须守住的契约,这正是上面那个 schema 错误列所测量的。

如何看待这些数字

  • 是方向性的,不是统计性的。 golden 集是 12 个案件(3 个 routing、6 个 verdict、3 个确定性策略),所以准确率数字指出一个方向,它们并不给一个模型下资格判定。在信任一个小模型做任何接近的决定之前,一个有代表性的基准才是真正的质量门。
  • 是按节点,不是按整次运行。 eval 把每个节点作为一次调用来计时,而不是一次完整的多轮调查,所以分诊秒数是按节点算的。一次完整运行大约乘以 2 到 3。
  • 价格是一份快照。 GPU 租用与 serverless 费率会变动,且是在运行时读取的。把它们当作不同选项之间的一个比值,而不是当前报价。
  • 运维因 tier 而异。 RTX 3090 的 pod 在 community 与 secure cloud 上都反复无法在 22 分钟窗口内提供服务,而 secure cloud 上的一张 RTX 4090 则可靠地起来了,所以在这些运行里,secure cloud 上更高 tier 的卡是更稳的一条路。租用的 pod 没有 scale-to-zero,所以拆除是手动的,每个 pod 都在每次运行后停掉。

结论:性价比最佳的配置

如果你想要简短的答案,这里是这些运行按情形所指向的结论。每个数字都来自上面的测量,所以要带着同样的告诫去看:单次实测运行、价格为快照、准确率为方向性。

情形在这里实测最佳的配置观测到的成本你接受的取舍
稳定的量,且你能运维一块 GPU一张租用的消费级卡(secure cloud 上的一张 RTX 4090 可靠地起来了,而 3090 没有),一个 7B 开源模型跑在 vLLM 或 SGLang 上,worker 并发设为 8 以填满批处理每 1,000 条告警大约 $0.09 到 $0.18,这组 12 条告警约 11 秒生命周期由你来跑:冷启动、没有 scale-to-zero、手动拆除
突发或低运维的量一块托管的 scale-to-zero serverless GPU,同一个 7B 跑在 SGLang 上,并发设为 8每 1,000 条告警大约 $1.10更高的每小时费率,但零空闲成本、没有东西要运维;为那些在冷启动期间到来的紧急突发保留一个温热的兜底
最难的案件,且运维最少一个有能力的前沿模型来做 verdict,打开 Batch API 和 prompt caching,再用便宜的自托管 tier 处理常规的中段前沿费率,但只作用在一小部分告警上每次调用最贵,换来的是没有基础设施,以及一个更有能力的、面向最难案件的托管模型 tier
告警内容不能离开你的边界等集群内 serving 落地后,在集群内自托管这个 7B,配上一个有能力的兜底和已就位的 safety floor这里未测量;在集群内 serving 落地之前,上面租用与 serverless 的自托管数字是方向性的替代参考serving 由你自己拥有;集群内部署仍在建设中(#13

在每一个自托管行里出力最多的那个单一配置选择,是 worker 并发设为 8,它填满持续批处理,也正是那 13% 到 17% 的成本和六到八倍吞吐的来源。把它与一个能在零 schema 错误下守住结构化契约的小模型、一张每小时更便宜的卡搭配起来,并在每次运行后把 GPU 拆掉。本页其余的一切都是这个的变体。

对大多数团队来说,顺序就是成本指南所列出的那一套:先批处理与缓存,接着把 router 放到更便宜的模型上,只有当量级和数据驻留需求值得去运维时,才上一个自托管 tier。

免责声明。 SocTalk 与任何 LLM 或 GPU 服务提供商都不存在从属、背书或赞助关系,这些运行背后的平台在成本指南中被提及,只是作为模型可以在哪里运行的示例。这里的数字是我们自己在一组固定 golden 集上的基准观测,而非提供商公布的数字,所有产品名称与商标归各自所有者所有。

基于 Apache 2.0 许可证发布。