redai-studio/Relax
An Asynchronous Reinforcement Learning Engine for Omni-Modal Post-Training at Scale
Relax – 비동기 오미모달 강화학습 엔진
무엇인가요 – Relax (Reinforcement Engine Leveraging Agentic X‑modality)는 대규모 다중 모달 언어 모델에 대한 후기 훈련을 위한 오픈소스 프레임워크입니다. PPO, GRPO, M2‑PO, RLOO, REINFORCE++ 등 풀 세트의 온폴리시 알고리즘을 제공하면서 텍스트, 이미지, 비디오, 오디오를 하나의 파이프라인에서 처리할 수 있습니다.
왜 중요한가요 – LLM의 강화학습은 일반적으로 롤아웃(추론) 단계에서 성능이 제한됩니다. Relax는 커스텀 TransferQueue를 사용해 롤아웃과 훈련을 분리하고 각 구성 요소를 독립적인 Ray Serve 서비스로 실행합니다. 이로 인해 시스템은 다음과 같은 특징을 갖습니다:
- 완전 비동기 – 롤아웃, 액터, 참조, 이득 계산, 보상 모델이 별도의 GPU 클러스터에 위치할 수 있어 모든 GPU를 지속적으로 활용할 수 있습니다.
- 탄력적 – REST API를 통해 실시간으로 추론 엔진을 추가하거나 제거할 수 있어 클라우드 버스팅이나 연합 클러스터에 유용합니다.
- 오미모달 – 동일한 코드 경로로 순수 텍스트, 시각-언어, 음성-시각 작업을 지원하여 Qwen‑3‑Omni와 같은 모델에서 엔드투엔드 강화학습을 가능하게 합니다.
- 프로덕션 준비 완료 – 헬스체크, 자동 복구, 중앙 집중형 메트릭스(WandB / TensorBoard / ClearML), 실시간 알림이 내장되어 있습니다.
핵심 구성 요소
| 계층 | 역할 |
|---|---|
| 엔트리포인트 | train.py – CLI, Ray 클러스터 연결, 컨트롤러 시작 |
| 오케스트레이션 | Controller, Service, Registry – 루프 스케줄링, 배치 그룹 관리 |
| 컴포넌트 | Ray Serve 배포: Actor, Rollout, Critic, ActorFwd, Advantages, GenRM |
| 엔진 | SGLang 기반 롤아웃 엔진, 보상 라우팅, 데이터 필터링 |
| 백엔드 | Megatron‑LM(TP/PP/CP/EP)으로 훈련, SGLang으로 고스루풋 추론 |
| 분산 처리 | Ray 액터 그룹 + 분산 체크포인트 서비스(DCS)로 NCCL/GLOO 가중치 동기화 |
세 가지 실행 모드를 제공합니다:
- 공유(동기) – 액터와 롤아웃이 GPU를 공유(메모리 효율적, 엄격한 온폴리시).
- 완전 비동기 – 각 역할이 별도의 GPU 클러스터에서 실행되며 TransferQueue를 통해 통신.
- 하이브리드 – 롤아웃과 액터는 분리되지만, 참조/이득 단계는 프로세스 내에 유지해 오버헤드를 줄이면서도 데이터 스트리밍을 유지.
알고리즘 및 보상
Relax는 풍부한 알고리즘 세트(PPO, GRPO, M2‑PO, RLOO, REINFORCE++ 변종, GSPO, SAPO, CISPO, 온폴리시 디스틸레이션)와 플러그인 가능한 보상 허브(수학 검증, GPQA, F1, IFBench, 다중 모달 Open‑R1, 내장된 LLM-기반 심사판인 GenRM)를 제공합니다. 새로운 보상을 추가하는 것은 relax/engine/rewards/에 Python 파일을 넣는 것만으로 가능합니다.
시작하기 (Docker 중심)
# 공식 이미지 다운로드 (CUDA, PyTorch, Megatron‑LM, SGLang, Ray 포함)
docker pull ghcr.io/redai-studio/relaxrl:latest
# GPU 접근 권한과 작업 공간 마운트로 컨테이너 실행
docker run -it --gpus all --ipc=host --network=host \
-v /path/to/workspace:/root ghcr.io/redai-studio/relaxrl:latest bash
# 컨테이너 내부에서
git clone https://github.com/redai-studio/Relax.git /root/Relax
cd /root/Relax && pip install -e .
빠른 시작 레시피 (원라인 스크립트)
- 텍스트 전용 수학 RL –
dapo-math-17k데이터셋으로 Qwen‑3‑4B에 8GPU PPO 적용. - 시각-언어 –
multimodal-open-r1-8k-verified데이터셋으로 Qwen‑3‑VL‑4B에 8GPU GRPO 적용. - 오미모달(이미지 + 오디오) –
AVQA-R1-6K데이터셋으로 Qwen‑3‑Omni‑30B‑A3B에 16GPU(2노드) GRPO 적용.
각 스크립트는 hf download를 통해 데이터셋 다운로드, 모델 가져오기, 적절한 플래그로 train.py 실행을 자동 처리합니다. 로그에는 롤아웃 진행 상황과 훈련 단계가 표시되며, 체크포인트는 Megatron DCP 형식으로 저장되어 제공된 변환 스크립트로 HuggingFace 가중치로 변환 가능합니다.
Relax를 사용해야 하는 경우
- 다중 모달 RL 연구 – 텍스트, 이미지, 비디오, 오디오를 동시에 학습할 수 있는 단일 코드베이스가 필요할 때.
- 대규모 모델로 강화학습 확장 – 비동기 아키텍처로 수십 개의 GPU를 복수 클러스터에 걸쳐 지속적으로 활용 가능.
- 프로덕션 수준의 파인튜닝 – 내장된 헬스 관리, 메트릭 집계, 알림 기능으로 장시간 실행 작업의 신뢰성 향상.
- 새로운 정책 실험 – 모듈식 알고리즘 레지스트리로 코어 엔진을 건드리지 않고 커스텀 손실을 도입 가능.
더 알아보기
- 문서 사이트 – https://redai-studio.github.io/Relax (이중 언어, 아키텍처, 비동기 훈련, 하이브리드 모드, 탄력적 롤아웃 스케일링 등에 대한 완전 가이드)
- 논문 – arXiv:2604.11554 (연구 배경과 성능 수치 제공)
- GitHub 디스커션 – README 배지에서 WeChat QR, Docker 이미지, 커뮤니티 Q&A 링크 제공
결론 – Relax는 프로덕션 중심이며 매우 구성 가능성이 높은 RL 플랫폼으로, 거대한 다중 모달 LLM과 강화학습 파인튜닝 사이의 격차를 메우며, 비동기 실행, 탄력적 스케일링, 즉시 사용 가능한 광범위한 알고리즘을 제공합니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트