並行與平行處理

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 分鐘):並行上限較高,導致評估 pipeline 忙碌。

  • 快速評估 (不到 10 秒):降低並行程度可讓後續生成作業直接承接彼此的結果。