google-deepmind/mctx

Monte Carlo tree search in JAX

何を解決するか

深層ニューラルネットワークと探索アルゴリズムを組み合わせる場合、通常はC++のような高速なコンパイル言語で実装する必要があり、研究者が使いやすく、変更しやすいとは限りません。Mctxは、Pythonで利用可能でありながら、実行速度と研究者の使いやすさのギャップを埋める、高性能なJAXネイティブなモンテカルロ木探索(MCTS)の実装を提供します。

動作方法

MctxはJAXを使用してMCTSアルゴリズム(AlphaZero、MuZero、Gumbel MuZeroを含む)を実装しています。JITコンパイルを活用し、並列処理で複数の入力を同時に処理することで、ハードウェアアクセラレータの効率を最大化します。ユーザーは、ルート状態の表現関数や環境ダイナミクスの再帰関数といった学習済みのコンポーネントを提供し、ライブラリがそれらを使って探索木を構築し、行動を提案します。

対象ユーザー

探索ベースの強化学習エージェントを研究しているAI研究者で、コンパイルコードの性能を享受しながらも、Pythonエコシステムから離れたくない方を対象としています。

特徴

  • JAXネイティブ: JITコンパイルを完全にサポートし、計算速度の大幅な向上を実現します。
  • 並列探索: 複数の入力を並列で処理し、アクセラレータの使用効率を最適化します。
  • アルゴリズム対応: AlphaZero、MuZero、Gumbel MuZeroの実装を含みます。
  • カスタマイズ可能: 新しい探索ベースのアイデアの検証を可能にするために、非常にカスタマイズ可能な設計になっています。

関連

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