본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 06. 21. 05:43

THUDM/slime

요약

slime은 RL 스케일링을 위한 LLM 사후 학습(post-training) 프레임워크로, Megatron과 SGLang을 결합하여 고성능 학습과 유연한 데이터 생성을 지원합니다. GLM 시리즈 모델 학습을 통해 검증된 이 프레임워크는 데이터 흐름의 정확성과 확장성에 최적화되어 있습니다.

핵심 포인트

  • Megatron과 SGLang을 연결하여 고성능 학습 및 롤아웃 지원
  • GLM-4 및 GLM-5 시리즈 모델 학습에 사용된 검증된 프레임워크
  • 데이터 생성, 보상 계산, 환경 상호작용을 통합하는 유연한 워크플로우
  • 재현성, 결함 허용, 디버깅을 중시하는 정확성 우선 인프라 설계

slime은 RL 스케일링 (RL scaling)을 위한 LLM 사후 학습 (post-training) 프레임워크로, 두 가지 핵심 역량을 제공합니다:

고성능 학습 (High-Performance Training): Megatron을 SGLang과 연결하여 다양한 모드에서 효율적인 학습을 지원합니다.
유연한 데이터 생성 (Flexible Data Generation): 커스텀 데이터 생성 인터페이스와 서버 기반 엔진을 통해 임의의 학습 데이터 생성 워크플로우를 가능하게 합니다.

slime의 설계 목표는 시스템을 서로 단절된 트레이너(trainers), 롤아웃 서비스(rollout services), 에이전트 프레임워크(agent frameworks)의 무거운 스택으로 만들지 않으면서, 이 두 가지 역량이 서로를 강화하도록 만드는 것입니다. Megatron 학습, SGLang 롤아웃, 커스텀 데이터 생성, 보상 계산 (reward computation), 검증기 피드백 (verifier feedback), 그리고 환경 상호작용 (environment interaction)이 모두 동일한 학습 / 롤아웃 / 데이터 버퍼 (Data Buffer) 경로를 통해 흐릅니다.

이를 통해 slime은 가장 실전 검증된 오픈 RL 사후 학습 프레임워크 중 하나가 되었습니다. 이해하고 확장하기에 충분히 작으면서도, SOTA 수준의 모델 출시 이면에 있는 완전한 학습 루프를 통해 검증되었습니다.

프런티어 모델 학습을 통해 검증됨: slime은 GLM-5.2, GLM-5.1, GLM-5, GLM-4.7, GLM-4.6, 그리고 GLM-4.5의 배후에 있는 RL 프레임워크입니다. 이는 고립된 사례뿐만 아니라 전체 사후 학습 루프를 검증합니다.
정확성 우선 인프라 (Correctness-first infrastructure): RL 버그는 종종 소리 없이 발생합니다. slime은 데이터 흐름을 명시적으로 유지하고, 별도의 롤아웃 전용(rollout-only) 및 학습 전용(train-only) 디버깅 경로를 지원하며, 재현성 (reproducibility), 결함 허용 (fault tolerance), 트레이싱 (tracing), 프로파일링 (profiling), 그리고 CI를 일급 엔지니어링 관심사로 문서화합니다.
설계 단계부터 네이티브 (Native by design): slime은 Megatron 인자를 직접 전달하며, 설치된 SGLang 인자를 --sglang-를 통해 노출합니다.

prefix. slime 내부에 또 다른 추상화 계층을 추가하지 않고도 새로운 업스트림(upstream) 학습 및 서빙 최적화를 사용할 수 있습니다.

데이터 생성의 극대화된 자유도: 수학, 코드, 검색, 도구, 샌드박스, 검증기(verifier), 환경, 멀티 에이전트 시스템(multi-agent systems), 그리고 장기적 에이전트 워크플로우(long-horizon agentic workflows)가 데이터 생성 또는 보상(reward) 워크플로우로 플러그인(plug in)될 수 있습니다. 이들은 학습 커널(training kernel)을 분기(fork)하지 않습니다.

경량화 및 확고한 설계 철학 (Lightweight and opinionated): slime은 대규모 강화학습 (RL)에 사용되는 Megatron + SGLang 경로에 깊이 집중합니다. 하나의 롤아웃(rollout) 백엔드를 선택함으로써, slime은 여러 추론 엔진을 공통 분모 수준의 추상화로 평탄화(flattening)하는 대신 SGLang 특유의 기능을 직접 사용할 수 있습니다.

slime은 출시 가능한 수준의 모델 사후 학습(post-training)에 필요한 전체 워크플로우, 즉 대규모 학습, 고처리량 롤아웃(high-throughput rollout), 가중치 동기화(weight synchronization), 보상/검증기 데이터, 체크포인팅(checkpointing), 디버깅, 그리고 장시간 실행 안정성을 통해 검증되었습니다.

GLM 제품군 외에도 slime은 다음을 지원합니다:

  • Qwen 시리즈: Qwen3.6, Qwen3.5, Qwen3Next, Qwen3MoE, Qwen3, Qwen2.5;
  • DeepSeek V3 시리즈: DeepSeek V3, V3.1, DeepSeek R1;
  • Llama 3.

slime은 단순히 추론 백엔드를 호출할 수 있는 프레임워크가 아닙니다. slime은 Megatron과 SGLang의 제어 표면(control surfaces)을 업스트림 엔진과 가깝게 유지하면서, 그 주변에 강화학습 (RL) 데이터 흐름(dataflow)을 추가합니다:

  • 네이티브 SGLang 인자 전달 (native SGLang argument pass-through): 설치된 SGLang이 지원하는 모든 인자는 --sglang- 접두사를 추가하여 사용할 수 있습니다. 예를 들어, --mem-fraction-static--sglang-mem-fraction-static으로 전달하는 식입니다.

; - 네이티브 Megatron 인자 전달 (native Megatron argument pass-through): slime은 Megatron 인자를 직접 읽으므로, 래퍼(wrapper) 코드 없이도 Megatron 측의 병렬화 (parallelism), 옵티마이저 (optimizer), 체크포인팅 (checkpointing) 및 모델 옵션을 그대로 사용할 수 있습니다;

  • 토폴로지별 제어를 위한 선택적 YAML 확장으로서의 SGLang 설정 (SGLang Config): 별도의 prefill/decode/EPD 스타일 설정, 이기종 서버 그룹 (heterogeneous server groups), 멀티 모델 서빙 (multi-model serving) 및 그룹별 SGLang 오버라이드 (overrides) 등을 지원합니다;
  • 서로 다른 prefill/decode 리소스 요구 사항을 가진 멀티 턴 (multi-turn) 및 에이전트형 (agentic) 워크로드를 위한 PD 분리 (PD Disaggregation);
  • 멀티 턴 에이전트를 위한 세션 어피니티 (session affinity)와 같은 라우터 정책 (router policies);
  • 학습/추론 분리 (training/inference disaggregation) 및 대규모 모델 업데이트 효율성을 위한 델타 가중치 동기화 (Delta Weight Sync);
  • 서빙이 학습 작업 외부에서 관리되는 배포를 위한 외부 롤아웃 엔진 (External Rollout Engines): SGLang 서빙 측은 독립적인 환경을 사용할 수 있으며, 디스크 전송 (disk transport)을 통해 디스크로부터의 전체 체크포인트 업데이트 또는 공유 파일 시스템을 통한 델타 업데이트를 사용하면서 서로 다른 GPU 모델이나 제조사에서 실행될 수도 있습니다.

이러한 전달 (pass-through) 설계는 slime을 시작부터 네이티브하게 만듭니다. 엔진이 진화함에 따라 대부분의 업스트림 엔진 개선 사항을 그대로 사용할 수 있는 반면, slime은 RL 루프 (RL loop), 데이터 흐름 (dataflow), 동기화 (synchronization) 및 정확성 검사 (correctness checks)에 집중합니다.

단일 롤아웃 백엔드로 SGLang을 선택한 것 또한 의도적입니다. 멀티 백엔드 프레임워크는 종종 여러 추론 엔진의 공통 부분집합에 대해 추상화해야 하며, 이 과정에서 각 백엔드의 가장 강력한 기능들이 숨겨질 수 있습니다. 반면 slime은 SGLang에 대해 깊이 있게 최적화되어 있어, RL 워크로드가 SGLang 특화 서빙, 라우팅, 캐싱, 분리 (disaggregation) 및 가중치 동기화 (weight-sync) 동작을 직접 사용할 수 있습니다.

slime은 "스크립트가 실행된다"는 것만으로는 충분하지 않은 RL 인프라로서 개발되었습니다. 이 프로젝트는 CPU 유닛 테스트 (unit tests), 커스텀 훅 (customization hooks)을 위한 컨트랙트 테스트 (contract tests), 그리고 Dense 및 MoE 모델, Megatron 학습 경로, SGLang 배포 구성, 체크포인팅, 수치 정밀도 (numerical precision), 비동기 롤아웃 (async rollout), OPD, PPO 스타일 워크플로우, 디버그용 롤아웃 후 학습 리플레이 (rollout-then-train replay)를 아우르는 GPU 엔드 투 엔드 (end-to-end) 테스트를 유지 관리합니다.

유용한 엔지니어링 문서:

  • 우리의 비전: slime: RL 스케일링을 위한 SGLang 네이티브 사후 학습 (Post-Training) 프레임워크.

  • 에이전트 중심 학습 (agentic training)에 대한 우리의 아이디어: 에이전트 지향 설계: 에이전트 RL을 위한 비동기 및 디커플링 (decoupled) 프레임워크

  • v0.1.0 릴리스 노트: v0.1.0: 고성능 RL 학습 프레임워크의 재정의

  • 이 설계가 중요한 이유

  • 프로덕션 검증 (Production Validation)

  • 네이티브 엔진 패스스루 (Native Engine Pass-Through) 및 SGLang 배포

  • 정확성, 안정성 및 CI

  • 아키텍처 개요

  • 퀵 스타트 (Quick Start)

  • slime 기반의 생태계

  • 인자 (Arguments) 상세 설명

  • 개발자 가이드

  • FAQ 및 감사

모듈 설명:

training (Megatron): 메인 학습 프로세스를 담당하며, 데이터 버퍼 (Data Buffer)에서 데이터를 읽고 학습 후 파라미터를 롤아웃 (rollout) 모듈로 동기화합니다.
rollout (SGLang + router): 새로운 데이터(보상/검증기(verifier) 출력 포함)를 생성하고 이를 데이터 버퍼에 저장합니다. 커스텀 생성 (generate) 함수를 사용하여 이를 멀티 턴 (multi-turn) 루프, 도구 호출 (tool calls), 환경/샌드박스 상호작용 및 검증기 기반 보상으로 래핑할 수 있습니다.
data buffer: 프롬프트 초기화, 커스텀 데이터 및 롤아웃 생성 방법(동일한 인터페이스를 통해 샘플을 생성하는 에이전트 워크플로우 포함)을 관리하는 브릿지 모듈입니다.

환경 설정, 데이터 준비, 학습 시작 및 주요 코드 분석을 포함하는 포괄적인 퀵 스타트 가이드는 다음을 참조하십시오:

또한 퀵 스타트 가이드에서 다루지 않는 일부 사용 사례에 대한 예제도 제공합니다. examples를 확인해 주세요.

에이전트 RL 워크로드의 경우, 다음 예제들은 커스텀 인터페이스를 통해 표준 롤아웃 / 데이터 버퍼 루프에 연결되며, 별도의 프레임워크가 아닙니다:

examples/multi_agent
: 커스텀 --rollout-function-path를 통한 멀티 에이전트 롤아웃.

examples/search-r1
: --custom-generate-function-path를 통한 검색/RAG 스타일의 멀티 턴 생성.

examples/fully_async
: 완전 비동기 (fully-async) 롤아웃. 일부 샘플이 다른 샘플보다 훨씬 오래 걸리는 롱테일 (long-tail) 에이전트 생성에 유용합니다.

examples/coding_agent_rl

: --custom-generate-function-path를 통한 샌드박스 도구 사용 (sandboxed tool use), 테스트 기반 보상 (test-based rewards), 그리고 토큰이 정확한 궤적 세그먼트 (token-correct trajectory segments)를 활용한 엔드투엔드 (End-to-end) SWE 코딩 에이전트 강화학습 (RL).

특정 에이전트 워크플로우 (agentic workflow)에 어떤 인터페이스를 사용할지는 커스터마이징 가이드 (Customization Guide)를 참조하세요.

이것들은 단순한 데모가 아닙니다. 프로덕션 규모의 사후 학습 (post-training), 에이전트 강화학습 (agentic RL), 도메인 강화학습 (domain RL), 그리고 롤아웃 시스템 (rollout-system) 연구를 위해 slime을 재사용 가능한 RL 기질 (substrate)로 사용하는 독립적인 시스템들입니다.

Miles는 RadixArk가 slime을 기반으로 구축한 대규모 모델용 RL 사후 학습 (post-training) 프레임워크입니다. Miles는 slime의 업스트림 (upstream) 개발과 밀접하게 연계되면서도, 더 깊은 SGLang 통합, 운영 도구 (operational tooling), 배포 지원, 그리고 새로운 모델 및 하드웨어에 대한 최적화와 같은 기업 지향적 기능들을 확장하여 제공합니다. 또한 Miles는 LoRA, TITO, 저정밀도 학습 (low-precision training)을 포함하여 점점 늘어나는 프로덕션 기능들을 추가하고 있습니다.

vime는 slime을 기반으로 구축되었으며 vLLM 프로젝트에서 유지 관리하는 사후 학습 (post-training) 프레임워크입니다. vime는 slime의 Megatron 학습 스택, 데이터 버퍼 (Data Buffer) 데이터 흐름, 그리고 커스텀 데이터 생성 설계를 유지하면서, 주요 변경 사항으로 롤아웃 백엔드 (rollout backend)를 vllm-router가 포함된 vLLM으로 교체했습니다. 기존의 slime 실행 스크립트에서 롤아웃 관련 파라미터만 조정하면 vime를 통해 빠르게 학습을 실행할 수 있습니다.

Relax (Reinforcement Engine Leveraging Agentic X-modality)는 RedAI Infra 팀이 오픈 소스로 공개한 옴니모달 (omni-modal) 에이전트 강화학습 (RL) 프레임워크로, Ray, Megatron-LM, SGLang을 결합한 slime 인프라 스택을 기반으로 구축되었습니다. Relax는 Megatron-LM과 SGLang을 학습/추론 백엔드로 사용하는 Ray Serve 기반의 서비스 지향 아키텍처 (service-oriented architecture)를 채택합니다. TransferQueue를 사용하여 Actor, Rollout, ActorFwd, Reference, 그리고 Advantage 계산을 독립적인 GPU 클러스터로 완전히 분리하며, **DCS (Distributed Checkpoint Service)**를 도입했습니다. DCS는 NCCL-broadcast 가중치 동기화 엔진으로, 업데이트된 Actor 가중치를 Rollout/ActorFwd/Reference로 비동기적으로 스트리밍하고 이 전송 과정을 다음 학습 단계와 중첩(overlap)시켜, 설정 가능한 신선도 (staleness) 수준에서 완전 비동기 학습을 가능하게 합니다. Relax는 텍스트, 비전, 오디오(Qwen3-Omni 포함)를 위한 엔드투엔드 (end-to-end) RL 및 에이전트 기반 멀티턴 롤아웃 (multi-turn rollouts)을 지원합니다.

OpenClaw-RL은 개인화된 OpenClaw 에이전트를 위한 RL 서버입니다. OpenClaw 모델을 호스팅하며 여러 배포에 걸친 이전 대화로부터 모델을 개선하는 한편, slime의 비동기 RL 인프라를 통해 학습이 API 서빙을 방해하지 않도록 합니다. 이는 두 가지 자동 최적화 방법을 지원합니다: 후속 상태에서 추론된 이진 피드백 (binary feedback)을 사용하는 GRPO, 그리고 현재 정책을 위해 나중의 피드백으로부터 사후 통찰 (hindsight hints)을 추출하는 온폴리시 증류 (on-policy distillation)입니다.

P1은 전적으로 강화학습 (RL)을 통해 학습된 오픈 소스 물리 추론 모델 제품군입니다. P1은 RL 사후 학습 (post-training) 프레임워크로 slime을 활용하며, 적응형 학습 가능성 조정 (adaptive learnability adjustment) 및 안정화 메커니즘을 통해 추론 능력을 점진적으로 향상시키는 다단계 RL 학습 알고리즘을 도입했습니다. 이러한 학습 패러다임에 힘입어, P1은 오픈 소스 물리 추론 분야에서 획기적인 성능을 제공합니다.

RLVE는 언어 모델 (LMs)을 위한 강화학습 (RL)을 확장하기 위해, 문제를 절차적으로 생성하고 알고리즘적으로 검증 가능한 보상을 제공하는 검증 가능한 환경 (verifiable environments)을 사용하는 접근 방식을 도입합니다. 400개의 검증 가능한 환경을 통한 공동 학습 (joint training)을 통해, RLVE는 학습이 진행됨에 따라 각 환경이 정책 모델 (policy model)의 역량에 맞춰 문제 난이도 분포를 동적으로 조정할 수 있도록 합니다.

TritonForge는 slime의 SFT 및 RL 역량을 활용하여 최적화된 GPU 커널을 자동으로 생성하는 LLM을 학습시킵니다. 지도 미세 조정 (supervised fine-tuning) 후 다회차 컴파일 피드백 (multi-turn compilation feedback)을 통한 강화학습 (RL)을 사용하는 2단계 학습 접근 방식을 통해, TritonForge는 PyTorch 연산을 고성능 Triton 커널로 변환하는 데 있어 놀라운 결과를 달성합니다.

APRIL은 RL 학습 과정에서 롤아웃 생성 (rollout generation) 단계를 가속화하기 위해 slime과 원활하게 통합되는 시스템 수준의 최적화를 도입합니다. 요청을 지능적으로 초과 할당 (over-provisioning)하고 부분 완료 (partial completions)를 능동적으로 관리함으로써, APRIL은 일반적으로 RL 학습 시간의 90% 이상을 소비하는 롱테일 생성 병목 현상 (long-tail generation bottleneck)을 해결합니다.

qqr (일명 hilichurl)은 개방형 에이전트 (open-ended agents)를 진화시키기 위해 설계된 slime용 경량 확장 기능입니다. 이는 토너먼트 기반 상대적 순위 지정 (예: Seeded Single-Elimination, Round-Robin)을 통해 판별적 붕괴 (discriminative collapse) 문제를 해결하기 위해 ArenaRL 알고리즘을 구현하며, **Model Context Protocol (MCP)**을 원활하게 통합합니다. qqr은 slime의 고처리량 (high-throughput) 학습 역량을 활용하여 표준화되고 분리된 도구 환경에서 에이전트의 확장 가능한 분산 진화를 가능하게 합니다.

**ART (AgentCore RL Toolkit)**는 AWS Bedrock AgentCore Runtime에서 RL 학습을 위해 프로덕션 에이전트를 적응시키는 SDK입니다. AgentCore Runtime은 많은 병렬 에이전트 롤아웃을 안전하게 실행하기에 적합한 자동 확장 및 샌드박스화된 에이전트 실행 환경을 제공합니다. ART를 사용하면 사용자는 데코레이터 (@app.rollout_entrypoint)를 적용하기만 하면 됩니다.

)를 에이전트 코드에 적용하여 RL 적응 (RL adaption)을 수행하는 동안 동일한 프로덕션 에이전트 하네스 (production agent harness)를 직접 재사용할 수 있으며, RL을 위한 토큰 캡처 (token capture)는 모델 게이트웨이 계층 (model gateway layer)에서 처리됩니다. ART는 slime을 훈련 백엔드 (training backends) 중 하나의 옵션으로 사용하며, 이를 통해 사용자가 slime 내의 RL 훈련 알고리즘 (RL training algorithms)으로 프로덕션 에이전트 모델을 쉽게 최적화할 수 있도록 지원합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0