huggingface/OpenEnv

An interface library for RL post training with environments.

解決的問題

OpenEnv 提供了一種標準化的方式,用於建立、部署和互動式使用代理強化學習(RL)訓練所需的隔離執行環境。它消除了為代理在安全、沙盒化的容器中運行而設置的繁瑣過程,同時為強化學習框架提供與這些環境通信的一致性 API。

工作原理

OpenEnv 採用客戶端-伺服器架構,環境託管在隔離的 Docker 容器中(透過 LocalDocker、Docker Swarm 或 Hugging Face Spaces 等提供者部署)。

  • 伺服器端:環境創建者實作一個包含 reset()step()state() 方法的基類,以定義邏輯和獎勵。
  • 客戶端:使用者透過 EnvClient 使用 Gymnasium 風格的 API 與這些環境互動,透過 WebSockets 通訊。
  • 工具:CLI(openenv)允許使用者產生新環境、建構 Docker 鏡像,並推送到 Hugging Face Spaces 以實現輕鬆部署。

適用對象

  • RL 研究人員:那些在模擬或沙盒環境中訓練 LLM 或其他代理以執行任務的研究者。
  • 環境創建者:構建專用模擬器或沙盒(例如程式設計、國際象棋、金融市場)的開發者,需要安全部署並易於存取。

主要亮點

  • Gymnasium 風格 API:使用熟悉的 step()reset() 模式,實現與強化學習的無縫整合。
  • 沙盒執行:確保代理在隔離容器中運行,保障安全性。
  • 整合 Web 界面:包含內建 UI,支援即時除錯和對代理-環境互動的互動式探索。
  • 彈性部署:支援多種容器提供者,並可輕鬆部署至 Hugging Face Spaces。
  • 廣泛生態系統:與 TRL、torchforge、SkyRL 和 Oumi 等強化學習框架整合。

相關