huggingface/OpenEnv

An interface library for RL post training with environments.

何を解決するか

OpenEnvは、エージェント強化学習(RL)のトレーニングに使用する隔離された実行環境を、標準化された方法で作成・デプロイ・操作する手段を提供します。エージェントが動作するセキュアでサンドボックス化されたコンテナのセットアップの煩雑さを解消し、RLフレームワークがこれらの環境と通信するための一貫したAPIを提供します。

動作方法

OpenEnvはクライアント-サーバアーキテクチャを採用しており、環境は隔離されたDockerコンテナ(LocalDocker、Docker Swarm、またはHugging Face Spacesなどのプロバイダ経由でデプロイ)でホストされます。

  • サーバーサイド:環境作成者は reset()step()state() メソッドを実装したベースクラスを定義して、ロジックと報酬を設定します。
  • クライアントサイド:ユーザーはWebSockets経由で EnvClient を使ってGymnasiumスタイルのAPIでこれらの環境とやり取りします。
  • ツール:CLI(openenv)により、新しい環境のスケルトン作成、Dockerイメージのビルド、Hugging Face Spacesへのプッシュが簡単に行えます。

対象ユーザー

  • RL研究者:LLMやその他のエージェントを、シミュレートされたまたはサンドボックス化された環境でタスク実行させるためにトレーニングする人。
  • 環境作成者:特定のシミュレータやサンドボックス(例:コード作成、チェス、金融市場)を構築し、セキュアにデプロイし、簡単にアクセス可能にする必要がある開発者。

特徴

  • GymnasiumスタイルAPI:RL統合をスムーズにするために、馴染み深い step()reset() のパターンを使用。
  • サンドボックス実行:エージェントが隔離されたコンテナ内で動作することを保証し、セキュリティを確保。
  • 統合Webインターフェース:リアルタイムのデバッグやエージェント-環境間のインタラクティブな探索を可能にする組み込みUI。
  • 柔軟なデプロイ:複数のコンテナプロバイダをサポートし、Hugging Face Spacesへの簡単なデプロイを可能に。
  • 広範なエコシステム:TRL、torchforge、SkyRL、OumiなどのRLフレームワークと統合可能。

関連