필사 모드: 모던 강화학습 생태계 2026 완벽 가이드 - RLlib (Anyscale) · Stable-Baselines3 · Tianshou · CleanRL · OpenSpiel (DeepMind) · Gymnasium (Farama) · Acme · PufferLib · Pearl (Meta) · TorchRL 심층 분석
한국어들어가며 — 2026년 5월, 강화학습은 "두 번째 황금기"에 들어섰다
2018-2020년의 AlphaStar, OpenAI Five, AlphaFold 1 시절이 RL의 첫 번째 황금기였다면, 2024-2026년은 두 번째 황금기다. 트리거는 셋이다. 첫째, **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을 한 글에서 비교한다.
RL 2026 지형도 — 4개 축으로 분해하기
먼저 큰 그림이다. 2026년 RL 생태계는 다음 4개 축으로 분해된다.
1. **알고리즘 라이브러리(library)**: 정책/가치 함수, 트레이너, 리플레이 버퍼 구현.
2. **환경 표준(environment API)**: 상태/액션/보상을 라이브러리에 노출하는 추상.
3. **시뮬레이터(simulator)**: 물리, 게임, 로봇, 도시, 자율주행 등 도메인 시뮬레이션.
4. **분산 인프라(distributed runtime)**: 액터-러너 토폴로지, 액터 풀, 리플레이 샤딩.
2018년에는 한 라이브러리가 4개를 다 다뤘다(베이스라인 + Gym 환경 + 자체 ATari 래퍼 + 자체 분산). 2026년에는 4개 축이 명확히 분리됐다. **Gymnasium**(환경 API) + **PufferLib**(환경 호환 레이어) + **RLlib/SB3/Tianshou**(알고리즘) + **Ray/Slurm**(분산) 같은 식으로 조합한다.
범용 RL 라이브러리 시장 — 양강 + 신흥 4개
알고리즘 라이브러리 시장은 2026년 5월 기준 양강이다.
- **RLlib(Anyscale, Ray 위)**: 분산 학습과 프로덕션 채택 1위. PPO, IMPALA, APPO, DQN, SAC, MARL까지. Ray Tune과 통합된 HPO.
- **Stable-Baselines3(SB3)**: 연구 베이스라인 표준. PyTorch 기반, 가독성 우선, 단일 머신 학습에 최적.
신흥 강자도 자리를 잡았다.
- **TorchRL**(Meta PyTorch 팀): 2023년 이후 모듈식 PyTorch-native RL. TensorDict 추상으로 멀티에이전트·오프라인·온라인을 단일 API로.
- **Tianshou**(칭화대): 빠른 성능 + 모듈식 설계. CN/EN 문서, 학습 안정성에서 자주 인용.
- **CleanRL**: 알고리즘당 단일 파일. 연구 재현성 + 교육에 압도적. 실험 추적 W&B 기본.
- **JAX 라인**: **JAXRL**, **RejaxRL**, DeepMind **Acme + Haiku/RLax**. 컴파일된 환경(Brax 등)과 결합 시 압도적 throughput.
각자 자리가 다르다. 프로덕션 → RLlib, 논문 베이스라인 → SB3, 빠른 실험/논문 재현 → CleanRL, PyTorch-native 멀티에이전트 → TorchRL, 학습 안정성 + 성능 → Tianshou, TPU·JAX → Acme.
RLlib — Ray 위에서 돌리는 산업용 RL
RLlib는 Anyscale이 유지하는 Ray의 하위 모듈이다. 2026년 5월 기준 가장 큰 강점은 **분산 학습이 진짜로 잘 동작한다는 것**이다. 라이트한 단일 머신 학습부터 1000+ 액터 분산까지 같은 API로 처리한다.
전형적 RLlib 코드는 다음과 같다.
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줄이다.
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에는 다음 알고리즘이 정식 포함된다.
- **온폴리시**: PPO, A2C, TRPO(Contrib)
- **오프폴리시**: DQN, DDPG, TD3, SAC, HER(목표 기반)
- **이미테이션/오프라인**: BC, GAIL, AIRL은 **Imitation** 별도 패키지에 있다.
SB3는 단일 머신·중규모 학습에 가장 자주 권장된다. 분산 학습은 RLlib 또는 TorchRL을 쓰는 게 낫다.
Tianshou — 빠르고 모듈식, 학습 안정성에서 자주 인용
Tianshou는 칭화대 RL 그룹이 시작한 PyTorch 기반 RL 라이브러리다. 2020년부터 빠르게 성장했고, 2024-2026년 사이 NeurIPS/ICLR 논문에서 베이스라인으로 인용 빈도가 크게 늘었다. 강점은 **빠른 수렴과 안정적 하이퍼파라미터**다.
Tianshou의 핵심 추상은 Collector, Policy, Trainer로 갈린다.
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는 알고리즘 구현 정확도에서 자주 1순위로 거론된다. 단점은 SB3 대비 문서가 짧다는 점이다.
CleanRL — 알고리즘 한 개당 한 파일, 연구 재현성의 끝판
CleanRL은 Costa Huang(Vector Institute, 현 Hugging Face)이 시작한 프로젝트로 **알고리즘 하나를 한 파일에 끝낸다**. PPO 구현이 한 `ppo.py` 파일에 모든 게 들어있고, 추상 레이어가 거의 없다. 가독성과 재현성에서 압도적이다.
CleanRL은 2026년 5월 기준 다음 알고리즘을 단일 파일로 제공한다.
- **온라인**: PPO(11종 변형 — Atari, MuJoCo, Procgen, 멀티에이전트, LSTM, 연속/이산), DQN, C51, SAC, TD3, DDPG, A2C.
- **오프라인**: CQL, IQL, AWAC, DT(Decision Transformer).
- **연구용**: PPG, PPL, RLHF 변형, GRPO 단일 파일.
W&B 통합이 기본이라 실행하면 자동으로 메트릭이 클라우드에 기록된다. 연구자가 논문 재현이나 베이스라인을 만들 때 가장 먼저 클론하는 레포 중 하나다.
TorchRL — PyTorch 1급 시민으로 만든 모던 RL
TorchRL은 Meta PyTorch 팀이 직접 만든 RL 라이브러리다. 2023년 안정화, 2024-2026년 성장 가속. PyTorch 텐서와 TensorDict 추상이 1급 시민이라 PyTorch 개발자에게 친숙하다.
TorchRL의 핵심 추상은 다음과 같다.
- **TensorDict**: 모든 데이터(관측, 액션, 보상, 마스크, hidden state)를 한 컨테이너에.
- **Environment Transforms**: torchvision Transform 스타일의 환경 변환.
- **Replay Buffer**: 단일·우선순위·시퀀스·오프라인 모두 한 API.
- **Loss Modules**: PPO, DQN, SAC, DDPG, IQL, CQL 등 손실 함수만 따로.
TorchRL 코드 예시는 다음과 같다.
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이다.
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 같은 균형 학습 알고리즘이 한 패키지에 들어있다.
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 연구 표준 환경 중 하나다. 카드 게임(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 스택에는 보조 라이브러리도 있다.
- **DM-Haiku**: JAX 위의 신경망 모듈(현재는 Flax로 이동 추세).
- **RLax**: JAX 기반 RL 손실 함수 / 알고리즘 빌딩 블록.
- **Distrax**: JAX 기반 분포 라이브러리(TFP 대안).
- **Reverb**: 분산 리플레이 버퍼 서비스.
Pearl — Meta의 프로덕션 의사결정 시스템 RL 라이브러리
Pearl은 Meta(Applied Research, Production RL)가 2023년 말 공개한 RL 라이브러리다. 정식 명칭은 PEarl(Production-Ready Reinforcement Learning AI Library). 2026년 5월 기준 광고 입찰, 콘텐츠 추천, 알림 타이밍 같은 **온라인 의사결정 시스템**에 초점이 맞춰져 있다.
Pearl이 강조하는 점은 다음과 같다.
- **컨택스트 밴딧(contextual bandit)과 RL의 단일 API**: 보상 일부만 보이는 케이스에 강함.
- **오프라인 정책 평가(OPE)**: 프로덕션 정책을 실험 없이 비교.
- **안전한 탐색(safe exploration)**: 비즈니스 KPI 보호.
- **대규모 정책 학습 + 서빙 분리**: 학습은 PyTorch, 서빙은 별도 런타임.
Meta 내부에서는 광고 + 추천 + 통지 시스템 일부가 Pearl 위에 올라간다. OSS 공개 버전은 외부 사용자에게도 같은 추상을 제공한다.
Gymnasium — Farama Foundation이 이어받은 환경 API 표준
OpenAI Gym은 2021년 이후 유지 보수가 멈췄고, Farama Foundation이 **Gymnasium**으로 포크해 사실상 표준이 됐다. 2026년 5월 기준 모든 주요 RL 라이브러리(SB3, RLlib, Tianshou, CleanRL, TorchRL)가 Gymnasium API를 1차로 따른다.
Gym과 Gymnasium의 차이는 크지 않지만 중요하다.
- `env.reset()` → `(obs, info)` 튜플 반환.
- `env.step(action)` → `(obs, reward, terminated, truncated, info)` 5-튜플. **terminated**(에피소드 종료)와 **truncated**(타임아웃)를 분리.
- 표준 시드 처리(`env.reset(seed=42)`).
- `gym.vector` 벡터화 환경이 표준화.
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**(grid-world), **MiniWorld**(3D 미니), **Procgen**(Procedurally Generated), **Highway-env**(자율주행 mini)가 들어가 있다.
PettingZoo + MARL — 멀티에이전트 RL의 표준 API
PettingZoo는 Gymnasium의 멀티에이전트 자매다. AEC(Agent Environment Cycle) API와 Parallel API를 모두 지원한다. RLlib, Tianshou, TorchRL이 모두 PettingZoo 환경을 1급으로 받는다.
PettingZoo에 포함된 환경 카테고리는 다음과 같다.
- **Atari Multiplayer**: Pong, Boxing 등 2P Atari.
- **Classic**: 체스, 바둑, 카드 게임.
- **Butterfly**: 추적/회피 게임.
- **MPE(Multi-Particle Environments)**: 협업/경쟁 입자 시뮬레이션(OpenAI 원조).
- **SISL**: 멀티 추격, 다중 통신.
- **MAgent2**: 대규모(1000+ 에이전트) 전투/협력 환경.
코드는 다음과 같다.
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 MARL**, **MARLlib**, **EPyMARL** 같은 라이브러리가 PettingZoo 환경 위에서 돈다.
Atari·MuJoCo·DeepMind Control Suite — 클래식 벤치마크의 현재
RL의 표준 벤치마크는 여전히 강력하다.
- **Atari Learning Environment(ALE)**: 50+ 아타리 게임. DQN 시절부터 표준. 2024년 ALE 0.10에서 Gymnasium 통합.
- **MuJoCo**: DeepMind가 2022년 인수 후 오픈소스화. **MuJoCo 3.x**에서 GPU 가속(MJX) 추가.
- **DeepMind Control Suite(dm_control)**: MuJoCo 기반 연속 제어 벤치. Walker, Cheetah, Humanoid, Quadruped 등.
MuJoCo 3은 2024년 이후 **MJX**라는 JAX 백엔드를 제공한다. 같은 모델을 GPU에서 수천 병렬로 굴릴 수 있어 sim-to-real 학습에서 자주 인용된다.
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 기반 물리 시뮬레이터다. 미분 가능(differentiable physics) + GPU 병렬 + JIT 컴파일이라 강화학습 throughput이 MuJoCo CPU 기반보다 100-1000배 빠른 경우가 있다.
Brax의 환경은 MuJoCo 환경과 호환되도록 작성됐다. Ant, Halfcheetah, Humanoid, Walker2d, Hopper, Pusher, Reacher 등이 같은 이름으로 제공된다.
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+ 스텝 학습을 하루 안에 끝낸다.
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을 위한 generative world model을 별도로 제공한다.
Isaac Lab의 특징은 다음과 같다.
- **GPU 위에서 모든 단계 처리**: 물리 시뮬, 관측 합성, 보상 계산까지 GPU.
- **수천 ~ 수만 병렬 환경**: 단일 A100/H100에서 4096 robot policy 동시 학습.
- **NVIDIA Omniverse + USD 표준**: 자산을 표준 USD로 공유.
- **Domain Randomization 빌트인**: sim-to-real을 위한 노이즈/물성 변동 자동화.
Boston Dynamics, Agility Robotics, Figure AI, 1X 같은 휴머노이드 회사 다수가 Isaac Lab 기반 RL 정책 학습을 표준으로 채택했다고 공개했다. Isaac Lab + RL 표준 알고리즘은 RSL-RL(ETH 취리히)와 Stable-Baselines3 또는 자체 PPO 구현을 자주 결합한다.
VizDoom · MineRL · MineDojo · Crafter · NetHack — 절차적 환경의 부활
2024-2026년 절차적/오픈월드 RL 벤치가 다시 주목받는다.
- **VizDoom**: Doom 1 위에 만든 1인칭 슈터 환경. 2024년 NeurIPS Open-Ended Learning에 다시 등장.
- **MineRL + MineDojo**: 마인크래프트 기반. MineDojo(NVIDIA)는 인터넷 비디오 데이터셋 + 작업 명세 + 환경을 함께 제공.
- **Crafter**: 22개 업적이 있는 미니 마인크래프트. 단일 GPU에서 빠르게 평가 가능.
- **NetHack Learning Environment(NLE)**: Meta가 만든 NetHack 로그라이크. 절차적 던전, 거대한 액션 공간으로 LLM 에이전트 벤치에 자주 등장.
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 마인크래프트 에이전트), DEPS, JARVIS-1 같은 작업이 모두 MineDojo 위에 있다.
MetaWorld · RoboCasa · LIBERO — 로보틱스 작업 모음
로보틱스 RL은 단일 시뮬레이터가 아니라 **작업 모음 + 시뮬레이터** 조합으로 평가된다.
- **MetaWorld**: 50개 로봇 조작 작업 표준 벤치. 단일 정책으로 50작업 메타학습 평가가 표준.
- **RoboCasa**: 100+ 주방 작업, 사진 사실적 렌더링. NVIDIA + Stanford.
- **LIBERO**: 평생 학습(lifelong) 로봇 조작 벤치. 시간에 따른 작업 변화 평가.
- **Habitat 3.0(Meta)**: 사람-로봇 협업 평가. 휴머노이드 시뮬 통합.
MetaWorld 사용은 다음과 같다.
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 — 환경 호환 레이어와 throughput 부스트
PufferLib는 환경 API의 통일과 GPU vectorization을 한 번에 해결하는 도서관이다. 2024년 이후 빠르게 성장. 핵심 주장은 **CPU 환경을 그대로 두고 환경 100~1000개를 단일 GPU 호스트에서 throughput 최대로 굴린다**는 것이다.
PufferLib는 다음을 한 번에 처리한다.
- **환경 어댑터**: Gym/Gymnasium/PettingZoo/NetHack/MineRL/Crafter/Atari/Procgen/NLE 등을 단일 인터페이스로.
- **Vectorization**: shared memory + multiprocessing 기반 고속 벡터 환경.
- **Native Pufferlib 환경**: NMMO, Pong, 그 외 빠른 C 환경.
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의 차이를 짧게 정리하면 다음과 같다.
- **PPO**: 정책 + 가치 함수(critic) 두 신경망. critic이 baseline 추정.
- **GRPO**: critic 없이, 같은 prompt에 대해 그룹 단위(여러 응답)로 보상을 정규화해 advantage 추정. 메모리/계산 감소.
| 비교 항목 | PPO | GRPO |
| -------------- | ---------------------------- | ----------------------------- |
| critic 신경망 | 필요 | 불필요 |
| advantage 추정 | GAE + value baseline | 그룹 내 보상 정규화 |
| 메모리 | actor + critic 두 모델 | actor 한 모델 |
| 안정성 | 잘 알려진 안정 영역 | 그룹 크기 g가 핵심 하이퍼 |
| LLM 정합성 | 표준이지만 critic 비용 큼 | 추론용 LLM RL에서 사실상 표준 |
**TRL(Hugging Face Transformers Reinforcement Learning)** 은 LLM 학습용 RL 라이브러리다(iter62 LLM 파인튜닝에서 다룸). 2026년 5월 기준 PPO, DPO, GRPO, KTO, ORPO, Reward Model 학습을 모두 지원한다.
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**으로 rollout 생성, **DeepSpeed/FSDP**로 학습, **TRL/OpenRLHF/verl** 같은 프레임워크로 알고리즘 구현. 학습 클러스터는 16-128 GPU 규모가 흔하다.
알고리즘 지형 2026 — PPO는 여전히 왕좌, 옆에 새 친구들
2026년 5월 기준 알고리즘별 위치는 다음과 같다.
- **PPO**: 여전히 RL 알고리즘 1위. 단순함, 안정성, 광범위 환경 호환성. 새 시도의 첫 베이스라인.
- **GRPO**: LLM 추론 학습 사실상 표준. PPO 대안으로 일반 RL에도 점진 확산.
- **SAC**: 연속 제어(MuJoCo, 로봇)의 표준. 엔트로피 정규화 + 더블 critic.
- **TD3**: SAC 대안. 트윈 critic + 지연 정책 업데이트.
- **DQN 계열**: Rainbow(C51 + Double + Dueling + Noisy + Prioritized + Multi-step + Distributional)이 여전히 강력. **IQN, QR-DQN**가 분포형 RL 표준.
- **Decision Transformer(DT)**: RL을 시퀀스 모델링으로 재구성. 오프라인 RL과 LLM 정합이 좋아 2023-2025 연구 다수.
- **Diffusion Policy**: 로봇 조작에서 BC + 디퓨전. Toyota Research, Stanford, NVIDIA가 주도.
- **MuZero / EfficientZero / Stochastic MuZero**: 모델 기반 RL의 최강자. AlphaGo·AlphaZero의 후속.
- **AlphaTensor / AlphaCode / AlphaProof**: DeepMind의 도메인 특화 RL 응용.
- **Q-Transformer**: DeepMind RT-X. 트랜스포머 + Q-learning을 로봇 학습에 결합.
벤치마크 지형 — MuJoCo / Atari / DM Control / NetHack / Crafter
알고리즘 비교의 표준 벤치마크는 다음과 같다.
- **Atari 100k**: 100k 환경 스텝 안에 Atari 26개 게임 평균 점수. 데이터 효율적 RL의 표준.
- **MuJoCo Locomotion**: HalfCheetah, Walker, Ant, Humanoid 등 연속 제어 점수.
- **DeepMind Control Suite**: 28+ 작업 평균 점수. 픽셀 입력 + 상태 입력 분리.
- **MineRL Diamond**: 다이아몬드 채집 성공률. 매우 어려운 장기 작업.
- **NetHack Challenge**: NetHack 점수. 거대한 액션 공간과 절차적 던전.
- **BabyAI**: 자연어 명령 기반 grid-world. 언어 + RL 평가.
- **Crafter**: 22개 업적 평가. 단일 GPU에서 빠르게.
- **Procgen**: 16개 절차적 게임. 일반화(generalization) 평가의 표준.
한국 RL 연구 — KAIST, SNU, NCSOFT, Krafton, NAVER
한국 RL 연구는 2020년대 들어 폭발적으로 늘었다. 주요 그룹은 다음과 같다.
- **KAIST AI 대학원**: 양은호·이주호·황성주 교수 그룹 등이 메타 RL, 오프라인 RL, 모델 기반 RL에서 NeurIPS·ICLR·ICML 다수 발표.
- **서울대 AI 연구원**: 김건희·장병탁 교수 그룹이 멀티에이전트, 언어-RL 결합 연구.
- **POSTECH AI**: 안성수·이승현 그룹이 안정성/이론적 RL.
- **NCSOFT AI Center**: 리니지·블레이드앤소울 RL 보스 AI. 게임 RL에서 산업 적용 사례.
- **Krafton AI**: 배틀그라운드 봇, NPC AI. 2024-2025 ICLR/NeurIPS 워크숍 발표.
- **NAVER Search Engineering**: 검색 랭킹 RL, 광고 입찰 RL.
- **카카오엔터프라이즈 AI**: 추천 RL.
한국 RL 연구는 **게임 RL과 의사결정 시스템 RL**에서 산업 적용이 강하고, **이론·메타 RL**에서 학계 발표가 활발하다.
일본 RL 연구 — Preferred Networks, DeepMind Tokyo, Sony AI, NTT
일본 RL 연구는 게임·로보틱스·산업 응용에서 강점이 있다.
- **Preferred Networks(PFN)**: Chainer 시절부터 RL 기여. PFRL OSS 유지. 도요타·화낙(FANUC)과 로보틱스 협업.
- **DeepMind Tokyo**: DeepMind의 도쿄 오피스. 일본 학계 협업 다수.
- **Sony AI**: **Gran Turismo Sophy** — Gran Turismo 7의 RL 레이싱 에이전트. 2022 Nature 표지. 2026년 시리즈 통합 단계.
- **NTT CS Labs**: 통신·네트워크 RL. SDN 라우팅·전력 그리드.
- **Riken AIP**: 메타학습·연속 학습.
- **OMRON SINIC X**: 로봇 매니퓰레이션.
Gran Turismo Sophy 같은 케이스는 **시뮬레이터 정확도 + 비교 가능한 인간 베이스라인**이 합쳐진 드문 예다. 산업 RL의 가능성을 보여준 가장 가시적인 사례 중 하나다.
실제 배포 사례 — AlphaGo부터 AlphaChip, Boston Dynamics까지
RL이 실제로 배포된 사례를 정리하면 다음과 같다.
- **AlphaGo → AlphaZero → MuZero**(DeepMind): 바둑·체스·쇼기·아타리. 모델 기반 RL의 출발점.
- **AlphaStar**(DeepMind): StarCraft II 그랜드마스터급. 인간 게이머와 동등.
- **OpenAI Five**: Dota 2 세계 챔피언과의 대결. 분산 RL 인프라의 첫 거대 사례.
- **AlphaFold 2**(DeepMind, 비록 RL 비중은 낮지만 RL 후처리 사용).
- **AlphaTensor**(DeepMind, 2022): 행렬 곱셈 알고리즘 발견에 RL 사용.
- **AlphaChip**(DeepMind, 2024, 이전 Chip Placement): TPU 플로어플랜 RL. **iter96**에서 다룸.
- **Gran Turismo Sophy**(Sony AI, 2022 Nature): RL 레이싱.
- **Boston Dynamics + RL fine-tuning**: Atlas / Spot 동작 RL 최적화.
- **NVIDIA Eureka**(2023): GPT-4가 RL 보상 함수를 작성하고 Isaac Gym에서 학습.
- **DeepMind Loon balloon control(고도제어)**: 성층권 풍선 RL 자동 항법.
- **Amazon SageMaker RL, Microsoft Bonsai, Vertex AI Vizier**: 산업 응용 매니지드 RL.
OpenAI Spinning Up과 교육용 자원
학습을 시작하려는 사람을 위한 자원 중 핵심은 다음과 같다.
- **OpenAI Spinning Up**: 교육용 RL 도서관. PPO, SAC, TD3, DDPG, VPG 단순 구현 + 이론 노트. 2018년 공개, 여전히 학생 시작점.
- **CleanRL 단일 파일**: 위에서 언급한 단일 파일 알고리즘.
- **Hugging Face Deep RL Course**: 8개 유닛, 무료. SB3 + Unity ML-Agents + Gymnasium.
- **DeepMind x UCL RL Course(David Silver)**: 고전. 이론적 기반.
- **Sergey Levine CS 285(UC Berkeley)**: 가장 최근 영향력 있는 RL 강의.
- **Pieter Abbeel CS 287(Berkeley)**: 로보틱스 RL.
학습 순서는 보통 **Spinning Up 코드 읽기 → CleanRL ppo.py 한 줄씩 → SB3 / Tianshou로 알고리즘 실험 → RLlib / TorchRL로 분산 / 멀티에이전트 확장**이 자연스럽다.
도구 선택 가이드 — 시나리오별 추천
마지막으로 시나리오별 추천을 정리한다.
- **혼자 빠르게 baseline → SB3**(LunarLander, MuJoCo 단일 머신).
- **재현성/논문 작성 → CleanRL**(단일 파일 + W&B 통합).
- **학습 안정성 + 모듈 확장 → Tianshou** 또는 **TorchRL**.
- **수천 액터 분산 → RLlib**(Ray).
- **TPU/JAX/Brax → Acme + RLax + Haiku**(또는 Flax).
- **로보틱스 sim-to-real → Isaac Lab + RSL-RL/SB3** 또는 자체 PPO.
- **멀티에이전트 → PettingZoo + RLlib MARL** 또는 **MARLlib**, **EPyMARL**.
- **게임 이론 → OpenSpiel**.
- **광고/추천 의사결정 → Pearl** 또는 자체 contextual bandit.
- **LLM RL → TRL + vLLM / SGLang**, 알고리즘은 GRPO 또는 DPO.
도구를 결정할 때 가장 중요한 질문은 **"환경 throughput이 어디서 막히는가"** 다. CPU 환경은 SB3/Tianshou로 충분. GPU 시뮬은 Isaac Lab/Brax. 분산이 필요하면 RLlib/Acme. LLM은 TRL.
마치며 — 2026년 5월, RL은 단일 도구가 아니라 "스택"이다
이 글의 결론은 단순하다. RL은 단일 도구의 시대가 아니다. **환경 + 라이브러리 + 시뮬레이터 + 분산 인프라**의 스택을 도메인에 맞게 조립해야 한다.
가장 큰 흐름 두 가지를 정리하면 다음과 같다. 첫째, **LLM-RL과 클래식 RL의 분기**. LLM-RL은 TRL + vLLM + GRPO/DPO 스택으로 별도 영역이 됐다. 클래식 RL은 SB3/RLlib/Tianshou + Gymnasium + 시뮬레이터로 계속된다. 둘째, **로보틱스 RL이 진짜로 상용화 단계에 들어왔다**. Isaac Lab + Cosmos + Diffusion Policy + Q-Transformer 조합이 휴머노이드/매니퓰레이터 회사 다수의 표준 스택이다.
도구 선택에 너무 오래 매달리지 말자. 어떤 조합이든 **"환경 인터페이스 일관성 + 분산 인프라 안정성 + 실험 추적"** 세 가지만 잡으면 90%는 해결된다. 나머지는 도메인 특화 튜닝이다.
References
- Stable-Baselines3 공식 문서: https://stable-baselines3.readthedocs.io/
- RLlib 공식 문서(Ray): https://docs.ray.io/en/latest/rllib/index.html
- Tianshou 공식 문서: https://tianshou.readthedocs.io/
- CleanRL 공식 문서: https://docs.cleanrl.dev/
- TorchRL 공식 문서: https://pytorch.org/rl/
- PFRL GitHub: https://github.com/pfnet/pfrl
- TF-Agents 공식 문서: https://www.tensorflow.org/agents
- DeepMind Acme GitHub: https://github.com/google-deepmind/acme
- DeepMind OpenSpiel GitHub: https://github.com/google-deepmind/open_spiel
- DeepMind Haiku GitHub: https://github.com/google-deepmind/dm-haiku
- DeepMind RLax GitHub: https://github.com/google-deepmind/rlax
- DeepMind Distrax GitHub: https://github.com/google-deepmind/distrax
- DeepMind Reverb GitHub: https://github.com/google-deepmind/reverb
- Meta Pearl GitHub: https://github.com/facebookresearch/Pearl
- Gymnasium(Farama) 공식 문서: https://gymnasium.farama.org/
- PettingZoo(Farama) 공식 문서: https://pettingzoo.farama.org/
- MuJoCo 공식 문서: https://mujoco.readthedocs.io/
- DeepMind Control Suite GitHub: https://github.com/google-deepmind/dm_control
- Brax GitHub: https://github.com/google/brax
- NVIDIA Isaac Lab 공식 문서: https://isaac-sim.github.io/IsaacLab/
- MineDojo GitHub: https://github.com/MineDojo/MineDojo
- NetHack Learning Environment GitHub: https://github.com/facebookresearch/nle
- MetaWorld GitHub: https://github.com/Farama-Foundation/Metaworld
- PufferLib 공식 문서: https://puffer.ai/docs.html
- Hugging Face TRL 공식 문서: https://huggingface.co/docs/trl/
- OpenAI Spinning Up: https://spinningup.openai.com/
- DeepSeek-R1 논문(GRPO): https://arxiv.org/abs/2501.12948
- Sony AI Gran Turismo Sophy: https://www.gran-turismo.com/world/news/00_3552770.html
- Preferred Networks Research: https://tech.preferred.jp/en/research/
현재 단락 (1/354)
2018-2020년의 AlphaStar, OpenAI Five, AlphaFold 1 시절이 RL의 첫 번째 황금기였다면, 2024-2026년은 두 번째 황금기다. 트리거는 셋이다...