
Qwen3.6-35B-A3B 모델을 RL 학습하여 작은 작업별 Qwen 모델을 RL로 학습시키는 방법
요약
본 글은 트레이너 에이전트(Qwen3.6-35B-A3B)를 사용하여 다른 작은 Qwen 모델들을 RL로 학습시키는 메타 학습 구조를 제시합니다. 이 시스템은 외부 루프에서 에이전트가 전체 훈련 작업을 설계하고, 내부 루프에서는 GRPO를 통해 실제 GPU 환경에서 모델을 개선하며 보상을 받는 방식으로 작동합니다.
핵심 포인트
- RL 루프 안에 또 다른 RL 루프(Meta-RL) 구조를 구현했습니다.
- 에이전트는 훈련 작업(환경, 데이터셋, 하이퍼파라미터 등) 자체를 설계하고 제출합니다.
- 보상은 검증 효율성 및 모델의 사후 학습 점수 향상분 등을 활용하여 계산됩니다.
- 정책 디버깅보다 프로세스 자체의 디버깅이 더 중요함을 발견했습니다.
👋 작년에 처음으로 RL 모델을 훈련시켜보는 것은 정말 재미있었습니다. 이제는 다른 모델들을 RL로 학습시키는 모델 자체를 RL로 학습시켰습니다... 대단한 경험이었죠! 에이전트가 작업을 받고, 전체 훈련 작업(환경, 보상, 데이터셋, 하이퍼파라미터)을 작성하여 실제 GPU에 제출합니다. 이 모델이 숨겨진 평가에서 더 높은 점수를 받으면, 에이전트는 보상을 받습니다. RL 루프 안에 또 다른 RL 루프가 있는 구조입니다! 🤯 제가 한 일: 트레이너 에이전트(Qwen3.6-35B-A3B)가 완전한 prime-rl 훈련 작업을 작성할 수 있는 하니스를 구축했습니다. 이 작업에는 검증자 환경 + 평가 기준, 데이터셋 및 하이퍼파라미터 설정이 포함됩니다. 각 작업은 최대 16개의 Runpod GPU 파드로 구성된 워밍업 풀에 전송되며, 여기서 prime-rl & verifiers가 작은 Qwen(0.6B 또는 1.7B)을 GRPO로 학습시키고 숨겨진 평가에서 사전/사후 점수를 매깁니다. 이 과정은 트레이너 에이전트 자체를 Tinker (LoRA + GRPO)로 RL 학습시키는 데 사용되었으며, 내부 모델의 개선도를 보상으로 활용했습니다. 6가지 작업군을 만들었습니다. 그중 하나는 완전히 분리하여, 훈련에 전혀 사용되지 않은 일반화 탐색(generalisation probe)용이었습니다.
주요 결과:
- 에피소드 보상은 54번의 외부 루프 단계 동안 ~0.0에서 최고점인 ~0.63까지 상승했습니다 (~1,750개의 실제 GPU 훈련 작업이 이면에 있었습니다!)
- 분리된 작업군으로 전이된 기술: 평균 보상이 (미훈련 시) 0.399에서 34단계에서는 0.545로, 54단계까지는 0.49로 완만하게 감소했습니다 (각 팔당 n=10이므로 노이즈가 있습니다. 상승 후 정체/하락세를 보였습니다).
- 에이전트는 성능이 낮은 0.6B 기본 모델을 선택하는 것을 멈추었습니다 — 작업 중 1.7B의 비중이 42%에서 95%로 증가했고, 실제로 하이퍼파라미터 설정 공간(21% → ~78%의 에피소드)을 사용하기 시작했습니다.
- 학습은 두 가지 뚜렷한 단계로 이루어졌습니다: 첫째는
각 내부 학습 작업(inner training job)은 약 $0.13–0.30이 소요되었습니다(!). 기술적 세부 사항: 내부 루프에서는 prime-rl (GRPO)이 저렴한 GPU 쌍(대부분 A40s)에서 작은 모델을 훈련시키고, 숨겨진 평가 에이전트가 볼 수 없는 vLLM 기반의 전/후 체크포인트 점수를 매깁니다. 외부 루프에서는 tinker-cookbook의 중요도 샘플링 GRPO를 사용하며, 비동기 오프라인 방식으로 실행되어 하나의 느린 에피소드가 전체 배치(batch)를 멈추게 하지 않습니다. 보상(Reward)은 검증 효율성 + 작업 품질(절대적인 사후 학습 점수 + 가장 좋지 않은 기본값 대비 향상분) + 작은 학습 속도 타이-브레이커로 구성됩니다. 에이전트는 파일 도구(file tools)가 있는 샌드박스 워크스페이스에서 작동하며, 훈련되지 않은 모델의 기본 점수를 조회할 수 있고, 검증 프로브(validation probe) 후 제한된 재시도 기회를 얻습니다. 더 자세한 내용은: 제 GitHub 저장소에 모든 것을 오픈 소스로 공개했습니다 — 하네스(harness), 작업군(task families), 보상 코드(reward code), GPU 오케스트레이션, Tinker RL 스크립트, 그리고 실패를 포함한 모든 파일럿의 회고록을 담았습니다. 흥미롭고 유용하다고 생각하시기를 바랍니다!: ⭐️ https://github.com/Danau5tin/ai-trains-ai 제가 이렇게 한 이유는 AI 시스템이 다른 AI 시스템을 개선하는 것이 향후 몇 년 동안 큰 부분이 될 것이라고 생각했기 때문이며, 실제로 보상(reward)을 움직이는 데 무엇이 필요한지 알고 싶었기 때문입니다. 결과적으로: 정책(policy) 디버깅보다 프로세스 자체의 디버깅이 훨씬 많이 필요했고, 보이는 것보다 훨씬 접근성이 좋았습니다. 읽어주셔서 감사합니다! Dan Austin (Prime Intellect의 prime-rl + verifiers를 기반으로 했으며, Thinking Machines의 Tinker로 훈련되었고, Runpod의 GPU를 사용했습니다 — 모두 작업하기에 매우 훌륭합니다!) /u/DanAiTuning 제출 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기