Read this paper write-up in English
Disagreement-Guided Routing:无正确答案标签的弱到强路由¶
component_only/ CPU 诊断:实现论文目标估计、两个真实拟合的 probe 和 validation 阈值合同。合成表示不是 LLM hidden state,不把机制检查写成 BFCL/WebShop 能力提升;不进入 Evolve。
论文信息¶
| 字段 | 内容 |
|---|---|
| 论文链接 | Disagreement-Guided Weak-to-Strong Routing |
| 公司/机构 | 一作 Sima Noorani、共同一作 Shayan Kiyani;University of Pennsylvania |
| 首次公开日期 | 2026-10-15,arXiv v1 17:19:57 UTC(北京时间 10-16 01:19:57) |
| 原文开源代码 | 尚未发布可运行代码;官方仓库当前只有 README,标注 Code coming soon;原文 A.5 说待接收后发布配置 |
| 本地 Adapter | 无(adapter: null);组件 key:disagreement-routing |
| 本地复现代码 | src/auto_research/agent_research/disagreement_routing.py;scripts/run_oct17_agent_components.py |
原始论文总结¶
背景与主要改动¶
“弱模型可能答错”不等于“强模型能补救”。原文用弱强分歧减去强模型自身分歧,估计升级调用的增益。离线只需对模型回答/动作做等价性比较,不需要判断哪个回答正确;测试时仅运行弱模型的表示和两个轻量 probe,路由决定升级时才查询强模型。
flowchart LR
A[离线弱模型与强模型多个响应] --> B[无gold的两种分歧目标]
B --> C[response probe / prompt probe]
D[训练折弱模型hidden states] --> C
C --> E[validation预算校准]
E --> F[测试仅弱模型表示]
F --> G[保留弱响应或升级强模型]
原图出处:原论文 Figure 1。
原论文关键图¶
原论文 Figure 1(关键图):三个 benchmark 的准确率—路由预算曲线及其与最优路由的差距;这是原论文结果,不是本地合成探针能力。图片来自原论文,版权归原作者所有;点击图片可查看来源。
核心公式¶
对每个弱响应,\(\widehat d_i=K_s^{-1}\sum_k A(y_{w,i},y_{s,k})\)。强模型自身分歧用 不同采样索引的有序配对:
不能把对角 self-pairs 当独立强模型样本,分母也不是 \(K_s^2\)。本地 empirical_targets 不接收正确答案,默认按响应精确不相等,也允许调用方提供安全的已解析动作等价函数。
两个软 BCE 训练目标为 \(f_d(h(p,y_w))\to\widehat d_i\)、\(f_g(h(p))\to\widehat g\)。论文校正分数为
分数可以为负,不能裁成 [0,1]。路由取 \(\widehat S_{CD}>\tau\),\(\tau\ge0\) 仅从 validation 校准;有相同分数的边界时保守少路由,避免为了凑配额随机越界。测试分布变化会使实际路由率变化,不承诺测试硬配额。
论文离线与线上效果¶
原文覆盖 BFCL Multi-Turn、WebShop、MATH-500、Spider 和 AceCode。附录 A.4 的 200 evaluation task WebShop 表:约 40% 路由预算下 corrected disagreement 成功率 0.460,raw disagreement 0.260;此表不能与正文另一个完整任务集合混成同一分母。未报告生产线上 A/B。这些均为原文结果,不是本地新模型测量。
本地复现¶
数据协议与操作¶
每 seed 生成 128 个独立合成 prompt-vector,80 train / 24 validation / 24 test;每 prompt 两个弱响应、12 个强响应采样。response 表示为合成 context 与候选编码,prompt 表示仅合成 context。它们不是 checkpoint hidden states,也没有声称语言能力。只有 train 数据构造目标并优化;标准化均值/方差不读 validation 或 test。
PYTHONPATH=src python scripts/run_oct17_agent_components.py \
--methods disagreement-routing --device cpu --seeds 42,43,44 \
--output runs/oct17-agent/disagreement-cpu.json
fit_probability_probe 用 NumPy 执行 200 次真实 Adam / soft-target BCE 更新,不是直接返回目标的查表。相同 seed 另训打乱 train 目标的负对照;独立 Counter 实现核对全部 d/g 目标。无 gold 答案进入目标构造、probe、推理或阈值校准;不存在需要绕过的模型回答 API。
CPU 机制结果(42/43/44)¶
| 指标 | 均值 |
|---|---|
| Response-probe train BCE,初始 → 最终 | 0.693459 → 0.634277 |
| Prompt-probe train BCE,初始 → 最终 | 0.693484 → 0.685691 |
| 与独立目标 reference 的最大误差 | 1.11e-16 |
| Validation 路由率 | 0.250000 |
| Test 实际路由率 | 0.305556 |
| Held-out 预测 score MAE | 0.276911 |
| Prompt-probe test MAE,正常 / 打乱目标 | 0.153005 / 0.165937 |
保留 test 分布漂移和较大 score MAE,不能根据 train loss 下降宣称路由能力提高。这里没有计算基准任务成功率。完整统计、seed 和 source hashes 见 CPU 指标。
代码映射与边界¶
empirical_targets 对应原文 Eq.9/10,corrected_score 对应 Eq.11,ProbabilityProbe 对应 soft BCE 接口;calibrate_budget 明确拒绝 split="test"。推理 DisagreementRouter.scores 只接受 prompt/response 表示,不接受强模型样本或答案标签。
没有实现真实弱模型 hidden-state 抽取、在线生成、Agent 多轮 DAgger 式数据聚合、真实 SQL/代码环境或官方全部基准。完整 8B 弱模型、多个强模型、每步 K=10、WebShop 数千任务和多预算长 rollout 在单 A100/A30/Mac 下成本过高,成本过高,不复现(审查 DONE)。这些缺失明确关闭,不留自动重试队列,不以低成本 fixture 冒充全文方法。
