并发和并行

concurrency 参数用于控制同时生成和评估的程序数量。此参数是影响最大的运行时超参数。

  • n = 1 (顺序链):生成一个程序,等待评估,然后生成下一个程序。每次生成都会看到之前的结果,从而形成一个增量改进链,该链会放大局部最优解。这种方法会产生最慢的吞吐量,但会实现最集中的利用。使用此模式可有意收敛到特定区域。

  • n = 3-12 (最佳范围):这是实践中最常用的范围,可平衡探索和利用。多个程序同时运行,因此某些生成不会看到最新结果,从而引入自然多样性。进化数据库可维持足够的吞吐量,以实现健康的人口动态。

  • n = 13-30 (高探索):许多程序并行运行。 大多数生成不会看到彼此的结果。此模式适用于具有许多局部最优解的高度非凸问题,在这种情况下,广泛探索比深入利用更重要。

  • n = 23-30 (受限;避免):超过 30 个并行生成器会限制 LLM 后端。请求会排队,从而增加每次生成的延迟时间。除非您有专用配额,否则请保持在 30 以下。

建议

以下建议可作为配置 AlphaEvolve 的并发和并行性的起点。

问题类型 并发 理由
已知方法,可进行调整 3–5 集中利用
一般优化,未知情况 8–12 平衡探索/利用
高度非凸,许多局部最优解 15–25 广泛探索
有意放大局部最优解 1 顺序链

从 concurrency=10 开始,并根据以下指标进行调整:

  • 得分停滞:增加并发以摆脱局部最优解。

  • 许多评估失败:减少并发以减少浪费的计算资源。

  • 评估缓慢(超过 5 分钟):较高的并发可让评估流水线保持忙碌。

  • 评估快速(少于 10 秒):较低的并发可让后续生成直接基于彼此的结果进行构建。

并发与有效实验限制

务必区分程序级并发和项目级实验限制:

  • 程序并发 (concurrency): 在 runSettings 中配置(介于 1 和 30 之间),用于控制在单个实验中同时生成和评估的候选程序数量。
  • 有效实验限制: 每个位置的项目最多只能有 30 个同时处于有效状态(STARTED 或 RUNNING)的实验 。 尝试启动或恢复超出此上限的实验会返回 RESOURCE_EXHAUSTED 错误。如需解决此问题,请先停止或完成现有正在运行的实验,然后再启动新实验(在实验中修改 concurrency 不会更改有效实验计数)。