alibaba/ROLL

An Efficient and User-Friendly Scaling Library for Reinforcement Learning with Large Language Models

해결하는 문제

ROLL는 대규모 GPU 클러스터를 사용할 때 대규모 언어 모델(LLM)의 강화 학습(RL)을 더욱 효율적이고 사용자 친화적으로 만들기 위해 설계된 스케일링 라이브러리입니다. 학습과 추론을 모두 최적화하는 분산 아키텍처를 제공함으로써 인간 선호도 정렬, 복잡한 추론 및 멀티턴 에이전트 상호작용의 과제를 해결합니다.

작동 방식

ROLL는 유연한 리소스 할당 및 작업 스케줄링을 위해 Ray 기반의 멀티 역할 분산 아키텍처를 사용합니다. 프로세스를 가속화하기 위해 여러 고성능 백엔드를 통합합니다:

  • Inference/Generation: vLLM 및 SGLang 사용.
  • Training: FSDP2 및 Megatron-LM 5D 병렬 처리(데이터, 텐서, 파이프라인, 컨텍스트 및 전문가 병렬 처리 포함) 지원.
  • Optimization: 병목 현상을 줄이기 위해 샘플 수준의 비동기 병렬 롤아웃 및 비동기 학습 구현.
  • Device Management: 다양한 역할이 GPU에 배포되는 방식을 관리하는 "AutoDeviceMapping" 기능 제공.

대상 사용자

LLM의 포스트 트레이닝을 연구하는 연구자 및 개발자, 특히 RLVR(Verifiable Rewards 기반 강화 학습), 멀티턴 상호작용을 위한 에이전트 RL, 그리고 LLM 및 VLM(Vision-Language Models) 모두를 위한 증류 파이프라인에 집중하는 분들을 대상으로 합니다.

주요 특징

  • 포괄적인 RL 알고리즘 지원: PPO, GRPO, Reinforce++, TOPR, RAFT++, GSPO를 즉시 지원.
  • 멀티태스크 능력: 수학, 코딩, 일반 추론 및 지시 이행 처리.
  • 에이전트 RL 지원: 멀티턴 대화, 게임 및 도구 사용을 위한 전문 도구를 갖추고 있으며, 궤적 기반(trajectory-wise) 및 단계별(step-wise) 학습 패러다임을 모두 지원.
  • 하드웨어 유연성: NVIDIA GPU, AMD GPU 및 Ascend NPU와 호환.
  • 고급 학습 기능: LoRA 학습, FP8 롤아웃 및 GPU 활용도를 극대화하기 위한 극한의 오프로드/리로드 기능 지원.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트