algorithmicsuperintelligence/openevolve
Open-source implementation of AlphaEvolve
解決する課題
OpenEvolveは、アルゴリズムとコードの発見および最適化を自動化します。手動で行われてきた時間のかかる最適化プロセスを自律的な進化パイプラインに置き換え、LLMが人間の指示なしに画期的なアルゴリズム、ハードウェア固有の最適化(GPUカーネルなど)、および新しい数学的解法を発見することを可能にします。
仕組み
OpenEvolveは、MAP-ElitesとLLMを組み合わせた「Quality-Diversity(質と多様性)」進化アプローチを採用しています。複数の「アイランド」にわたって多様なコード候補の集団を維持することで、早期の収束を防ぎます。LLMのアンサンブルが、パフォーマンスと多様性の指標に基づいて新しいコードの反復を生成します。システムは、実行エラーをLLMにフィードバックして自己修正を行うためのアーティファクト・サイドチャネルを組み込んでおり、決定論的なシードを使用して科学的な再現性を確保します。
対象者
- パフォーマンス・エンジニア: 人間が見落とす可能性のあるハードウェア固有の最適化を求めている方。
- アルゴリズム研究者: 古典的な数学的または計算問題に対する新しいアプローチを求めている方。
- 科学計算スペシャリスト: 複雑なフィルタや方程式の退屈なチューニングを自動化する必要があるユーザー。
- 競技プログラマー: 単一の問題に対して、多様な解決戦略を複数生成したい開発者。
ハイライト
- 自律的な発見: 単純なランダム探索から、最先端のアルゴリズム(例:circle packing)までコードを進化させることが可能です。
- ハードウェア最適化: GPUカーネルにおいて、Apple M1 Proで2.8倍の高速化を実証。
- マルチ言語サポート: Python、Rust、R、およびMetalシェーダーに対応。
- Quality-Diversity進化: MAP-Elitesを使用して、多様で高性能な解の集団を維持します。
- 幅広いLLM互換性: OpenAI、Google Gemini、Claude Code CLI、およびOllama/vLLM経由のローカルモデルと統合可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト