AgileRL/AgileRL

Streamlining reinforcement learning with RLOps. State-of-the-art RL algorithms and tools, with 10x faster training through evolutionary hyperparameter optimization.

AgileRL – 內建 RLOps 的強化學習程式庫

是什麼 – AgileRL 是一個開源的 Python 庫,整合了眾多先進的強化學習(RL)演算法(在策略、離策略、離線、多智能體、上下文臂、LLM 微調等),並附帶 進化式超參數最佳化(HPO)與 分散式訓練 工具。開發者將此組合稱為 RLOps —— 類比於 RL 工作負載的 MLOps。

核心理念

  • 進化式 HPO – 不再需要執行數十個獨立實驗,AgileRL 透過進化一個 智能體群體,每數千步對超參數與網路架構進行變異。README 指出,相比傳統 Optuna 基礎管道,HPO 速度最快可提升 10 倍。
  • 模組化訓練器LocalTrainer(單機版)與雲端平台 Arena 的 SDK/CLI,可訓練單一智能體、群體或自訂流程。
  • 廣泛的演算法覆蓋 – 支援 PPO、DQN(含 Rainbow)、DDPG/TD3、CQL、ILQL、MADDPG、MATD3、IPPO、NeuralUCB/NeuralTS,以及針對長週期、多回合任務的特殊 LLM 微調流程(CISPO)。
  • 分散式/多智能體支援 – 相容 Gymnasium 向量化環境與 PettingZoo 並行 API;可透過 Arena RLOps 平台在多個 GPU 上擴展。

如何使用

# 在 LunarLander 上訓練單一 DQN 智能體
from agilerl import LocalTrainer
trainer = LocalTrainer(algorithm="DQN", environment="LunarLander-v3")
population, fitnesses = trainer.train()

啟用進化式 HPO 時,只需設定 hpo=True,並可選地設定 pop_size

trainer = LocalTrainer(
    algorithm="DQN",
    environment="LunarLander-v3",
    training=TrainingSpec(pop_size=4),
    hpo=True,
)
population, fitnesses = trainer.train()

你也可以透過 YAML 清單或命令列(python -m agilerl.train path/to/config.yaml)驅動訓練。

Arena – 受管理的 RLOps 服務

  • 獨立的 agilerl-arena 套件提供 Python SDK(ArenaClient)與 CLI(arena …)。
  • 透過這些工具,你可以上傳自訂環境、提交訓練工作,並在雲端 GPU 上部署訓練完成的智能體,無需自行管理基礎設施。

安裝

pip install agilerl               # 核心套件
pip install agilerl[box2d]        # 可選:經典控制任務的 Box2D 物理引擎
pip install agilerl[llm]          # LLM 微調額外功能
pip install agilerl-arena         # Arena SDK/CLI(也是 agilerl 的基本依賴)

開發模式支援 pip install -e .pip install git+https://github.com/AgileRL/AgileRL.git@main

文件與社群

適合對象 需要即用型 RL 工具箱以減少超參數搜尋與擴展性開銷的研究人員或工程師,特別是對嘗試進化式 HPO 或使用 RL 訓練 LLM 感興趣者。


總結 – AgileRL 是一個真正、持續維護的 RL 框架,結合廣泛的演算法套件與進化式超參數最佳化,以及雲原生 RLOps 平台(Arena)。其目標是讓 RL 實驗更快速、更具可重現性。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案