返回 Papers
AI 底层逻辑 / 经典论文

Bayesian Optimization:BoTorch、Optuna 与实验设计

Bayesian Optimization 处理的是昂贵实验下的序贯决策:用已有 trial 建立 surrogate model,估计候选配置的期望表现和不确定性,再用 acquisition function 选择下一次最有信息价值或业务价值的实验点。它不是 grid search 的加速版本,而是把“试哪个配置”建模为探索、利用和约束之间的动态权衡。

336ai-foundations/papers/53-bayesian-optimization-botorch-optuna-experiment-design.md

Bayesian Optimization / BoTorch / Optuna / Experiment Design 解读

Source Anchors

SourceLink读它要抓住什么
Practical Bayesian Optimization of Machine Learning Algorithmshttps://arxiv.org/abs/1206.2944用 Gaussian Process 建模昂贵目标函数,并用 acquisition function 高效选择下一次实验
BoTorchhttps://botorch.org/基于 PyTorch / GPyTorch 的可编程 Bayesian Optimization 工程框架
BoTorch paperhttps://arxiv.org/abs/1910.06403Monte Carlo acquisition、模块化设计、batch BO 和实验设计能力
Optunahttps://optuna.readthedocs.io/en/stable/index.htmlStudy / trial / sampler / pruner 的工程化超参优化流程
Axhttps://ax.dev/实验管理、参数优化、A/B 和 BO 平台化思路
NIST AI RMFhttps://www.nist.gov/itl/ai-risk-management-framework把自动实验和优化纳入风险管理、测量和治理

核心导读

Bayesian Optimization 处理的是昂贵实验下的序贯决策:用已有 trial 建立 surrogate model,估计候选配置的期望表现和不确定性,再用 acquisition function 选择下一次最有信息价值或业务价值的实验点。它不是 grid search 的加速版本,而是把“试哪个配置”建模为探索、利用和约束之间的动态权衡。

在 AI 系统中,RAG 参数、模型路由、prompt 策略、Agent 阈值、价格、容量和风控规则都可能形成高成本实验空间。架构价值在于把参数空间、指标契约、安全约束、Pareto trade-off、实验日志、审批和回滚纳入同一个 ExperimentOps 控制面,使优化器产生的建议能被验证、追踪和治理。

核心问题

AI 产品里有大量需要调优的配置,但每次实验都可能昂贵、耗时或有风险。

RAG 系统要调 chunk size、overlap、embedding model、top-k、reranker、引用阈值、拒答阈值和模型路由。每个组合都要跑评测集、看引用正确性、延迟、成本和安全失败率。

Agent 系统要调工具调用策略、重试次数、澄清问题触发条件、模型选择、人工升级阈值和终止条件。每次实验都可能增加工具成本,也可能引入越权或错误执行风险。

金融零售业务还要调欺诈强认证阈值、信贷审批 cut-off、催收触达频率、优惠金额、库存补货参数、客服队列优先级和容量配置。很多参数不是纯技术参数,而是直接影响收入、损失、客户体验、投诉、合规和运营成本。

简单 grid search 有三个问题。

第一,它不利用历史实验信息。已经知道某些区域效果差,仍然机械遍历。

第二,它不表达不确定性。某个配置看起来好,可能只是样本噪声;某个区域还没试过,可能隐藏更好解。

第三,它很难同时处理多目标和约束。真实系统很少只追求 accuracy,通常还要控制 latency、cost、PII leakage、complaint rate、fairness、SLO 和人工队列容量。

Bayesian Optimization 要解决的是:

在实验预算有限、目标函数昂贵、结果带噪声的情况下,如何选择下一次实验,让学习效率最大化。

它把调参从“枚举配置”变成“实验决策”。

方法/论文贡献

Practical Bayesian Optimization of Machine Learning Algorithms 的核心贡献,是把机器学习超参调优明确建模为昂贵黑盒函数优化问题。真实目标函数未知,只能通过一次次实验观察结果;每次实验成本高,因此要用更少 trial 找到好配置。

Gaussian Process 在这个框架中常作为 surrogate model。它不仅预测某个配置的期望表现,还预测不确定性。这个不确定性让 BO 能够在 exploitation 和 exploration 之间做有原则的权衡。

Acquisition function 是第二个关键贡献。它不是直接代表业务目标,而是代表“下一次实验的价值”。Expected Improvement、Probability of Improvement、Upper Confidence Bound、Knowledge Gradient 等方法用不同方式回答:下一次试哪里最值得。

BoTorch 的贡献偏工程和研究平台化。它把 BO 构建在 PyTorch / GPyTorch 生态上,支持可微、模块化、Monte Carlo acquisition、batch candidate generation、多目标和约束优化。对企业来说,BoTorch 更适合需要自定义目标、复杂约束和研究级灵活性的实验平台。

Optuna 的贡献偏工程落地。它用 study、trial、sampler、pruner 的抽象,把超参优化接入日常训练脚本。它不只支持 BO,也支持 TPE、随机搜索、剪枝和分布式实验。对企业团队来说,Optuna 的价值是降低自动调参接入门槛。

Ax 则更接近实验管理平台:参数定义、trial 管理、指标约束、A/B 实验、candidate generation 和结果跟踪放在一个系统里。它提醒我们,优化算法必须和实验治理一起出现。

这些贡献合在一起形成一个产品架构判断:BO 不是单个 notebook 里的调参函数,而是企业实验系统中的 decision engine。

机制原理:黑盒目标函数

BO 假设有一个未知目标函数:

f(configuration) -> outcome

例如:

f(chunk_size=512, top_k=8, reranker=on, model=gpt-x)
  -> quality=0.82, latency_p95=1.9s, cost=$0.04, safety_fail=0.3%

真实函数通常不可解析。你不知道为什么某个配置好,只能运行实验观察。目标可能有噪声:同一配置在不同样本、时间、渠道或负载下表现不同。

BO 的第一步不是盲试,而是明确参数空间。

参数类型示例设计风险
Continuousthreshold、temperature、discount rate范围过宽会浪费实验
Integertop-k、retry count、batch size离散点太多会增加搜索成本
Categoricalmodel type、reranker on/off、channel类别间距离不一定有自然含义
Conditional只有 reranker=on 时才有 reranker threshold参数依赖要显式建模
Forbidden combination高成本模型 + 大 top-k + 低延迟 SLO不应让优化器反复探索不可行区域

参数空间定义本身就是产品设计。范围、默认值、禁用组合和约束,表达的是团队对系统边界的理解。

机制原理:Surrogate Model

Surrogate model 是对未知目标函数的近似。它根据已完成实验,预测未试配置的结果。

Gaussian Process 的直觉是:

相似配置应该有相似结果,但相似关系和不确定性要从数据中更新。

它给出两类输出:

输出含义产品解释
Mean当前认为该配置的平均表现这个配置可能有多好
Uncertainty对该配置估计有多不确定这里是否值得继续学习

不确定性是 BO 区别于普通预测模型的关键。一个配置的预测均值可能不是最高,但因为不确定性大,仍值得尝试;另一个配置预测均值很高,但周围已经试过很多次,继续实验的信息价值可能有限。

在高维、离散、条件参数多的工程系统中,GP 不总是最稳。Optuna 的 TPE、随机搜索加剪枝、树模型 surrogate、神经 surrogate 或混合策略都可能更合适。因此学习 BO 时不要执着“必须 GP”,要抓住 surrogate + acquisition + sequential update 的结构。

机制原理:Acquisition Function

Acquisition function 决定下一次实验。它把 surrogate 的均值和不确定性转化成一个可优化的“实验价值”。

常见 acquisition 的直觉如下:

Acquisition直觉适用判断
Expected Improvement选择预期能超过当前最好结果最多的点单目标 baseline,兼顾好和不确定
Probability of Improvement选择超过当前最好或指定阈值概率最高的点有明确达标线时直观
Upper Confidence Bound均值 + 不确定性奖励需要显式控制探索强度
Knowledge Gradient选择最能提升未来决策质量的点实验昂贵且信息价值很重要
qNEI / batch acquisition一次推荐一批候选并行实验、GPU 队列或批量评测

产品上可以把 acquisition 解释成:

下一次实验不是“看起来最好的配置”,而是“在当前证据下最值得花预算验证的配置”。

这点很重要。很多业务方会问:为什么不直接试当前预测最优?答案是:如果我们只试预测最优,就容易陷入局部区域;如果只试未知区域,又会浪费预算。Acquisition function 是在收益和学习之间做权衡。

机制原理:Multi-Objective 和 Constrained BO

企业 AI 很少是单目标。

RAG 调优不是只要答案正确,还要引用充分、延迟可控、成本可控、权限正确、拒答合理、敏感信息不泄露。

欺诈策略不是只要损失最低,还要误拦率、客户摩擦、交易完成、投诉、人工队列和公平性可接受。

这时有两种常见建模方式。

第一,把所有指标合成一个 scalar objective:

business_score = quality - cost_penalty - latency_penalty - risk_penalty

这种方式简单,但会隐藏 tradeoff。权重一改,结论可能完全变。

第二,使用 multi-objective / constrained BO。把质量、成本、延迟、风险等作为多个目标或约束,用 Pareto frontier 展示可行 tradeoff。

类型示例
Objective最大化 answer quality、risk-adjusted revenue、loss reduction
ConstraintP95 latency < 2s、cost < budget、PII leakage = 0
Guardrailcomplaint rate 不恶化、manual queue 不超过容量
Segment constraint关键客群、渠道或地区指标不能低于门槛

在受监管场景中,安全和合规指标通常不适合变成可交易的软目标。它们应该是硬约束或 release gate。

为什么有效

BO 有效的第一层原因,是它利用历史实验信息。每次实验不是独立事件,而是更新对参数空间的认知。

第二层原因,是它把不确定性纳入实验决策。普通调参常只看平均结果,BO 会区分“已经知道不好”“看起来不错但证据少”“可能很好但还不确定”。

第三层原因,是它适合昂贵实验。RAG、Agent、模型路由和业务策略实验往往每次都要跑评测、人工抽检、成本核算和风险检查。样本效率直接影响平台迭代速度。

第四层原因,是它能把技术调优和业务权衡连接起来。质量、成本、延迟、风险、人工队列和客户体验可以被放入同一个实验决策记录中。

第五层原因,是它天然支持 continuous improvement。上线配置不是一次定死的,而是在数据、模型、知识库、客户行为和成本结构变化时持续优化。

局限和误用

第一类误用,是把 BO 当成自动找到“最佳配置”的机器。BO 只能优化你定义的目标和约束。如果指标错了,它会更高效地找到错误目标的极值。

第二类误用,是把评估集反复用到过拟合。每一次 BO trial 都在消耗 eval set 的独立性。RAG 和 prompt 调优尤其容易把系统调到对固定评测题表现很好,对真实生产问题泛化较差。

第三类误用,是忽略实验噪声。生产流量、时间窗口、样本组成、模型版本、知识库版本、系统负载都会影响结果。如果结果 store 不记录环境,surrogate 会学习到混杂信号。

第四类误用,是让优化器探索不可接受配置。例如为了提高任务完成率,降低拒答阈值;为了降低成本,选择不满足引用质量的检索策略;为了提升通过率,放松欺诈强认证。安全边界必须先于优化。

第五类误用,是忽略 segment。总体质量上升可能掩盖某些客户群、语言、产品线或渠道的退化。金融零售实验必须按关键 segment 查看指标。

第六类误用,是把推荐配置直接上线。BO 产生的是 candidate,不是 production decision。候选配置还要经过离线评测、人工审查、canary、监控和回滚设计。

架构/产品价值

企业需要的是 Experiment Optimization Architecture,而不是孤立调参脚本。

use case intake
  -> parameter registry
  -> metric and constraint contract
  -> experiment planner / optimizer
  -> experiment runner
  -> evaluator and safety gate
  -> results store
  -> Pareto and uncertainty view
  -> decision memo
  -> release / rollback workflow

关键组件如下:

组件职责
Parameter registry定义参数范围、类型、条件依赖、默认值和禁止组合
Metric contract定义主指标、护栏指标、成本、风险、SLO 和 segment 指标
Optimizer serviceBoTorch、Optuna、Ax 或自研 sampler 生成候选配置
Experiment runner执行离线 eval、批处理实验、shadow、A/B 或仿真
Safety gate阻断违反安全、合规、权限、预算或 SLO 的候选
Results store保存配置、指标、版本、样本、环境和审批记录
Decision UI展示 Pareto frontier、uncertainty、trial history 和推荐理由
Release controller支持 canary、分层发布、自动降级和回滚

产品价值有三层。

第一层是效率:减少无效实验,把专家和 GPU 预算投向更有价值的配置。

第二层是透明:每次参数变化都有指标、约束、版本和决策证据。

第三层是治理:优化器不能绕过安全门禁,业务方也不能只凭单一指标推动上线。

金融零售系统案例

RAG 参数调优

一个合规政策 RAG 助手可能有这些参数:

参数示例
Retrievalchunk size、overlap、top-k、hybrid search weight
Rerankingreranker model、rerank top-n、score threshold
Generationmodel route、temperature、max tokens、citation format
Safetyrefusal threshold、policy risk threshold、human escalation trigger

目标和约束需要分开:

类型指标
主目标answer correctness、faithfulness、task success
证据指标citation accuracy、retrieval recall、unsupported claim rate
运营指标latency P95、cost per answer、cache hit rate
安全约束PII leakage、policy violation、unauthorized answer
产品指标user reopen、human escalation appropriateness、complaint trigger

BO 可以在实验预算内推荐下一批配置。但如果某个配置质量略高、成本翻倍、引用错误集中在信贷产品,不能简单上线。正确做法是把它放到 Pareto view 中,与低成本但质量略低的配置比较,并按风险域决定是否分层发布。

Agent 工具策略调优

Agent 系统常见可调参数包括工具重试次数、澄清问题阈值、模型路由、检索先后顺序、人工升级阈值和停止条件。

优化目标不能只看 task success。还要看:

  • unauthorized tool call。
  • wrong system of record。
  • missing evidence。
  • excessive latency。
  • cost per resolved task。
  • human override rate。
  • customer-facing error。

BO 在这里可以用于离线 trace eval 或 shadow 环境。高风险工具调用不应由优化器决定是否放开;它只能在已批准动作空间内优化顺序、阈值和路由。

欺诈强认证阈值

欺诈模型阈值调优看似简单,但目标冲突明显。较低阈值能降低欺诈损失,却提高误拦、交易放弃和投诉;较高阈值减少摩擦,却可能放过攻击。

可以把实验目标定义为 risk-adjusted value,同时设置约束:

fraud_loss reduction maximize
false positive friction <= threshold
manual queue volume <= capacity
complaint rate not worse than baseline
vulnerable customer impact monitored

如果引入 BO,必须使用分层指标。商户类别、地区、交易金额、客户生命周期和设备可信度都可能改变最优阈值。总体最优阈值不一定适合每个 segment。

评测与上线门禁

上线 BO 驱动的优化流程前,需要明确门禁。

Gate需要证明什么
Parameter scope优化器只能探索已批准参数和范围
Metric contract主指标、护栏、成本、风险和 segment 指标定义清楚
Safety constraints禁止配置和硬约束不可被优化器覆盖
Eval integrityholdout、rotating eval、生产抽检和防过拟合机制存在
Trial reproducibility配置、数据、环境和系统版本可复现
Pareto review不用单一分数掩盖质量/成本/风险 tradeoff
Human approval高影响配置上线前有业务、风险或平台 owner 审批
Rollback每次配置发布可以快速回退
Monitoring上线后持续跟踪 drift、cost spike、SLO、投诉和 segment 退化

BO 输出的是候选配置和证据,不是自动上线命令。

学习验证

学习这篇后,可以用一个 RAG、Agent 或金融风控参数问题做完整练习。

  1. 定义参数空间,区分 continuous、integer、categorical、conditional 和 forbidden combination。
  2. 写出主目标、约束指标、护栏指标和 segment 指标。
  3. 说明为什么 grid search 或随机搜索不够。
  4. 画出 surrogate model 和 acquisition function 的决策关系。
  5. 比较 EI、UCB、PI 和 batch acquisition 的适用直觉。
  6. 设计 results store schema,确保每个 trial 可复现。
  7. 画出 Pareto frontier,并解释为什么没有单一“最佳配置”。
  8. 给出 eval set 过拟合的防护方案。
  9. 说明哪些安全约束必须作为硬门禁,而不是 reward penalty。
  10. 设计从 BO 推荐配置到 canary、监控和回滚的发布流程。

完成这些验证后,应该能把 BO 从“自动调参技巧”提升为“受治理约束的序贯实验决策系统”。

关键结论

Bayesian Optimization 的核心是用 surrogate model 和 acquisition function 高效选择下一次实验。

它特别适合实验昂贵、预算有限、目标带噪声、需要探索/利用权衡的 AI 和业务参数调优场景。

企业落地时,BoTorch、Optuna 或 Ax 只是技术实现选择;更重要的是 parameter registry、metric contract、safety gate、results store、Pareto view、decision memo 和 release controller。

优化器不能替代业务目标定义。指标错、约束错、评估集污染或安全门禁缺失时,BO 会更快地把系统推向错误方向。

成熟的 ExperimentOps 平台不追求一次找到神奇配置,而是让每一次配置变化都有证据、边界和可回滚路径。


SOTA 状态标注 (2026-07-01)

本篇属于第二、三遍深读池(参考架构/深读笔记),未列入 12 周主线必读。时效基线为写作时点;引用前请按 CLAUDE.md 全局时效性硬规则复查最新进展。模块级 SOTA 对照见 docs/AI_SYSTEMATIC_LEARNING_ROADMAP_2026.md 各周「2026 SOTA 对照」行与文末「SOTA 检查」。