SakanaAI/ShinkaEvolve

ShinkaEvolve: Towards Open-Ended and Sample-Efficient Program Evolution 🧬

何を解決するか

ShinkaEvolve は、科学的コードの発見と最適化を自動化するためのフレームワークです。大規模言語モデル(LLMs)の創造的機能と進化的探索の最適化力の両方を組み合わせることで、科学計算における複雑なアルゴリズムの手動設計やパフォーマンス指標の最適化という課題を解決します。

動作方法

システムは複数の世代にわたって進化するプログラムの集団を維持します。LLMのアンサンブルが知的な突然変異演算子として機能し、既存の集団に対してコード改善(差分、完全な再書き換え、またはクロスポリネーションを通じて)を提案します。これらの候補は、提供された検証プログラムを使って評価されます。フレームワークはローカルまたはSlurmクラスタ上で並列評価をサポートし、異なる進化的アイランド間での知識移転を促進するために成功した解決策のアーカイブを維持します。

対象ユーザー

パフォーマンス検証プログラムが利用可能で、コードの正しさ、可読性、パフォーマンス指標の最適化を目指す研究者や開発者に主に向けられています。

特徴

  • マルチ-LLMアンサンブル:コード生成に多様なLLMを活用し、動的モデル選択(例:UCB)により結果を最適化します。
  • 柔軟な実行環境:ローカル実行、Slurm Conda、Slurm Docker環境をサポートし、スケーラブルな評価を実現します。
  • エージェント統合:Claude Code や Codex などのコーディングエージェントとの統合を可能にする「スキル」を提供します。
  • 広範な言語対応:Python、Julia、Fortran、Verilog RTL を含む複数言語でコード最適化の実績があります。
  • モニタリングツール:リアルタイム追跡用のWebUIと、実験ログ用のオプションのWeights & Biases統合を備えています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト