量化优化目标

优化目标表示 AlphaEvolve 在每个世代中要尽可能提高的单个数值。在编写任何评估器代码之前,请回答以下三个问题:

  1. 此数字表示什么值?

  2. 系统如何计算此指标?

  3. 计算在哪里运行?

AlphaEvolve 严格要求对每个候选解决方案进行自动化、程序化的目标计算,无需人工干预。这种自动化使该问题适合 AlphaEvolve。如果必须由人工判断解决方案的质量,AlphaEvolve 就无法搜索该解决方案。

在估计生成的候选解决方案在不同优化目标和验证约束条件下的性能时,请考虑以下因素:

  • 优化目标是否可以直接使用业务或产品逻辑进行计算,而无需实证衡量?
  • 能否通过对生成的解决方案的代码运行性能和负载测试来直接衡量优化目标?
  • 是否可以使用已建立的确定性替代函数和可靠的模拟方法来估计优化目标?
  • 是否可以通过设计自定义代理函数(例如预测模型或其他非确定性估计器)来估计优化目标,该函数需要根据经验观测结果进行调整,并根据样本外数据进行验证?

量化目标的几个核心步骤

遵循结构化方法,确保 AlphaEvolve 具有可靠的自动化反馈环来指导其搜索。完成以下步骤,以确定指标、定义衡量方式并确定执行位置。

1. 将目标表示为单个分数,分数会随着解决方案的改进而提高

将核心优化指标配置为随实际效果增益线性或单调递增,以便搜索路径具有清晰的方向梯度。

  • 标量最大化:AlphaEvolve 始终会最大化一个标量值。将您关心的任何内容转化为一个数字,数字越大越好。如需最大限度地减少延迟时间、费用或错误,请取反:score = -latency_ms

  • 单调性:得分必须是单调的,当解决方案真正变得更好时,得分必须上升。如果得分变化不定,搜索就无法确定提升方向。

  • 确定性执行:得分由评估器计算,而不是由 LLM 或人工计算。以确定性的方式计算,以便同一候选人始终获得相同的分数。

  • 针对主观目标的联合分析:如果您无法编写评分公式,但可以通过直观比较来比较两种解决方案,请使用联合分析构建一个。生成候选输出对,让领域专家选择每对中更好的一个,对这些选择拟合逻辑回归,并将拟合的模型用作指标。这会将主观判断转化为确定性的可微分数。请勿使用原始 LLM 评分准则作为实时得分,因为该标准速度慢、噪声大且容易被奖励黑客攻击;请先将其提炼为固定函数。

2. 选择得分的计算方式

生成该数字的方式取决于您要衡量的内容。从下表中选择与您的目标相符的方法。几乎所有实际部署都使用这四种方法之一,许多部署会结合使用两种方法,一种是低成本的方法来推动搜索,另一种是高成本的方法来确认胜出者。

衡量方法 当目标是…时,使用此功能 得分的生成方式 运行所需的条件
直接计算 一种可根据候选模型的输出,使用业务或产品逻辑以闭合形式计算出的量 评估器运行候选网络并应用公式(总和、比率、数量、费用) 控制器的自有进程 - 无需额外基础设施
性能或负载测试 候选代码本身的运行时、吞吐量或内存 在具有代表性的硬件上运行候选版本并进行衡量;首先要确保正确性 目标硬件(GPU 或 TPU 或 CPU);预热和 N 中最佳,以减少计时噪声
确定性替代 / 模拟 难以直接测量,但存在可靠的代理或真实条件的重现 计算确定性代理,或重放固定的种子操作系统场景 任何环境;完全可重现,具有固定的随机种子
样本外验证 候选人制作的模型或数据流水线的质量 训练/拟合候选模型,然后根据留出数据或新生成的数据对其进行评分 训练/评估堆栈;严格的训练与验证拆分;在留出集上重新验证获胜者

如需了解详情,请参阅 Google Cloud 博客上的 AlphaEvolve 公告

如果上述任何一种方法都无法自动生成数字,则该问题尚不适合 AlphaEvolve。因此,核心任务是构建一个可以实现以下功能的替代模型或模拟模型。

3. 处理多个目标和限制条件

实际目标通常会混合多种考虑因素。您可以使用以下两种方式之一来处理这些问题:

  1. 评估器实现模式

  2. 多目标优化

标量混合(最简单 - 建议从这种方法开始):将每个指标重新缩放到可比较的范围,否定任何需要最小化的指标,然后将它们相加:score = w1*A - w2*L - w3*M

A/(L⋅M) 等数值不稳定的比率相比,更偏好使用加法和。

返回一个包含命名得分的字典:让 AlphaEvolve 联合优化这些得分。评估器可以返回多个命名指标,而不是一个数字:

```JSON
{
  "scores": [
    {"metric": "accuracy", "score": 0.95},
    {"metric": "latency_ms", "score": -120.0}
  ]
}
```

每个指标的值越高越好,因此请否定所有要最小化的指标。这会触发真正的多目标搜索,而不仅仅是报告:种群数据库会保留每个指标的最佳程序 (MAP-Elites),在各个指标之间保持帕累托前沿,并根据不同的指标对父代进行多样化抽样。如果启用了该抽样,它还可以直接从 Pareto 前沿抽取父代。单个标题得分仍会影响报告的爬山算法,但返回的每个指标都会影响搜索。

  1. 将指标数量控制在 3-5 个:如果指标过多,帕累托支配关系会退化,几乎每个程序在某些方面都是非支配的,搜索会漫无目的。汇总或舍弃超出该阈值的指标。

  2. 隔离正确性和可行性:将正确性作为硬门槛,而不是奖励函数的一部分。无论候选方案有多快或多便宜,如果错误或不可行,都会获得失败分数。这是防止智能体通过操纵指标来作弊的主要防御措施。

  3. 约束优化:将一个目标作为约束条件,优化另一个目标,并在违反约束条件时应用惩罚。在多个约束级别运行此工作流可描绘出帕累托前沿。

4. 确定评估器运行的位置

AlphaEvolve 绝不会直接运行评估器。它会提出候选程序并接收得分;您负责托管和运行计算得分的代码。环境完全由您选择,无法在Google Cloud 上运行的候选版本不是阻碍因素。您可以在任何可以衡量目标的位置运行评估器,然后提交得分。

为确保部署高效且安全,您必须在遵守通用执行限制的同时,根据具体的衡量策略调整计算基础设施。请根据以下准则选择执行环境,并了解适用于所有设置的核心运营边界。

将执行环境与衡量方法相匹配

直接计算或替代:控制器的自有进程或单个 Cloud Run 容器。

性能或负载测试:目标硬件,例如 GKE 上的 GPU 或 TPU 节点、您自己的本地或自定义硬件,或者第三方或 ISV 工具(例如 EDA 或 Verilog 模拟器)。

样本外验证或繁重作业:您的训练堆栈分布在 Cloud Run 或 GKE 中,或者使用 Cluster Toolkit 将其分流到Google Cloud batch,以处理大型 HPC 或加速器工作负载。

无论环境如何,都适用以下两项限制

尽量将每次评估的时间控制在 10 分钟左右或更短,以便进化循环持续进行。对于成本较高的目标,请使用评估级联对每位候选者进行检查,仅对有希望的候选者进行全面评估。

您拥有评估者的网络、安全和访问权限控制权。AlphaEvolve 不会在 Google Cloud或任何其他位置部署或管理评估者。

确定指标、计算方式和运行位置后,请参阅评估器实现模式,了解如何构建评估器。