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 秒):较低的并发可让后续生成直接基于彼此的结果进行构建。