|
| 1 | +# ProTeGi vs SkillOpt 实验对比报告 |
| 2 | + |
| 3 | +## 实验设置 |
| 4 | + |
| 5 | +- **方法**: ProTeGi (Automatic Prompt Optimization with "Gradient Descent" and Beam Search, EMNLP 2023) |
| 6 | +- **优化轮数**: 6 轮 |
| 7 | +- **Beam size**: 2-3 |
| 8 | +- **Optimizer**: gpt-5.5 (生成梯度和候选 prompt) |
| 9 | +- **评测指标**: 与 SkillOpt 完全对齐 (Hard Metric) |
| 10 | + |
| 11 | +## 结果 |
| 12 | + |
| 13 | +### gpt-5.5 (Predictor + Optimizer) |
| 14 | + |
| 15 | +| 任务 | 指标 | SkillOpt | ProTeGi Baseline | ProTeGi R6 | ProTeGi 提升 | |
| 16 | +|------|------|:---:|:---:|:---:|:---:| |
| 17 | +| **SearchQA** | EM | **87.3%** | 78.6% | 86.4% | +7.8% | |
| 18 | +| **SpreadsheetBench** | Acc | **80.7%** | 33.2% | 46.4% | +13.2% | |
| 19 | +| **OfficeQA** | EM | **72.1%** | 46.5% | 39.5% | -7.0% | |
| 20 | +| **DocVQA** | Hard Acc | 91.2% | 89.6% | **92.0%** | +2.4% | |
| 21 | +| **LiveMath** | EM | 66.9% | 50.4% | **72.8%** | +22.4% | |
| 22 | + |
| 23 | +### gpt-5.4-nano (Predictor) + gpt-5.5 (Optimizer) |
| 24 | + |
| 25 | +| 任务 | 指标 | SkillOpt | ProTeGi Baseline | ProTeGi R6 | ProTeGi 提升 | |
| 26 | +|------|------|:---:|:---:|:---:|:---:| |
| 27 | +| **SearchQA** | EM | **74.8%** | 58.1% | 72.0% | +13.9% | |
| 28 | +| **SpreadsheetBench** | Acc | **42.5%** | 26.4% | 33.6% | +7.2% | |
| 29 | +| **OfficeQA** | EM | **50.0%** | 14.5% | 8.1% | -6.4% | |
| 30 | +| **DocVQA** | Hard Acc | **80.2%** | 52.4% | 67.4% | +15.0% | |
| 31 | +| **LiveMath** | EM | 27.2% | **31.2%** | 28.8% | -2.4% | |
| 32 | + |
| 33 | +## 胜负统计 |
| 34 | + |
| 35 | +| | ProTeGi R6 赢 | SkillOpt 赢 | |
| 36 | +|---|:---:|:---:| |
| 37 | +| **gpt-5.5** | 2 (DocVQA, LiveMath) | 3 (SearchQA, Spreadsheet, OfficeQA) | |
| 38 | +| **nano** | 0 | 5 | |
| 39 | + |
| 40 | +## 评测对齐说明 |
| 41 | + |
| 42 | +| 任务 | 指标 | Test Set | Prompt 对齐 | |
| 43 | +|------|------|:---:|:---:| |
| 44 | +| SearchQA | EM (SQuAD normalize) | 1400 条 | SkillOpt system prompt | |
| 45 | +| DocVQA | Hard Acc (ANLS ≥ 0.999) | 374 条 | SkillOpt system prompt + detail=auto | |
| 46 | +| LiveMath | EM (parse_choice_label) | 125 条 | 无 theorem, multi-turn, `<answer>` 标签 | |
| 47 | +| SpreadsheetBench | Acc (compare_workbooks) | 280 条 | SkillOpt 初始 skill | |
| 48 | +| OfficeQA | EM (OfficeQA normalize) | 172 条 | oracle context + tools + max_turns=24 | |
| 49 | + |
| 50 | +## ALFWorld 结果 (进行中) |
| 51 | + |
| 52 | +### 实验配置 |
| 53 | + |
| 54 | +| | ProTeGi (本次) | SkillOpt | |
| 55 | +|---|---|---| |
| 56 | +| **优化方式** | Textual gradient + rewrite + beam search | Minibatch reflect + patch + selection gate | |
| 57 | +| **Scoring** | Train set (39 games) | Selection set (valid_seen 140) + gate | |
| 58 | +| **Rounds** | 6 | 4 epochs | |
| 59 | +| **Beam size** | 4 | 1 (单 skill 迭代 patch) | |
| 60 | +| **评估方式** | SkillOpt rollout (multiprocessing, 无 Ray) | 相同 | |
| 61 | +| **初始 prompt** | `skillopt/envs/alfworld/skills/initial.md` | 相同 | |
| 62 | + |
| 63 | +### Test Set (valid_unseen, 134 games) |
| 64 | + |
| 65 | +| Method | Optimizer | Predictor | R1 | R2 | Best | |
| 66 | +|--------|-----------|-----------|------|------|------| |
| 67 | +| **SkillOpt** | gpt-5.5 | gpt-5.5 | — | — | **95.5%** | |
| 68 | +| **SkillOpt** | gpt-5.5 | gpt-5.4-nano | — | — | **69.4%** | |
| 69 | +| **ProTeGi** | gpt-5.5 | gpt-5.5 | 92.5% | 87.3% | 92.5% (R1) | |
| 70 | +| **ProTeGi** | gpt-5.5 | gpt-5.4-nano | 44.0% | (running) | 44.0% (R1) | |
| 71 | + |
| 72 | +### Train Set (39 games) |
| 73 | + |
| 74 | +| Method | Predictor | R1 | R2 | |
| 75 | +|--------|-----------|------|------| |
| 76 | +| **ProTeGi** | gpt-5.5 | 87.2% | 87.2% | |
| 77 | +| **ProTeGi** | gpt-5.4-nano | 53.8% | (running) | |
| 78 | + |
| 79 | +### ALFWorld 分析 |
| 80 | + |
| 81 | +1. **ProTeGi + gpt-5.5 逐轮退化**:Test 92.5% → 87.3%,Train 不变(87.2%)。在小 train set 上过拟合,选出的 prompt 不泛化。 |
| 82 | +2. **ProTeGi + nano 远落后于 SkillOpt**:ProTeGi 44.0% vs SkillOpt 69.4%(差 25%)。 |
| 83 | +3. **SkillOpt 优势**:Selection gate 防止过拟合;trajectory 级反馈比 ProTeGi 的摘要级 error string 更丰富;patch 编辑保留好策略。 |
| 84 | + |
| 85 | +### 状态 |
| 86 | + |
| 87 | +- ProTeGi + gpt-5.5: Round 3 进行中 (~20h elapsed) |
| 88 | +- ProTeGi + nano: Round 2 scoring 进行中 (~20h elapsed) |
| 89 | +- 结果将在完成后更新。 |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## 关键发现 |
| 94 | + |
| 95 | +1. **SkillOpt 在大多数任务上显著优于 ProTeGi**,尤其是 SpreadsheetBench (80.7% vs 46.4%) 和 OfficeQA (72.1% vs 39.5%) |
| 96 | +2. **ProTeGi 在 OfficeQA 上优化后退化**:两个模型都出现了负向优化,说明纯 prompt 优化在需要精确数值计算的任务上不仅无效还可能有害 |
| 97 | +3. **ProTeGi 在 DocVQA 和 LiveMath (5.5) 上略胜 SkillOpt**:可能因为这两个任务对 prompt 格式敏感,ProTeGi 的优化方向恰好有效 |
| 98 | +4. **SearchQA nano (72.0%) 接近 SkillOpt (74.8%)**:ProTeGi 在简单 QA 任务上接近 SkillOpt 水平 |
| 99 | +5. **强模型受益更多**:5.5 的 ProTeGi 提升普遍优于 nano,因为强模型能更好地遵循优化后的指令 |
| 100 | +6. **过拟合问题**:多个任务在中间轮次达到峰值后 R6 下降(如 SearchQA 5.5 最佳 R5=86.7% → R6=86.4%) |
0 commit comments