PRESTO: Preimage-Informed Instruction Optimization for Prompting Black-Box LLMs¶
会议: NeurIPS 2025 arXiv: 2510.25808 代码: github.com/mlvlab/PRESTO 领域: llm_nlp 关键词: instruction optimization, black-box LLM, soft prompt, preimage, Bayesian optimization
一句话总结¶
提出 PRESTO 框架,利用白盒 LLM 中 soft prompt 到 instruction 的 many-to-one 映射关系(preimage 结构),通过 score sharing、preimage-based initialization 和 score consistency regularization 三大组件,在相同查询预算下等效获得 14 倍的标注数据量,显著提升黑盒 LLM 的指令优化效率。
研究背景与动机¶
黑盒 LLM(如 GPT-4)通过 API 提供,内部参数不可访问,优化其指令(instruction/prompt)是一个关键但困难的问题。近期方法借助白盒 LLM 来辅助:优化连续空间中的 soft prompt \(z\),通过白盒模型 \(f_w\) 将其映射为自然语言指令 \(v = f_w(z)\),再用黑盒模型 \(f_b\) 评估该指令的效果。
核心观察:白盒 LLM 经常将不同的 soft prompt 映射到相同的指令 — 从 10,000 个不同的 soft prompt 只能生成约 6,500 个唯一指令。此前的工作(INSTINCT/ZOPO)将这种 many-to-one 映射视为「冗余」和「障碍」,采取过滤或分散采样策略来规避。
本文核心洞察:这种 many-to-one 结构不是障碍,而是宝贵的先验知识。同一 preimage 中的 soft prompt 共享相同的目标函数值,这构成了强大的归纳偏置,可以用来加速优化。
方法详解¶
整体框架¶
PRESTO 建立在 INSTINCT 框架上,使用白盒 LLM 的最后一层 embedding \(g(z)\) 作为特征,训练 score predictor \(m(g(z); \theta)\) 预测性能,并用 NeuralUCB 策略选择下一个查询点。
问题形式化:
其中 \(h\) 为任务评分函数,\(f_b\) 为黑盒 LLM,\(f_w\) 为白盒 LLM。
关键设计¶
组件 1:Preimage-Based Score Sharing
定义指令 \(v\) 的 preimage 为所有生成该指令的 soft prompt 集合:
当某个指令 \(v\) 被黑盒模型评估后,其 score 立即共享给 preimage 中的所有 soft prompt。效果:在相同查询预算下,等效获得 14 倍的标注训练数据。
组件 2:Preimage-Based Initialization
设计覆盖度分数 \(S_{\text{cov}}\) 来选择初始化 soft prompt,由两部分组成:
- 大小分数 \(S_{\text{size}} = |G_i| / \max_j |G_j|\):优先选大 preimage,最大化 score sharing 收益
- 代表性分数 \(S_{\text{rep}}\):基于 MMD(Maximum Mean Discrepancy)确保已选集合覆盖整个搜索空间
用贪心算法依次选择 \(N_{\text{init}}\) 个 preimage。
组件 3:Score Consistency Regularization
对于未评估的 preimage,通过正则项强制 score predictor 对同一 preimage 内的 soft prompt 给出一致预测:
总损失为:\(\mathcal{L} = \mathcal{L}_{\text{MSE}} + \gamma \mathcal{L}_{\text{cons}}\)
其中 \(\gamma\) 采用线性 warmup 策略 \(\gamma(t) = \gamma_{\max} \cdot \min(1, t/T)\),避免过早收敛到错误预测。
损失函数 / 训练策略¶
- 白盒 LLM:LLaMA3.1-8B-Instruct
- 黑盒 LLM:GPT-4.1
- 总查询预算:165 次
- 初始化查询:40 个 soft prompt
- 所有实验重复 3 次不同随机种子
实验关键数据¶
主实验¶
Instruction Induction(20 个任务子集):
| 方法 | Best tasks | Avg Rank |
|---|---|---|
| APE | 1 | 4.25 |
| InstructZero | 0 | 4.80 |
| INSTINCT | 3 | 3.70 |
| EvoPrompt | 3 | 4.70 |
| ZOPO | 4 | 3.05 |
| OPRO | 0 | 5.20 |
| PRESTO | 12 | 1.90 |
PRESTO 在 20 个任务中的 12 个上取得最佳(是 ZOPO 的 3 倍),平均排名 1.90 远超所有基线。
Chain-of-Thought 数学推理:
| 方法 | GSM8K | AQuA | SVAMP |
|---|---|---|---|
| APE | - | - | - |
| InstructZero | - | - | - |
| INSTINCT | - | - | - |
| PRESTO | 最优或第二优(具体数值见论文完整表格) |
消融实验¶
三个组件的逐步消融证明每个组件的贡献: - Score sharing:提供了最大的增益,等效将训练数据扩充 14 倍 - Preimage-based initialization:改善初始搜索空间覆盖 - Consistency regularization:在未评估区域提供更准确的预测
toy example 可视化清楚展示:仅用 \(\mathcal{L}_{\text{MSE}}\) 训练的模型在未标注 preimage 上预测不一致,加入 \(\mathcal{L}_{\text{cons}}\) 后预测精确对齐。
关键发现¶
- Many-to-one 映射不是阻碍而是优势 — preimage 结构提供了强大的归纳偏置
- 在 165 次查询预算下,PRESTO 等效利用了约 2310 个标注数据点(14×)
- 在 30 个 instruction induction 任务的完整集合上,PRESTO 同样以大幅优势领先
- Preimage 大小分布呈长尾:最大的 preimage 含 1000+ soft prompt,100th 最大的约 5 个
亮点与洞察¶
- 逆向思维:将前人认为的「冗余」重新诠释为「信息」,这种思路转换非常优雅
- 理论直觉清晰:preimage 的概念借自数学(原像),与优化问题结合自然
- 14 倍数据增效:在查询代价极高的场景(每次调用 GPT-4)下具有巨大实用价值
- 模块化设计:三个组件独立有效,可灵活集成到其他 bandit-based 优化框架
局限性 / 可改进方向¶
- 依赖确定性解码假设 — 白盒和黑盒 LLM 都假定为确定性的,温度 > 0 时 preimage 结构可能不稳定
- 需要完整的 preimage 预计算 — 对大规模 soft prompt 集合计算成本较高
- 仅在 LLaMA3.1-8B 上验证白盒部分 — 不同白盒模型的 preimage 分布可能差异很大
- 覆盖度分数的 MMD 计算在 preimage 和 candidate set 很大时可能成为瓶颈
- 查询预算固定为 165 — 未探讨在更大或更小预算下的效果变化
相关工作与启发¶
- InstructZero: 首次用贝叶斯优化在 soft prompt 空间搜索指令,但未利用 preimage 结构
- INSTINCT: 首次指出 many-to-one 映射现象,但仅通过分散采样来回避冗余
- ZOPO: 用零阶优化做局部搜索并过滤重复指令,丢弃了宝贵的 preimage 信息
- NeuralUCB: 作为底层优化算法,PRESTO 的改进可以与其他 bandit 算法组合
启发:preimage 思想可推广到其他 LLM 生成的离散-连续映射优化问题(如 code generation、structured prediction)。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 将 many-to-one 映射重新诠释为先验知识极具创意,preimage 概念引入优雅
- 实验充分度: ⭐⭐⭐⭐ 33 个任务覆盖广泛,与 6 个基线对比充分,但仅限一个白盒/黑盒 LLM 组合
- 写作质量: ⭐⭐⭐⭐ 图示清晰,动机阐述流畅,数学推导适度
- 价值: ⭐⭐⭐⭐ 对 prompt engineering 自动化有直接价值,但适用面相对窄(需要白盒辅助模型)