LabHub

ブログ

モダン強化学習エコシステム 2026 完全ガイド - RLlib (Anyscale) · Stable-Baselines3 · Tianshou · CleanRL · OpenSpiel (DeepMind) · Gymnasium (Farama) · Acme · PufferLib · Pearl (Meta) · TorchRL 徹底解説

한국어English日本語

はじめに — 2026年5月、強化学習は「第二の黄金期」に入った

2018-2020年のAlphaStar、OpenAI Five、AlphaFold 1時代がRLの第一の黄金期だとすれば、2024-2026年は第二の黄金期である。トリガーは3つだ。第一に、DeepSeek-R1のGRPOとOpenAI o1/o3系のTest-Time Computeによって、LLM推論にRLが再び中心ツールとして戻ってきた。第二に、NVIDIA GR00T・Isaac Lab・Cosmos(iter69で取り上げた)によってロボティクスのシミュレーションとsim-to-realが商用段階に入った。第三に、Wayve GAIA-2(iter97)やTesla FSD v13のように、自動運転がRLベースの評価・方策学習へと再び統合されつつある。

本稿はマーケティングカタログではない。2026年5月時点でRLの本番運用と研究で実際に使われているライブラリ・環境・アルゴリズム・評価ベンチを整理する。コード例はすべて現在のAPIに準拠する。RLlib、Stable-Baselines3、Tianshou、CleanRL、TorchRL、OpenSpiel、Acme、Pearl、PufferLib、Gymnasium、PettingZoo、MuJoCo、Brax、Isaac Labを1本で比較する。

RL 2026の地形図 — 4つの軸に分解する

まず大きな絵から。2026年のRLエコシステムは次の4軸に分解できる。

  1. アルゴリズムライブラリ(library): 方策・価値関数、トレーナ、リプレイバッファの実装。
  2. 環境標準(environment API): 状態・行動・報酬をライブラリに公開する抽象。
  3. シミュレータ(simulator): 物理、ゲーム、ロボット、都市、自動運転のドメインシミュレーション。
  4. 分散ランタイム(distributed runtime): アクター・ラーナのトポロジ、アクタープール、リプレイのシャーディング。

2018年には1ライブラリが4軸すべてを抱え込んだ(自前のベースライン+Gym環境+自前のAtariラッパ+自前の分散)。2026年には4軸が明確に分離した。Gymnasium(環境API)+ PufferLib(環境互換シム)+ RLlib/SB3/Tianshou(アルゴリズム)+ Ray/Slurm(分散)という組み合わせが標準だ。

汎用RLライブラリ市場 — 二強+新興4社

アルゴリズムライブラリ市場は2026年5月時点で二強である。

新興勢も地位を固めた。

それぞれ役割が違う。本番 → RLlib、論文ベースライン → SB3、高速実験/論文再現 → CleanRL、PyTorchネイティブのマルチエージェント → TorchRL、学習安定性+性能 → Tianshou、TPU・JAX → Acme。

RLlib — Ray上で回す産業用RL

RLlibはAnyscaleがメンテするRayのサブモジュールだ。2026年5月時点で最大の強みは分散学習がきちんと動くことである。軽量な単一マシン学習から1000以上のアクター分散まで、同じAPIで処理できる。

典型的なRLlibコード例:

import gymnasium as gym
import ray
from ray.rllib.algorithms.ppo import PPOConfig

ray.init()

config = (
    PPOConfig()
    .environment(env="CartPole-v1")
    .framework("torch")
    .training(gamma=0.99, lr=3e-4, train_batch_size=4000)
    .rollouts(num_rollout_workers=8)
    .resources(num_gpus=1)
)

algo = config.build()
for i in range(100):
    result = algo.train()
    print(f"iter={i} reward={result['episode_reward_mean']:.2f}")

algo.save(checkpoint_dir="/tmp/ppo_cartpole")
ray.shutdown()

RLlibはアルゴリズムの引き出しが最も豊富だ。PPO、IMPALA、APPO、DQN、Rainbow、SAC、DDPG、TD3、MARWIL、BC、CQL、MARL向けPettingZooラッパ、さらにRLHF向けRLlib Offlineまで。難点は抽象が深いこと — 最初の学習曲線は急である。

Stable-Baselines3 — 研究ベースラインの事実上の標準

SB3はDLR-RMチーム(ドイツ航空宇宙センター出身)がメンテするPyTorchベースのRLライブラリだ。使いやすさと可読性で頭一つ抜けている。新しいRL論文のベースライン数値の50%超はSB3で書かれている。

SB3のPPO学習は4行で完結する。

import gymnasium as gym
from stable_baselines3 import PPO

env = gym.make("LunarLander-v2")
model = PPO("MlpPolicy", env, verbose=1, learning_rate=3e-4, n_steps=2048)
model.learn(total_timesteps=1_000_000)
model.save("ppo_lunar")

SB3に公式で含まれるアルゴリズム:

SB3は単一マシン・中規模学習で最も推奨される。分散学習はRLlibかTorchRLの方が向いている。

Tianshou — 高速・モジュラー、学習安定性で頻繁に引用

Tianshouは清華大学RLグループ発のPyTorchベースRLライブラリだ。2020年から急成長し、2024-2026年にかけてNeurIPS/ICLR論文のベースライン引用が大幅に増えた。強みは収束の速さと安定したハイパーパラメータである。

Tianshouの核となる抽象はCollector、Policy、Trainerに分かれる。

import gymnasium as gym
import tianshou as ts
import torch
from tianshou.utils.net.common import Net
from tianshou.utils.net.discrete import Actor, Critic

env = gym.make("CartPole-v1")
state_shape = env.observation_space.shape or env.observation_space.n
action_shape = env.action_space.n

net = Net(state_shape, hidden_sizes=[64, 64])
actor = Actor(net, action_shape)
critic = Critic(net)
optim = torch.optim.Adam(set(actor.parameters()) | set(critic.parameters()), lr=3e-4)

policy = ts.policy.PPOPolicy(actor, critic, optim, dist_fn=torch.distributions.Categorical)
train_envs = ts.env.DummyVectorEnv([lambda: gym.make("CartPole-v1") for _ in range(8)])
buf = ts.data.VectorReplayBuffer(20000, 8)
collector = ts.data.Collector(policy, train_envs, buf)
collector.collect(n_step=4000)

Tianshouはアルゴリズム実装の正確さで真っ先に名前が挙がる。難点はSB3と比べてドキュメントが短いこと。

CleanRL — アルゴリズム1個=1ファイル、研究再現性の決定版

CleanRLはCosta Huang(Vector Institute、現Hugging Face)が始めたプロジェクトで、アルゴリズム1つを1ファイルで完結させる。PPOの実装はppo.py1ファイルに全部が入り、抽象層がほぼない。可読性と再現性で圧倒的だ。

2026年5月時点でCleanRLが単一ファイルとして提供するアルゴリズム:

W&B連携が標準で組み込まれているので、実行すれば自動でメトリクスがクラウドに記録される。研究者が論文再現やベースライン作成のときに最初にクローンするレポの1つだ。

TorchRL — PyTorchを1級市民にしたモダンRL

TorchRLはMetaのPyTorchチームが直接作ったRLライブラリだ。2023年に安定化、2024-2026年で加速。PyTorchテンソルとTensorDict抽象が1級市民なので、PyTorch開発者には馴染みやすい。

TorchRLの核となる抽象:

短いTorchRL例:

import torch
from torchrl.envs import GymEnv, TransformedEnv, ObservationNorm
from torchrl.modules import MLP, ProbabilisticActor
from torchrl.objectives import ClipPPOLoss

env = TransformedEnv(GymEnv("CartPole-v1"), ObservationNorm(in_keys=["observation"]))
actor_net = MLP(in_features=env.observation_spec["observation"].shape[-1], out_features=env.action_spec.shape[-1], num_cells=[64, 64])
actor = ProbabilisticActor(module=actor_net, in_keys=["observation"], out_keys=["action"])

loss_module = ClipPPOLoss(actor, critic_network=None, entropy_bonus=True)
optim = torch.optim.Adam(loss_module.parameters(), lr=3e-4)

TorchRLの強みはマルチエージェント・オフライン・メタRLを単一APIで扱えることだ。難点は抽象が深く、APIがよく変わる点である。

PFRL — Preferred Networks発の日本生まれPyTorch RL

PFRLはPreferred Networks(PFN、東京)が作ったPyTorch RLライブラリだ。前身はChainerベースのChainerRLだった。2026年5月時点でICML/NeurIPSにおける日本チームのベースライン実行の多くを支えている。

PFRLの強みはアルゴリズムの広さと検証済みの再現性だ。Rainbow、IQN、R2D2、NoisyNetなどDQN系の派生が充実しており、Atari 50M学習までエンドツーエンドで検証されている。トレードオフはSB3より英語ドキュメントが浅いこと。

TF-Agents — GoogleのTensorFlow RLライブラリ

TF-AgentsはGoogleが作ったTFベースのRLライブラリだ。2026年5月でも活性ではあるがPyTorch優勢の中でシェアを減らした。一方、Google内部+TPU学習では今でも第1選択である。AlphaGo・AlphaStarのフォローアップ研究の一部と、Vertex AI PipelinesのRLコンポーネントはTF-Agentsの上に乗っている。

OpenSpiel — DeepMindのゲーム理論・マルチエージェント環境とアルゴリズム集

OpenSpielはDeepMindが公開したゲーム理論とマルチエージェントRLの標準ツールだ。60超のゲーム(チェス、囲碁、ポーカー、ヘックス、Liar's Dice、Goofspiel、Hanabi、Catch the Catなど)と、PSRO、CFR、NFSP、MMDなどの均衡学習アルゴリズムが1パッケージにまとまっている。

import pyspiel

game = pyspiel.load_game("tic_tac_toe")
state = game.new_initial_state()
while not state.is_terminal():
    legal_actions = state.legal_actions()
    action = legal_actions[0]
    state.apply_action(action)
print(state.returns())

OpenSpielはマルチエージェントRL研究の標準環境の1つだ。カードゲーム(Hanabi)・戦略ゲーム(Catan)・オークション(Sealed-Bid Auction)・Liar's Diceまで単一APIで扱える。

Acme — DeepMindの研究者向けモジュラRLフレームワーク

AcmeはDeepMind研究チームが社内で使っていたRLフレームワークを公開したものだ。核となる抽象はActor + Learner + Replayの明確な分離である。JAXとTFの双方をサポートする。

Acmeの強みは分散学習トポロジ(R2D2、IMPALA、Ape-Xなど)をきれいに表現できることだ。DeepMindのReverbリプレイサービスと組み合わせると、数千アクター分散学習が標準API呼び出しで可能になる。

同じDeepMindスタックの兄弟ライブラリ:

Pearl — Metaの本番意思決定システム向けRLライブラリ

PearlはMeta(Applied Research, Production RL)が2023年末に公開したRLライブラリだ。正式名称はPEarl(Production-Ready Reinforcement Learning AI Library)。2026年5月時点で広告入札、コンテンツ推薦、通知タイミングといったオンライン意思決定システムに焦点を絞っている。

Pearlが強調するポイント:

Meta内部では広告・推薦・通知システムの一部がPearl上で動いている。OSS公開版は同じ抽象を外部ユーザにも提供する。

Gymnasium — Farama Foundationが引き継いだ環境API標準

OpenAI Gymは2021年以降メンテが止まり、Farama FoundationがGymnasiumとしてフォークし、事実上の標準になった。2026年5月時点で主要RLライブラリ(SB3、RLlib、Tianshou、CleanRL、TorchRL)はすべてGymnasium APIを第一に対応する。

GymとGymnasiumの差は小さいが本質的だ。

import gymnasium as gym

env = gym.make("CartPole-v1", render_mode="rgb_array")
obs, info = env.reset(seed=42)
for _ in range(1000):
    action = env.action_space.sample()
    obs, reward, terminated, truncated, info = env.step(action)
    if terminated or truncated:
        obs, info = env.reset()
env.close()

同じFarama傘下にPettingZoo(マルチエージェント)、MiniGrid(グリッドワールド)、MiniWorld(3Dミニ)、Procgen(手続き生成)、Highway-env(ミニ自動運転)が並ぶ。

PettingZoo + MARL — マルチエージェントRLの標準API

PettingZooはGymnasiumのマルチエージェント兄弟だ。AEC(Agent Environment Cycle)APIとParallel APIの両方をサポートする。RLlib、Tianshou、TorchRLのいずれもPettingZoo環境を1級で受け入れる。

PettingZooに含まれる環境カテゴリ:

サンプルコード:

from pettingzoo.classic import chess_v6

env = chess_v6.env(render_mode="human")
env.reset(seed=42)
for agent in env.agent_iter():
    obs, reward, term, trunc, info = env.last()
    action = None if term or trunc else env.action_space(agent).sample()
    env.step(action)
env.close()

マルチエージェントRLアルゴリズムはMAPPO、IPPO、QMIX、MADDPG、COMAなどがあり、RLlib MARLMARLlibEPyMARLといったライブラリがPettingZoo環境の上で動く。

Atari・MuJoCo・DeepMind Control Suite — クラシックベンチマークの現在

RLの標準ベンチマークは今も健在だ。

MuJoCo 3は2024年以降MJXというJAXバックエンドを提供する。同じモデルをGPUで数千並列に回せるので、sim-to-real研究で頻繁に引用される。

import gymnasium as gym

env = gym.make("HalfCheetah-v5")
obs, info = env.reset(seed=0)
for _ in range(200):
    obs, r, term, trunc, info = env.step(env.action_space.sample())

同カテゴリにPyBullet(オープンソース物理エンジン、MuJoCo代替)、Gazebo(ROSと統合されたロボティクスシミュレータ)もある。

Brax — JAXベースの微分可能物理シミュレータ

BraxはGoogleが作ったJAXベースの物理シミュレータだ。微分可能物理+GPU並列+JITコンパイルなので、RLスループットがMuJoCo CPUベースの100-1000倍になるケースがある。

Braxの環境はMuJoCo環境互換で書かれており、Ant、HalfCheetah、Humanoid、Walker2d、Hopper、Pusher、Reacherなどが同じ名前で提供される。

import jax
import brax.envs
from brax.training.agents.ppo import train as ppo

env = brax.envs.create(env_name="ant", backend="positional")
make_inference_fn, params, _ = ppo.train(
    environment=env,
    num_timesteps=50_000_000,
    num_evals=10,
    reward_scaling=10,
    episode_length=1000,
    normalize_observations=True,
    action_repeat=1,
    unroll_length=5,
    num_minibatches=32,
    num_updates_per_batch=4,
    discounting=0.97,
    learning_rate=3e-4,
    entropy_cost=1e-2,
    num_envs=4096,
    batch_size=2048,
    seed=0,
)

num_envs=4096のように一度に数千環境をGPUで回すのが要点だ。Brax + Acme + RLaxの組み合わせは単一GPUで1Bステップ以上の学習を1日以内に終えられる。

NVIDIA Isaac Lab + Cosmos — ロボティクスsim-to-realの産業標準

NVIDIAは2023-2024年にIsaacGymからIsaac Labへ移行した。2026年5月時点でIsaac Lab(旧OmniIsaac/IsaacGymEnvsを吸収)がロボティクスRLシミュレーションの産業標準だ。Cosmos(iter69)はsim-to-real向けの生成的世界モデルを別途提供する。

Isaac Labの特徴:

Boston Dynamics、Agility Robotics、Figure AI、1Xといったヒューマノイド企業の多くが、RL方策学習の標準としてIsaac Labを採用していると公表している。Isaac Lab + RL標準アルゴリズムにはRSL-RL(ETHチューリッヒ)とStable-Baselines3、あるいは自社PPO実装の組み合わせが多い。

VizDoom・MineRL・MineDojo・Crafter・NetHack — 手続き的環境の復活

2024-2026年に手続き的・オープンワールドのRLベンチが再注目された。

import minerl

env = minerl.make("MineRLObtainDiamond-v0")
obs = env.reset()
done = False
while not done:
    action = env.action_space.sample()
    obs, r, done, info = env.step(action)

これらの環境はLLMベースエージェントの評価にも頻繁に使われる。Voyager(NVIDIA、GPT-4のMinecraftエージェント)、DEPS、JARVIS-1はすべてMineDojo上にある。

MetaWorld・RoboCasa・LIBERO — ロボティクスのタスク集

ロボティクスRLは単一シミュレータではなく、タスク集+シミュレータの組み合わせで評価される。

MetaWorldの使い方:

import metaworld
import random

mt10 = metaworld.MT10()
training_envs = []
for name, env_cls in mt10.train_classes.items():
    env = env_cls()
    task = random.choice([t for t in mt10.train_tasks if t.env_name == name])
    env.set_task(task)
    training_envs.append(env)

PufferLib — 環境互換レイヤとスループットブースト

PufferLibは環境APIの統一とGPUベクトル化を一度に解決するライブラリだ。2024年以降急成長中。核となる主張はCPU環境をそのままに、単一GPUホストから100〜1000の環境を最大スループットで回すこと。

PufferLibは次を1ヶ所で処理する。

import pufferlib
import pufferlib.emulation
import pufferlib.vectorization

env_creator = lambda: pufferlib.emulation.GymnasiumPufferEnv("CartPole-v1")
vecenv = pufferlib.vectorization.Multiprocessing(env_creator, num_envs=64)
obs = vecenv.reset()

PufferLib + CleanRL、あるいはPufferLib + RLlibの組み合わせで学習速度が2-10倍になる事例は珍しくない。

LLM + RL — PPOからGRPOへ、TRLと学習インフラ

2024年末、DeepSeek-R1がPPOの派生GRPO(Group Relative Policy Optimization)で学習されて公開され、以後LLM推論モデルの学習はGRPO派生が標準になった。

PPOとGRPOの違いを短く整理する。

比較項目PPOGRPO
critic必要不要
アドバンテージGAE + 価値関数ベースライングループ内報酬の正規化
メモリactor + criticactorのみ
安定性既知の安定領域グループサイズgが鍵
LLM適合標準だがcriticが重い推論用LLM RLの事実上の標準

TRL(Hugging Face Transformers Reinforcement Learning)はLLM学習用RLライブラリだ(iter62のLLMファインチューニングで取り上げた)。2026年5月時点でPPO、DPO、GRPO、KTO、ORPO、報酬モデル学習をすべてサポートする。

from trl import GRPOTrainer, GRPOConfig
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "meta-llama/Llama-3.1-8B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

config = GRPOConfig(
    learning_rate=1e-6,
    num_generations=8,
    max_prompt_length=512,
    max_completion_length=1024,
    beta=0.04,
)

trainer = GRPOTrainer(
    model=model,
    args=config,
    reward_funcs=[lambda completions, **kw: [len(c) for c in completions]],
    train_dataset=...,
    processing_class=tokenizer,
)
trainer.train()

LLM RLは古典RLとインフラの形が違う。vLLMもしくはSGLangでロールアウト生成、DeepSpeed/FSDPで学習、TRL/OpenRLHF/verlといったフレームワークでアルゴリズム実装、というスタックだ。学習クラスタは16-128 GPU規模が普通である。

アルゴリズム地形 2026 — PPOは依然として王、隣に新顔

2026年5月時点のアルゴリズム別の地位は次の通り。

ベンチマーク地形 — MuJoCo / Atari / DM Control / NetHack / Crafter

アルゴリズム比較の標準ベンチマーク:

韓国のRL研究 — KAIST、SNU、NCSOFT、Krafton、NAVER

韓国のRL研究は2020年代に入って急増した。主要グループ:

韓国のRLはゲームRLと意思決定システムRLで産業適用が強く、理論・メタRLで学界発表が活発だ。

日本のRL研究 — Preferred Networks、DeepMind Tokyo、Sony AI、NTT

日本のRL研究はゲーム・ロボティクス・産業応用に強みがある。

Gran Turismo Sophyのような事例はシミュレータの精度+比較可能な人間ベースラインが揃った稀な例だ。産業RLの可能性を示した最も視認性の高いケースの1つである。

実世界の本番事例 — AlphaGoからAlphaChip、Boston Dynamicsまで

RLが実際に本番投入された事例を整理する。

OpenAI Spinning Upと教育リソース

これから学び始める人向けの中核リソース:

学習順序は通常、Spinning Upのコードを読む → CleanRLのppo.pyを一行ずつ → SB3 / Tianshouでアルゴリズム実験 → RLlib / TorchRLで分散・マルチエージェントへ拡張が自然だ。

ツール選択ガイド — シナリオ別の推奨

最後にシナリオ別の推奨をまとめる。

ツールを決めるとき最も重要な問いは「環境スループットがどこで詰まるか」だ。CPU環境ならSB3 / Tianshouで十分。GPUシミュレーションならIsaac Lab / Brax。分散が必要ならRLlib / Acme。LLMはTRL。

おわりに — 2026年5月、RLは単一ツールではなく「スタック」だ

本稿の結論は単純だ。RLは単一ツールの時代ではない。環境+ライブラリ+シミュレータ+分散ランタイムのスタックをドメインに合わせて組み立てる必要がある。

最も大きな流れを2つに整理する。第一に、LLM-RLとクラシックRLの分岐。LLM-RLはTRL + vLLM + GRPO/DPOで独自領域になった。クラシックRLはSB3/RLlib/Tianshou + Gymnasium + シミュレータで続く。第二に、ロボティクスRLが本当に商用段階に入った。Isaac Lab + Cosmos + Diffusion Policy + Q-Transformerの組み合わせが、複数のヒューマノイド・マニピュレータ企業の標準スタックになっている。

ツール選択に時間をかけすぎないこと。どの組み合わせでも「環境インターフェイスの一貫性+分散ランタイムの安定性+実験追跡」の3つさえ押さえれば90%は解決する。残りはドメイン特化のチューニングだ。

References

コメント

まだコメントはありません。

ログインするとコメントできます