同時実行と並列処理

concurrency パラメータは、同時に生成および評価されるプログラムの数を制御します。このパラメータは、最も影響力の大きいランタイム ハイパーパラメータです。

  • n = 1(シーケンシャル チェーン): 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 秒未満): 同時実行性を低くすると、連続する世代が互いの結果を直接利用できるようになります。