Kimiとkvcache-aiチーム、AgentENVをオープンソース化 — Kimi K3スケールでエージェントRLを訓練する分散プラットフォーム
Moonshot AI
Moonshot AIチームとkvcache-aiは、FirecrackerマイクロVMを使用してエージェント環境を実行する分散システム「AgentENV(AENV)」をMITライセンスで公開しました。これにより、高速なサンドボックス作成、一時停止、再開、フォークが可能になり、2.8兆パラメータのMoEモデルであるKimi K3のエージェント強化学習(RL)訓練を加速します。また、E2Bとの互換性をサポートし、既存のエージェントの移行を容易にします。
Moonshot AIチーム(Kimi K3モデルの開発元)は、kvcache-aiと共同で、エージェント環境を大規模に実行するための分散システム「AgentENV」プラットフォームをオープンソース化(MITライセンス)しました。これは、2.8兆パラメータの混合専門家モデル(Mixture-of-Experts、MoE)であるKimi K3の強化学習(Reinforcement Learning、RL)トレーニングに使用されています。各サンドボックスはFirecrackerマイクロVMであり、独自のLinuxカーネル、ファイルシステム、ネットワーク名前空間を持ち、カーネルレベルの分離を提供します。サンドボックスのライフサイクル管理は、Axum HTTP APIを介して行われ、リクエストをオーケストレーターにルーティングします。ルートファイルシステム(rootfs)はユーザー空間のublkを介して動作し、オーバーレイbd(overlaybd)を使用して階層化イメージを実現しています。ベースレイヤーは読み取り専用でサンドボックス間で共有され、各サンドボックスには独自の書き込み可能な上位レイヤーがあります。ゲストVM内部では、envdデーモン(ポート49983)がコマンド、ファイル操作、ステータスレポートを処理し、リバースプロキシがクライアントからVMサービスへのHTTPおよびWebSocketトラフィックをルーティングします。オーバーヘッド削減に特に注意が払われており、ホストページキャッシュはストレージデータとメモリスナップショットで共有され、メモリバルーニング機構により、余剰ゲストメモリをホストに回収でき、環境の多様化に伴うオーバーコミットをサポートします。主な機能には、スナップショット作成、一時停止、再開、フォークが含まれます。スナップショットは完全ではなく増分です。報告されたデータによると、スナップショットからのロードまたは再開は50ミリ秒未満、一時停止は100ミリ秒未満、増分スナップショットは書き込み負荷が高い場合でも100ミリ秒未満で完了します。RLに特化したフォーク機能は、実行中のサンドボックスを同一ノード上で最大16の独立した子サンドボックスにクローンできます。親サンドボックスはキャプチャ中に一時停止され、その後再開されます。すべての子インスタンスは、親のファイルシステム、メモリ、リソース構成を継承します。これにより、高コストなセットアップ(依存関係のインストール、リポジトリのクローン)を1回実行し、その状態をフォークして並列実行できます。スナップショットはS3互換オブジェクトストレージまたは分散ファイルシステムに保存されます。デフォルトでは、各サンドボックスには TTL(Time To Live)があり、期限切れ時に削除されるのではなく一時停止されます。削除するには、作成時にautoPause: falseを指定する必要があります。イメージは、ローカルディスクキャッシュ(ホットデータを保存しコールドデータを退避)を備えたoverlaybdを介してオンデマンドでロードされます。これにより、すべてのノードですべてのイメージをプリヒートする必要がなく、ローカルディスク容量を超えることも可能です。状態は3つのレイヤーに整理されています。アーティファクト用のコレクターワークスペース、スナップショットリポジトリ(永続ストレージ)、派生構成用のローカルランタイムキャッシュです。2つのリポジトリバックエンドがサポートされています。posix_fs(デフォルト)と、共通のS3互換クライアントを介したoss(リージョンを明示的に指定する必要があります)です。オプションのP2Pトランスポート(irohベース)は、近隣ノードにアーティファクトを通知できますが、デフォルトでは無効です。共有ストレージには、最低1 Gbit/sの帯域幅が推奨され、10 Gbit/s以上が強く推奨されます。移行を容易にするために、AgentENVはE2B互換のHTTP APIを提供しています。E2B_API_URLを自身のサーバーに設定するだけで、公式のE2B Python/TypeScript SDKがエージェントのコード変更なしで動作します。ネイティブCLIであるaenvも利用可能です。デプロイにはLinux 6.8以上と/dev/kvmが必要です。インストールスクリプトはUbuntu 24.04を対象としています。CLIはLinuxおよびmacOS(x86_64およびarm64)をサポートし、サーバーはLinux(KVMが必要)を必要とします。5つのデプロイ方法が文書化されています。systemdを使用したインストールスクリプト、Dockerイメージ、クラスターシミュレーション用のDocker Compose、ゲートウェイ、スケジューラー、DaemonSetを含むKubernetesマニフェスト、そしてRustソースからのビルドです。マルチノードデプロイでは、ポート8080のゲートウェイとポート9090のスケジューラーが追加されます。
出典: MarkTechPost —
原文
