QwenGyre가 xLong 에이전트 RL의 GPU 유휴와 궤적 중복을 줄인다

QwenGyre: An Elastic Reinforcement Learning Framework for Training xLong-Horizon Agents

HF Daily2609.33848

Weiqi Wang, Yuxin Zhou, Mouxiang Chen2026-09-27조회 4

무엇인가

이 논문은 LLM 에이전트가 수행하는 xLong(extreme-long) 지평 작업에 온라인 강화학습을 적용하는 문제를 다룬다. xLong이란 한 번의 실행이 몇 시간에 걸치고, 모델-환경 상호작용이 수백 번 발생하며, 롤아웃 하나가 약 100만 토큰을 처리하는 규모를 말한다. 논문은 여기서 두 가지 근본 문제를 지목한다. 첫째, 롤아웃 실행 시간의 편차가 극심하고 꼬리가 길어 학습이 롤아웃 전체 종료를 기다리느라 GPU가 대량으로 유휴 상태가 된다. 둘째, 블랙박스 하네스가 컨텍스트를 압축하고 서브에이전트에 위임하며 실패 경로를 재시도하기 때문에 하나의 실행이 선형 시퀀스가 아니라 분기하는 비선형 그래프가 되고, 이 경로들을 전부 학습 샘플로 펼치면 공유 프리픽스 중복이 폭발해 학습 비용이 감당 불가능해진다.

어떻게 동작하나

해결책은 두 축으로 구성된다. 먼저 elastic scheduler는 GPU를 K개의 독립적으로 전환 가능한 elastic cell로 나누고, 첫 번째 core cell이 권위 가중치와 옵티마이저 상태를 단독으로 보유하며 나머지 satellite cell이 이를 따라 학습에 합류하는 구조다. 스케줄러는 디스패치된 실행 수 d(t), 시작된 실행 수 p(t), 종료된 실행 수 f(t)를 추적해 워터레벨 w(t)=d(t)-f(t)를 관리하고, 남은 롤아웃 용량이 미완료 실행을 감당할 수 있을 때만(수식 5) cell을 학습으로 넘긴다. 버스트 종료 후에는 준비된 그룹 수와 남은 용량 조건(수식 6)을 만족할 때만 core를 학습에 남긴다. 역할 전환 시에는 하네스·워크스페이스·툴 실행 상태를 그대로 둔 채 프록시가 모델 호출을 재라우팅하고, 필요하면 KV 캐시 블록을 RDMA로 목적지에 넘긴다. 학습은 스트리밍 방식으로 진행되어 core가 Mooncake Transfer Engine으로 가중치를 노출하면 satellite가 RDMA로 스냅샷을 당겨 진행 중인 배치에 합류하고, 각 cell은 공유 큐에서 마이크로 스텝을 원자적으로 클레임해 1F1B 파이프라인으로 처리한다. 논문이 보고한 롤아웃→학습 전환 시간은 평균 8.52초, 학습→롤아웃은 3.46초로, 몇 시간짜리 실행에 비하면 무시할 수준이다.

무엇과 다른가

trajectory processor는 하네스 실행 기록을 학습 샘플로 바꾸는 역할을 맡는다. 롤아웃 중에는 token-in, token-out(TITO) 방식으로 정확한 요청 토큰과 각 출력의 원래 조건 컨텍스트를 보존하고, 이를 공유 프리픽스를 가진 궤적 트리로 조직한다. 실행이 끝나면 타임아웃 이후의 평가 가능한 부분 진행까지 포함해 보존된 작업물을 채점하고, 유효한 보상이 확보되면 실행당 최대 J_max개의 궤적만 역할 우선순위로 선택한다. 학습에는 정책이 생성한 토큰만 타깃으로 쓰고, 공유 타깃은 한 번만 계산하며, 실행 내 선택된 학습 가능 토큰에 대해 손실을 평균한 뒤 배치 내 실행들에 대해 다시 평균해 궤적 수가 많은 실행에 가중치가 쏠리는 것을 막는다.

어떻게 쓰나

실험은 NL2RepoBench, DeepSWE, TerminalBench에서 Qwen 3.6 122B로 수행했고, NL2RepoBench에서는 플래그십 Qwen 3.8 2.4T를 롤아웃당 700K 토큰으로 학습했다. 2.4T 모델에서 48 스텝 만에 NL2RepoBench 통과율이 52.48%에서 58.54%로 6.0%p 절대 상승했다. 같은 48 스텝을 완료하는 데 QwenGyre는 75.42시간이 걸려 Async의 134.55시간, Colocate의 91.47시간 대비 각각 1.78배, 1.21배 빨랐다. DeepSWE와 TerminalBench(24 스텝, 평균 스케줄링 staleness 1과 1.5 두 조건)에서는 Async 대비 1.42~1.53배, Colocate 대비 1.36~1.47배 속도를 냈고, 학습 점수 곡선은 두 베이스라인과 comparable하게 유지됐다. 초록이 제시한 최대 수치는 Colocate 대비 1.85배, Async 대비 1.78배다.

전제와 한계

어블레이션은 두 갈래 경로를 추적한다. Async에 스트리밍을 더하는 경로에서는 노드를 학습에서 롤아웃으로 재배치하면(A0→A1) 시간이 7.7% 늘고, 버스트를 길게 하면(A2) 29.9% 늘지만, 스트리밍(A3)은 11.6% 줄인다. Colocate에 독립 롤아웃 노드를 더하는 경로에서는 C1이 C0 대비 2.9% 개선에 그치고, C2(스트리밍 추가)는 14.8% 줄지만, 독립 용량을 늘린 C3는 C2 대비 7.6% 악화된다. 스트리밍과 세분화된 할당을 결합한 E0는 C2 대비 1.19배 빨랐고, 버스트당 학습 스텝을 1로 줄인 E1은 E0보다 10.9% 느리지만 A3 대비 1.24배, C2 대비 1.08배를 유지했다. 셀 입자도 실험에서 4노드 셀 8개(E0)를 8노드 셀 4개(E2)로 묶으면 16.12시간이 16.47시간으로 2.2%만 늘었다. 궤적 샘플링 예산에서는 실행당 메인 궤적만 쓰면 점수가 낮고 그래디언트 노름이 컸으며, 상한 5개면 전체 궤적을 쓰는 것과 같은 점수를 내면서 순전파-역전파 시간을 25.2% 줄였다(상한 1과 5는 각각 무제한 대비 41.4%, 74.8%).

개발자 관점에서 이 논문이 유용한 지점은 두 가지다. 하나는 롤아웃과 학습이 같은 GPU 풀을 쓰는 환경에서 고정 분할(Async)이나 풀 단위 전환(Colocate) 대신 셀 단위로 쪼개 점진적으로 학습에 넘기는 패턴이, 롤아웃 꼬리가 긴 워크로드에서 실제로 유효하다는 점이다. 다른 하나는 Claude Code나 Codex처럼 닫혀 있고 빠르게 변하는 하네스를 재구현하지 않고 프록시로 모델 호출만 관찰하는 블랙박스 인터페이스를 전제로, 분기 궤적을 공유 프리픽스 트리로 재구성하고 부분 진행까지 보상으로 살리는 구체적 규칙을 제시한다는 점이다. 다만 이득의 크기는 워크로드 특성에 좌우된다. 2.4T 실험에서 쿼리 실행 시간이 타임아웃 한계 근처에 몰려 있어 Colocate 대비 이득(1.21배)이 Async 대비 이득(1.78배)보다 작았는데, 이는 셀을 일찍 회수해 학습을 점진 확장할 여지가 적었기 때문이다.

저자들이 밝힌 한계는 명확하다. 첫째, 탄성 스케줄링은 독립 전환이 가능한 여러 셀을 요구하고 각 셀이 모델 메모리와 학습 병렬 요구를 감당해야 하므로, GPU 예산이 매우 작으면 이 구조 자체가 실용적이지 않다. 논문은 32노드 예산에서 셀 입자도를 바꾼 결과만 제시했고, 훨씬 작은 총 GPU 예산에서의 효율은 평가하지 않았다고 명시한다. 둘째, 버스트당 학습 스텝이 여러 개인 경우(μ>1) 스트리밍 학습은 준비된 롤아웃 그룹을 순차적으로 배정하므로 버스트 시작 전에 전체 미니배치를 전역 셔플할 수 없다. 전역 셔플을 지원하려면 버스트 데이터 전체를 기다려야 해서 학습이 지연되고 롤아웃과의 중첩 이득을 일부 포기해야 한다. 단일 스텝 버스트(μ=1)는 이 제약을 피할 수 있지만, 샘플 순서가 학습 품질에 미치는 영향은 이 논문에서 분리해 평가하지 않았다.