用途:PufferLib 是高性能强化学习库,用于快速并行环境模拟与训练,宣称通过优化向量化、原生多智能体支持和高效 PPO(PuffeRL)实现每秒数百万步训练,并提供 20 多个 Ocean 环境及与 Gymnasium、PettingZoo 等框架的集成。
主要能力:1)PuffeRL 训练:优化的 PPO+LSTM 算法,文档称达 1M-4M 步/秒,支持 CLI 与 Python 训练循环、分布式多 GPU/多节点、日志(Weights & Biases、Neptune)、检查点与断点续训。2)环境开发:PufferEnv API 创建自定义高性能环境,定义观测与动作空间,提供单/多智能体模板。3)向量化:共享内存零拷贝、忙等待标志、异步返回、每 worker 多环境等优化,文档给出纯 Python 环境 100k-500k SPS、C 环境 100M+ SPS 等基准。4)策略开发:标准 PyTorch 模块,支持 CNN、LSTM(称推理快 3 倍)、多输入、连续动作及多智能体策略。5)集成:支持 Gymnasium/OpenAI Gym、PettingZoo、Atari、Procgen、NetHack/MiniHack、Minigrid、Neural MMO、Crafter、GPUDrive、MicroRTS、Griddly 等。
使用方式:安装命令 uv pip install pufferlib。CLI 训练示例:puffer train procgen-coinrun --train.device cuda --train.learning-rate 3e-4;分布式:torchrun --nproc_per_node=4 train.py。Python 中用 pufferlib.make('procgen-coinrun', num_envs=256) 创建向量化环境,再用 PuffeRL(env=env, policy=my_policy, device='cuda', learning_rate=3e-4, batch_size=32768) 创建训练器,循环调用 trainer.evaluate()、trainer.train()、mean_and_log()。也可用 pufferlib.emulate(gym_env, num_envs=256) 包装环境。
适用场景:PPO 单/多智能体训练、自定义 PufferEnv 环境、并行模拟性能优化、Gymnasium/PettingZoo 等环境接入、CNN/LSTM/自定义策略开发、大规模快速实验。
限制:资料未提供收费、价格、平台、效果保证与具体许可信息;性能数字为文档描述,实际取决于环境与配置。官方文档 https://puffer.ai/docs.html,GitHub https://github.com/PufferAI/PufferLib。