pytorch/rl
A modular, primitive-first, python-first PyTorch library for Reinforcement Learning.
해결하는 문제
TorchRL은 강화학습(RL) 시스템을 구축하기 위한 모듈식이고 PyTorch 네이티브 도구 모음입니다. 공통 데이터 모델을 사용함으로써 환경, 정책, 리플레이 버퍼, 손실 함수를 전체 학습 스택을 다시 작성하지 않고도 쉽게 교체하고 조합할 수 있게 해, 과도한 '접착 코드'와 고정된 데이터 구조의 필요성을 제거합니다.
작동 방식
이 라이브러리는 TensorDict 중심에 있습니다. TensorDict는 이름이 붙은 텐서(관측, 행동, 보상 등)를 학습 루프 전체를 통해 전달하는 사전 유사 컨테이너입니다. 이로 인해 데이터는 구조, 배치 차원, 장치 위치를 다양한 구성 요소 간에 유지할 수 있습니다:
- 정책: TensorDict의 특정 키를 읽고 쓰는 PyTorch 모듈.
- 환경: 상호작용 루프를 처리하는 모듈로, 네이티브 PyTorch 환경과 Gymnasium, MuJoCo 등의 라이브러리용 래퍼를 지원합니다.
- 컬렉터: 실행 루프를 관리하는 브리지로, 하나 또는 여러 워커에서 트레이젝터리를 배치 처리(단일 프로세스, 비동기, 분산)할 수 있습니다.
- 리플레이 버퍼: 데이터의 샘플링과 변환을 지원하는 모듈식 저장 시스템으로, 우선순위 기반 리플레이와 memmap 기반 저장을 지원합니다.
- 손실 모듈: TensorDict 내 이름이 붙은 키를 기반으로 미분 가능한 손실(예: PPO, SAC, DQN)을 계산하는 목적 함수입니다.
대상 사용자
TorchRL은 강화학습, 로봇공학, 의사결정, 시뮬레이션, 그리고 LLM 후처리 실험(예: GRPO)을 수행하는 연구자 및 개발자를 위한 것입니다.
주요 특징
- 조합 가능한 아키텍처: 환경, 정책, 버퍼를 독립적으로 교체할 수 있는 모듈식 구성.
- 광범위한 알고리즘 지원: PPO, SAC, TD3, DQN, DreamerV3, 그리고 MAPPO, IPPO와 같은 다중 에이전트 알고리즘 구현 포함.
- 고성능:
torch.compile, CUDA, 분산 실행에 최적화되었으며, 순환형 RL을 위한 전용 Triton 백엔드를 제공합니다. - 풍부한 환경 통합: MuJoCo의 네이티브 지원과 Gymnasium, PettingZoo, Isaac Lab용 래퍼를 포함합니다.
- LLM 통합: SFT 및 GRPO 목적 함수, vLLM/SGLang 통합을 포함한 LLM 후처리 도구 제공.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트