algorithmicsuperintelligence/openevolve

Open-source implementation of AlphaEvolve

解決的問題

OpenEvolve 實現了演算法與程式碼發現與優化的自動化。它用自主進化的流水線取代了耗時的人工優化過程,使 LLM 無需人類指導即可發現突破性演算法、硬體特定優化(如 GPU 核心)以及新穎的數學解法。

工作原理

OpenEvolve 採用結合了 MAP-Elites 與 LLM 的「質量-多樣性」進化方法。它在多個「島嶼」中維護多樣化的程式碼候選群體,以防止過早收斂。LLM 集群根據性能與多樣性指標生成新的程式碼迭代。該系統包含一個人工製品側信道,可將執行錯誤回饋給 LLM 進行自我修正,並使用確定性種子來確保科學可復現性。

適用對象

  • 效能工程師:尋找人類可能會忽略的硬體特定優化的人員。
  • 演算法研究人員:尋求經典數學或計算問題新方法的人員。
  • 科學計算專家:需要自動完成複雜過濾器或方程式繁瑣調優的用戶。
  • 競賽選手:希望針對單一問題生成多種多樣解決方案策略的開發者。

亮點

  • 自主發現:能夠將程式碼從簡單的隨機搜尋進化到最先進的演算法(例如:circle packing)。
  • 硬體優化:在 Apple M1 Pro 上實現了 GPU 核心 2.8 倍的加速。
  • 多語言支援:支援 Python、Rust、R 與 Metal 著色器。
  • 質量-多樣性進化:使用 MAP-Elites 維護多樣化且高性能的解決方案群體。
  • 廣泛的 LLM 相容性:整合了 OpenAI、Google Gemini、Claude Code CLI 以及透過 Ollama/vLLM 連接的本地模型。

相關

  • 專案
  • 專案
  • 專案
  • 專案