
AI 모델을 사용하여 도구를 RL-training하는 Qwen3.6 RL-training
요약
Qwen3.6 모델을 트레이너 에이전트로 활용하여 다른 소형 모델들을 강화학습(RL)으로 훈련시키는 'RL-in-RL' 구조의 실험 결과입니다. 에이전트가 훈련 환경, 데이터셋, 하이퍼파라미터를 직접 구성하고, 모델 성능 향상을 보상으로 받아 스스로 진화하는 과정을 다룹니다.
핵심 포인트
- 에이전트가 훈련 작업(환경, 보상, 데이터셋 등)을 직접 작성하고 GPU에 제출함
- 내부 모델의 성능 개선도를 보상으로 사용하여 트레이너 에이전트를 GRPO로 학습
- 훈련에 사용되지 않은 격리된 작업 패밀리에서도 성능 전이(Generalization) 확인
- 에이전트가 더 나은 성능을 위해 더 큰 모델(1.7B)과 최적의 하이퍼파라미터를 선택하도록 학습됨
👋 작년에 저의 첫 RL (강화학습) 모델을 훈련시킨 것은 정말 즐거운 경험이었습니다. 이제 저는 다른 모델들을 RL-training하는 모델을 RL-training했습니다... 정말 놀라운 시대입니다! 에이전트(Agent)는 작업을 할당받아 전체 훈련 작업(환경, 보상, 데이터셋, 하이퍼파라미터)을 작성하고 이를 실제 GPU에 제출합니다. 훈련된 모델이 숨겨진 평가(hidden eval)에서 더 높은 점수를 받으면 에이전트에게 보상이 주어집니다. RL 루프 안에 RL 루프가 있는 구조입니다! 🤯
제가 수행한 작업:
트레이너 에이전트 (Qwen3.6-35B-A3B)가 완전한 prime-rl 훈련 작업을 작성하는 하네스(harness)를 구축했습니다: 검증기(verifiers) 환경 + 루브릭(rubric), 데이터셋, 그리고 하이퍼파라미터 설정이 포함됩니다. 각 작업은 최대 16개의 Runpod GPU 포드(pod)로 구성된 웜 풀(warm pool)에 할당되며, 여기서 prime-rl과 검증기가 GRPO를 통해 작은 Qwen 모델(0.6B 또는 1.7B)을 훈련시키고 숨겨진 평가에서 훈련 전후의 점수를 측정합니다.
내부 모델의 개선을 보상으로 사용하여 Tinker (LoRA + GRPO)를 통해 트레이너 에이전트 자체를 RL-training했습니다.
6개의 작업 패밀리(task families)를 만들었습니다. 그중 하나는 일반화 탐침(generalisation probe)으로서 훈련에 전혀 사용되지 않고 완전히 격리되었습니다.
주요 결과:
- 에피소드 보상이 54번의 외부 루프(outer-loop) 단계 동안 약 0.0에서 피크 시점 약 0.63까지 상승했습니다 (~1,750개의 실제 GPU 훈련 작업이 투입됨!).
- 기술이 격리된 작업 패밀리로 전이되었습니다: 평균 보상이 0.399(미훈련)에서 34단계에서 0.545로 상승했으며, 54단계에서는 0.49로 완만해졌습니다 (arm당 n=10이므로 노이즈가 있음. 상승 후 정체/하락 양상).
- 에이전트는 더 약한 0.6B 베이스 모델을 선택하는 것을 멈추는 법을 배웠습니다 — 1.7B 모델의 작업 비중이 42%에서 95%로 증가했으며, 실제로 하이퍼파라미터 설정 범위를 사용하기 시작했습니다 (에피소드의 21%에서 ~78%로 증가).
학습은 두 가지 뚜렷한 단계로 진행되었습니다: 첫 번째는 "검증 실패 및 GPU에서의 중단을 멈추는 것", 두 번째는 "더 나은 모델을 만드는 것"이었습니다. GRPO가 처음에 가장 가파른 기울기(gradient)를 가져갔습니다!
전체 비용 요약: 총 ~$1.3k (Runpod ~$810, Tinker ~$465).
각 내부 학습 작업(inner training job) 비용은 약 ~$0.13–0.30 (!) 이었습니다. 기술적 세부 사항: 내부 루프(Inner loop): prime-rl (GRPO)이 저렴한 GPU 쌍(대부분 A40)에서 소형 모델을 학습시킵니다. 체크포인트는 에이전트가 절대 볼 수 없는 숨겨진 평가(hidden eval) 세트에서 vLLM을 사용하여 학습 전후 점수를 측정합니다. 외부 루프(Outer loop): tinker-cookbook의 중요도 샘플링(importance-sampling) GRPO를 사용하며, 하나의 느린 에피소드가 전체 배치(batch)를 지연시키지 않도록 비동기식 오프-폴리시(async off-policy)로 실행됩니다. 보상(Reward) = 검증 효율성(validation efficiency) + 작업 품질(job quality, 학습 후 절대 점수 + 학습되지 않은 최적의 베이스라인 대비 상승분) + 작은 학습 속도 결정 요소(train-speed tie-breaker). 에이전트는 파일 도구가 포함된 샌드박스 작업 공간(sandboxed workspace)에서 작동하며, 학습되지 않은 모델의 베이스라인 점수를 쿼리할 수 있고, 검증 프로브(validation probe) 이후에는 재시도 횟수가 제한됩니다. 더 자세한 내용: 저의 GitHub 저장소에 하네스(harness), 태스크 패밀리(task families), 보상 코드(reward code), GPU 오케스트레이션(orchestration), Tinker RL 스크립트, 그리고 실패 사례를 포함한 모든 파일럿 프로젝트의 사후 기록을 모두 오픈 소스로 공개했습니다. 이것이 흥미롭고 유용하기를 바랍니다!: ⭐️ https://github.com/Danau5tin/ai-trains-ai 저는 다른 AI 시스템을 개선하는 AI 시스템이 향후 몇 년 동안 매우 큰 비중을 차지할 것이라고 생각하기 때문에 이 작업을 수행했으며, 보상을 움직이게 만드는 데 실제로 무엇이 필요한지 알고 싶었습니다. 결과적으로: 정책(policy) 자체보다 프로세스에 대한 디버깅(debugging)이 훨씬 더 많이 필요하며, 생각보다 훨씬 더 접근하기 쉽다는 것을 알게 되었습니다. 읽어주셔서 감사합니다! Dan Austin (Prime Intellect의 prime-rl + verifiers를 기반으로 구축되었으며, Thinking Machines의 Tinker로 학습되었고, Runpod의 GPU를 사용했습니다 — 모두 함께 작업하기에 매우 훌륭합니다!) /u/DanAiTuning에 의해 r/MachineLearning에 제출됨 [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기