ThinkingBox-Training: 데이터베이스 상태 보상을 이용한 Qwen3.8-27B의 RL 미세 조정
TL;DR
ThinkingBox-Training(GitHub에 공개됨)은 작업의 최종 데이터베이스 상태에 대한 실행 가능한 검사를 이진 RL 보상으로 변환하고 이를 사용하여 Qwen3.8-27B를 미세 조정하여, 모든 20회 시도에서 성공한 벤치마크 작업의 비율을 7.5%에서 21.1%로 높이고 신뢰할 수 있는 작업당 예상 비용을 $8.00로 줄입니다.
ThinkingBox-Training의 역할
ThinkingBox는 에이전트를 평가하기 위해 최종 데이터베이스 상태를 예상 결과와 비교하도록 구축되었습니다. 저자들은 동일한 실행 가능한 검사가 원래 ThinkingBox-Bench 벤치마크 외부의 작업에 대한 강화 학습(RL) 훈련을 위한 보상 신호로 사용될 수 있음을 깨달았습니다.
- 보상은 이진입니다: 최종 데이터베이스 상태가 결정적 검사를 충족하면
1, 그렇지 않으면0. - 소수의 작업은 좁은 루브릭 질문에 LLM 판정자를 사용하지만, 대다수는 결정적 검사에 의존합니다.
- 훈련 루프는 정책 상대적 난이도를 가진 선별된 작업 풀에 대해 전체 매개변수 RL 미세 조정(GRPO)을 실행합니다—즉, 기본 모델이 때때로 성공하고 때때로 실패하는 작업입니다.
오프라인 정책 상대적 난이도 선택
혼합된 보상 결과를 생성할 수 있는 작업만 GRPO에 유용합니다. 따라서 저자들은:
- 각 후보 작업을 기본 정책(미조정 Qwen3.8-27B)으로 n번 프로브합니다.
- Jeffreys 사후 Beta 분포로 성공 확률을 모델링합니다:
Beta(k+0.5, n-k+0.5)여기서 k는 성공 횟수입니다. - 사후 질량을 5개 구간(0-0.08, 0.08-0.40, 0.40-0.60, 0.60-0.90, 0.90-1)으로 버킷합니다.
- 중간 3개 버킷(어려움, 중간, 자주 해결됨)의 작업을 유지하고 거의 항상 해결되거나 거의 항상 실패하는 작업은 폐기합니다.
- 결과 고정 풀에는 보고된 실행에 대해 187개의 작업이 포함되었습니다.
"난이도는 정책 상대적입니다: 작업은 현재 모델이 배울 때까지만 어렵습니다."
훈련 루프 및 인프라
스택은 24개의 H100 GPU(3노드 × 8GPU)에서 실행되며 6단계(포스트의 그림 5)를 따릅니다:
- 후보 작업 수집.
- 오프라인 프로빙 및 난이도 필터링.
- 롤아웃 생성(그룹당 8개 에피소드).
- 최종 상태 평가.
- GRPO 보상 계산(그룹 내 중심화).
- 매개변수 업데이트.
주요 구현 세부 사항:
- GRPO는 학습률
1e-6및 가중치 감쇠 0으로 토큰 평균 이점을 사용합니다. - 분산이 0인 그룹은 DAPO 스타일 과잉 샘플링 전략으로 대체됩니다.
- 모든 파싱(도구 호출, 인수, 추론 추출)은
trainer/core/tb_interpret.py를 통해 훈련과 평가 간에 공유되어 보상-평가 패리티를 보장합니다.
Qwen3.8-27B에 대한 정량적 영향
모델은 분포 외 ThinkingBox-Bench(507개 작업, 각 20회 반복)에서 평가되었습니다. 포스트의 표 1은 다음을 보고합니다:
| 지표 | 기본 모델 | RL 미세 조정 | Δ |
|---|---|---|---|
| 관찰된 20/20(모든 시도 통과 작업) | 38 (7.50%) | 107 (21.10%) | +69 |
| pass@1 (평균 성공) | 5,242 (51.70%) | 6,163 (60.78%) | +9.08 pts |
| pass@20 (최소 1회 성공) | 453 (89.35%) | 446 (87.97%) | -7 |
RL 미세 조정은 신뢰성을 강화했습니다: 반복 가능한 성공은 급격히 증가한 반면 최소 1회 성공은 약간 감소했습니다.
도메인 수준 효과
Pass@1 및 관찰된 20/20은 다섯 가지 벤치마크 도메인(Retail, Auto insurance, Travel, Neobank, Consulting) 모두에서 개선되었습니다. Pass@20은 Neobank와 Consulting에서 증가했지만 Retail, Travel, Auto insurance에서는 감소했습니다. Retail은 가장 큰 관찰된 20/20 증가(+24.5 포인트)를 보였습니다.
비용 효율성
첫 번째 포스트와 동일한 토큰 사용량 추정치를 사용하여 미세 조정된 체크포인트는 평가 비용과 작업당 비용을 줄였습니다:
| 측정 항목 | 기본 | RL 미세 조정 | Δ |
|---|---|---|---|
| 캠페인 비용 (507 × 20 실행) | $925.80 | $855.58 | -7.6 % |
| 성공적인 시도당 비용 | $0.177 | $0.139 | -21.4 % |
| 20/20 통과 작업 | 38 | 107 | 2.8× |
| 신뢰할 수 있는 작업당 비용 | $24.36 | $8.00 | -67.2 % |
신뢰할 수 있는 작업당 $8.00로 미세 조정된 모델은 GPT-5.4, GPT-6 Astra, Claude Opus 5.5의 비용 효율성에 근접합니다.
스택 직접 실행
ThinkingBox-Training은 github.com/microsoft/thinkingbox-training에서 오픈 소스로 제공됩니다. 저장소에는 다음이 포함됩니다:
- 데이터 준비 (
docs/data-preparation.md) – 작업 하이드레이션, 정책 프로빙, 난이도 필터링, 벤치마크 제외. - 참조 훈련 구성 (
docs/reference-q38-run.md) – 전체 매개변수 Qwen3.8-27B에 대한 검증된 24-GPU 실행. - 평가 가이드 (
docs/evaluation.md) – 체크포인트 병합, vLLM으로 서빙, OpenEnv를 통한 전체 507 × 20 벤치마크 실행.
포스트는 단계별 Linux/WSL 설정(Python 3.12, uv, NVIDIA CUDA/NCCL), 환경 생성, 패키지 설치, Ray 기반 분산 훈련용 실행 스크립트를 제공합니다.
실무자를 위한 핵심 요점
- 훈련 전에 프로브하세요. 작업 풀의 정책 상대적 난이도 분포를 추정하고 혼합 성공을 생성하는 작업만 유지하세요.
- 훈련 및 평가 파서 간의 패리티를 유지하세요. 도구 호출 추출의 불일치는 잘못된 동작에 보상을 줄 수 있습니다.
- 커버리지와 반복 가능성을 모두 보고하세요. Pass@1만으로는 신뢰성을 숨깁니다; 관찰된 20/20(또는 유사한)을 포함하여 신뢰할 수 있는 성능을 전달하세요.
저자들은 핵심 기여가 훈련 루프와 데이터 큐레이션이며 단일 체크포인트가 아니라고 강조합니다. 이 접근 방식은 영구 상태(데이터베이스, 파일 시스템 등)를 조작하는 모든 에이전트에 일반화되어야 합니다.
참조 및 리소스
- ThinkingBox-Training GitHub: https://github.com/microsoft/thinkingbox-training
- ThinkingBox-Bench 데이터셋: https://huggingface.co/datasets/microsoft/ThinkingBox-Bench
- 원본 벤치마크 블로그: https://huggingface.co/blog/microsoft/thinkingbox
- 관련 논문 (arXiv 2608.19741): https://arxiv.org/abs/2608.19741
- OpenEnv 통합: https://huggingface.co/docs/openenv/environments/thinkingbox
코드는 MIT 라이선스입니다; 벤치마크 데이터는 CDLA-Permissive-2.0입니다.