5.1 并行求值与投机性扇出


5.1 并行求值与投机性扇出

本节摘要:LLM 的输出是串行链条——第 N 个 token 依赖前 N−1 个,所以生成越久越贵;Jev 对一个请求里的 K 个问题同时求值,延迟主要由 state 大小决定,追加问题几乎不增加响应时间,只增加少量 token 费用。独立实测(Flavio Copes):13 个问题一次问完,比串行问 13 次便宜约 12.2 倍、快约 10 倍。这带来一个反直觉的工程结论与一个新姿势——结论:问题越多单价越低;姿势:投机性扇出(speculative fan-out),把一个场景里所有可能用到的判断一次性全问掉,哪怕一半答案暂时用不上。软件设计的惯性因此改变:从"能少调一次是一次"变成"反正都问了,答案留着总有用"。

学习目标

阅读完本节,你应当能够:

  1. 解释串行生成与并行求值的本质差异及其成本含义。
  2. 复述 13 问实测数据并算出扇出的性价比。
  3. 在代码里组织一次规范的投机性扇出。

一、串行 vs 并行:成本的分水岭

LLM 生成(串行) Jev 求值(并行)
第 N 个输出依赖前 N−1 个吗 否(K 个问题同时算)
延迟主要取决于 生成长度 state 大小
多问一个问题 ≈ 重新来一次完整调用 几乎不变慢,只加一点 token 费

推论:请求的"单位"不再是"一个问题",而是"一份 state + 一组问题"。同一份 state 上的判断,无论几道,都应合并进一个请求。

二、扇出的性价比(实测数据)

独立深度评测的对照实验:13 个问题一次问完 vs 串行问 13 次——便宜约 12.2 倍,快约 10 倍。

粗算直觉:一次调用的成本 ≈ state token × 单价(输出免费),延迟 ≈ state 处理时间。串行 13 次 = 付 13 次 state 的钱、等 13 次 state 的时间;扇出 = 付 1 次 state + 13 份很短的问题描述的钱、等 1 次的时间。

💡 state 才是大头:判断题的问题描述通常只有几十 token,而 state(文档、工单、上下文)动辄上千 token。合并请求省的是重复传输 state 的钱和时间。

三、投机性扇出的组织方式

把一个业务场景里所有可能用到的判断一次性声明:

questions = { # 路由要用 "topic": { "type": "choice", "instructions": "工单主题归类", "criteria": {"billing": "计费问题", "technical": "产品故障", "sales": "购买意向", "other": "以上皆非"} }, # 排序要用 "is_urgent": { "type": "noul", "instructions": "该消息表达了紧迫性" }, "is_angry": { "type": "noul", "instructions": "该消息包含强烈不满或威胁性表述" }, # 现在没用,但顺手问了 "is_sponsor": { "type": "noul", "instructions": "该消息是商业推广或赞助请求" }, "needs_refund": { "type": "noul", "instructions": "该消息明确提出退款要求" }, } answers = client.system_one(state=ticket, questions=questions) # 一次调用,五个答案同时回来;下游按需取用,不用的丢弃

"投机性"的含义:你其中一部分答案将来有用——赌注极低(每问几百 token 的千分之一美分级成本),赌赢一次(少发一次请求、少等一轮延迟)就回本。

三个组织纪律:

  1. 同一份 state 的问题才合并——state 不同(比如排序场景里逐个候选)就必须分请求(第 7.1 节);
  2. 问题 ID 稳定命名——扇出的问题集合会随业务长大,ID 是你日志与回归集的主键(第 9 章);
  3. 答案全量落盘——这是第 8.3 节影子模式和第 9 章回归集的数据来源,"不用的答案"在评测里都是金子。

四、设计惯性的迁移

传统惯性(判断昂贵) Jev 时代(判断廉价)
能少调一次是一次,懒执行 反正都问了,答案留着总有用
一个大而全的"综合判断" 多个原子判断并行 + 代码组合
判断结果即用即弃 全量落盘,喂养回归集与校准监控

第 1.2 节的 Jevons 悖论在这里落地:判断便宜到可以"浪费",而"浪费"出来的数据反过来让判断越来越可靠。

本节要点回顾

  1. 本质:并行求值 → 延迟由 state 决定,追加问题近零成本。
  2. 实测:13 问扇出比串行便宜 ~12.2 倍、快 ~10 倍;省的是重复 state。
  3. 姿势:同 state 的所有可能判断一次问完(投机性扇出),答案全量落盘。
  4. 纪律:不同 state 不合并;ID 稳定命名。

快和便宜讲完了。但概率凭什么可信——凭什么 p > 0.9 敢直接写进生产代码?答案在训练范式里,下一节拆 RLCD。


作者与出处
原作者: 灏天文库
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天文库 转发
评论区 (0)
U