“Molt의 전체 시스템: 세 개 컴포넌트와 하나의 루프. 사용자 에이전트(plain Python), vLLM 롤아웃 엔진, FSDP2 정책 액터가 하나의 Ray 비동기 큐로 연결된다.” (Figure 1 from the paper)

핵심 한 줄

NVIDIA가 “연구자가 머릿속으로 통째로 이해할 수 있고, AI 코딩 어시스턴트가 끝까지 읽을 수 있는” 에이전트 RL 훈련 프레임워크를 오픈소스로 내놨다. Megatron급 스택과 통계적으로 동등한 처리량을 유지하면서도 코드베이스는 몇 배 더 작다.


왜 Molt가 필요한가

에이전트 RL 연구는 끊임없는 알고리즘 수정이다. 새로운 추정자, 새로운 파이프라인 단계, 새로운 롤아웃 방식 — 매 변경마다 트레이너, 분산 백엔드, 롤아웃 글루 계층을 모두 관통해야 한다.

기존 프레임워크들의 문제를 Molt 논문은 명확히 지적한다:

“하이퍼스케일 복잡성을 연구자가 물려받지만, 그 특화는 필요하지 않다. 이해하거나 변경하는 비용이 가설을 표현하는 비용보다 커진다.”

프레임워크RL 코드 (LOC)설계 기준
Molt~8.6K읽기 쉬운 에이전트 연구
slime~7.2KRLHF 커버리지
OpenRLHF~25K프로덕션 폭
verl (HybridFlow)~62KMegatron 처리량

Table 1: 프레임워크 비교 (논문 원문)

Molt는 8.6K 줄의 RL 코드로 700B MoE 모델까지 끝까지 훈련할 수 있다. verl이 62K 줄인 것과 대조적이다.

다섯 가지 설계 원칙

Molt의 핵심은 “복잡성은 능력 있는 RL 인프라의 대가가 아니라, 하이퍼스케일에서 물려받은 선택지”라는 철학이다.

1. 인간과 AI 코딩 어시스턴트 모두에게 읽기 쉽게 (Readable)

연구자가 함수를 한 번 읽고 제어 흐름을 이해할 수 있어야 한다. Claude Code 같은 AI 코딩 어시스턴트가 CLI 플래그부터 실행 분기, 텐서, 메트릭, 테스트까지 추적할 수 있어야 한다. 불필요한 간접층은 결함으로 간주한다.

2. 최소 코드, 단일 백엔드

정확히 하나의 훈련 백엔드(AutoModel)와 하나의 서빙 엔진(vLLM)만 지원한다. 둘 다 포크하지 않으므로 상류 개선이 출시되는 즉시 도착한다. 멀티 백엔드 추상화가 계층적 간접의 근원이라고 보고 이를 거부한다.

3. 성능은 SOTA와 동등 (Performance Parity as Constraint)

가벼움이 처리량 감소를 정당화하지 않는다. Megatron 기반 스택과 매칭된 프로토콜 하에서 통계적으로 동등한 것이 설계 요구사항이다.

4. 모듈성은 알고리즘을 따른다

컴포넌트가 인프라 계층이 아니라 RL 알고리즘의 객체에 일대일로 대응된다: 에이전트/환경 인터페이스, 롤아웃, 어드밴티지 추정자, 손실 함수. 어댑터 레이어와 플러그인 레지스트리가 없다. 알고리즘 수정은 정확히 하나의 컴포넌트만 건드린다.

5. 디테일에서의 정확성 (Correctness in the Details)

수치적 충실도가 1차 보장 사항이다: 생성된 토큰 ID가 훈련 토큰을 정의하고, 롤아웃과 트레이너가 모델 시맨틱에서 일치하며, MoE 라우팅까지 일치한다. “조용한 발산(divergence)은 어디서든 버그로 취급한다.”

시스템 아키텍처: 네 개 개념, 하나의 루프

Molt는 네 가지 핵심 개념만으로 전체 시스템을 구성한다:

  1. Agent: plain Python. 액션과 보상을 생성하는 일반 프로그램
  2. Generator: 서빙 엔진에 대한 토큰 정확 캡처
  3. Trainer: 단일 FSDP2 정책 액터 위한 하나의 보이는 훈련 루프
  4. Estimators & Losses: 보상, 그룹, 토큰 트레이스의 순수 함수

토큰 정체성 (Token Identity)

Molt의 가장 강력한 불변량: 훈련하는 모든 토큰은 정확히 생성된 그 토큰이다. 재토큰화된 트랜스크립트가 아니라 샘플링된 token ID가 궤적을 정의한다.

ChatAgent: 기존 에이전트 코드를 그대로 훈련

OpenAI나 Anthropic SDK를 사용하는 기존 에이전트 코드가 수정 없이 훈련된다. Molt가 루프백 챗 서버를 엔진 앞에 띄우고, 모든 요청을 토큰 정확 누적으로 캡처한다:

  • extra_body 불필요
  • logprobs=true 불필요
  • 세션 플럼빙 불필요

OpenAI와 Anthropic 양쪽 와이어 프로토콜을 모두 노출하므로, 외부 하네스, 브라우저 자동화, OSWorld 스타일 에이전트도 수정 없이 정책을 구동할 수 있다.

컨텍스트 압축을 궤적 분할로

긴 호라이즌 에이전트는 컨텍스트를 압축한다 — 이전 턴을 요약하거나 삭제하여 프롬프트 프리픽스를 재작성한다. Molt의 챗 서버는 이 재작성을 감지하고, 현재 세그먼트를 봉인하며, 새 토큰 정확 세그먼트를 연다. 에이전트 측 변경이 필요 없다. 압축 동작이 불투명한 하네스도 훈련 가능하다.

성능 검증: Megatron 스택과 동등

매칭된 프로토콜

설정Moltslime
모델Qwen3-30B-A3B, bf16
하드웨어2노드 × 8 H100, 8 훈련 + 8 롤아웃 GPU
비동기스트리밍 비동기 루프원스텝 비동기
데이터DAPO-Math, 2K 행
배치32 프롬프트 × 4샘플 = 128시퀀스/스텝
컨텍스트16,384 / 응답 8,192 토큰
훈련 병렬DP8 (FSDP2), EP8, TP1TP4+SP, CP1, EP8
롤아웃vLLMSGLang

Table 2: 헤드투헤드 벤치마크 프로토콜

결과: 통계적 동등

구성스텝 (초)Tok/GPU/s
Molt (AutoModel + vLLM)119.4 ± 2.3461
slime (Megatron-Core + SGLang)109.5 ± 10.3502

Table 3: 매칭된 프로토콜 하 처리량 동등성

slime의 교차 실행 분산(102–121초)이 Molt의 대역(119.4±2.3)과 겹친다. 어느 쪽의 우위도 주장하지 않는다 — 두 스택은 통계적으로 동등하다.

더 긴 출력 길이(32K–128K 추론/에이전트 영역)에서는 잔여 차이가 극적으로 축소된다. 옵티마이저 스텝이 생성에 지배되고, 양쪽 스택이 이를 서빙 엔진에 위임하기 때문이다.

엔진 최적화는 플래그로 도착

  • 프리픽스 캐싱: 0.05초 리프리필
  • 스페큘러티브 디코딩: 329초 → 64초 (5× 가속), 단일 설정 변경
  • 옵티마이저 CPU 오플로드: 64.7GB → 46.4GB (18% 시간 증가만으로 메모리 절약)

스케일: 4B에서 700B MoE까지

Molt는 이미 700B MoE를 EP 256에서 엔드투엔드 비동기 루프로 구동한다. 동일한 간결한 루프로 4B 밀집 모델부터 DeepSeek-V3급 MoE까지 설정만으로 표현한다:

측면플래그용도
Actor--fsdp.ep_size전문가 병렬; 256 = DeepSeek-V3급
Actor--fsdp.cp_size32K+ 시퀀스 컨텍스트 병렬
Actor--fsdp.offload optimizer옵티마이저 상태를 호스트 메모리로
vLLM--vllm.enable_expert_parallel엔진별 전문가 병렬
MoE--train.routing_replay롤아웃 라우팅 재생 (안정성)

Table 4: Molt 스케일링 노브

왜 중요한가

Molt가 던지는 질문은 단순하지만 근본적이다:

하이퍼스케일 인프라의 복잡성이 정말로 능력의 대가인가, 아니면 물려받은 선택인가?

NVIDIA의 답은 후자다. Ray + vLLM + NeMo AutoModel을 조합하면, 각각이 개별적으로 프론티어 스케일에서 검증된 컴포넌트들이 상류 개선을 포크 없이 흡수한다. 연구자는 8.6K 줄의 코드를 읽고, AI 코딩 어시스턴트와 함께 알고리즘을 끝까지 추적하고, 오후에 아이디어를 실험할 수 있다.

이것은 단순히 “또 다른 RL 프레임워크”가 아니다. AI 코딩 어시스턴트와 함께 연구하는 시대를 위해 처음부터 설계된 인프라라는 점에서, 연구 도구의 설계 철학 자체를 제시한다.

“코드베이스가 연구자가 통째로 읽을 수 있을 만큼 작고, AI 코딩 어시스턴트가 읽고 추론할 수 있을 만큼 깨끗하다.”

Molt는 Apache-2.0 라이선스로 GitHub에 공개되어 있으며, 모든 측정에 사용된 레시피와 컨테이너를 제공한다.

더 실습해보고 싶은 분들께

에이전트 RL 훈련, 하네스 통합, 루프 기반 자동화에 관심이 생겼다면 다음 자료를 추천합니다:


논문: Molt: A Scalable PyTorch-Native Training Framework for Agentic Reinforcement Learning (Hu et al., NVIDIA, 2026) 코드: github.com/NVIDIA-NeMo/labs-molt 라이선스: Apache-2.0