ZJU-REAL/SDAR

Official code for "Self-Distilled Agentic Reinforcement Learning"

📚 SDAR란?

Self-Distilled Agentic Reinforcement Learning (SDAR) 은 자기 증류 패러다임을 사용하여 에이전트형 강화 학습(RL) 에이전트, 즉 대화형 환경에서 작동하는 LLM 기반 봇을 훈련할 수 있는 오픈 소스 연구 프레임워크입니다. 핵심 아이디어는 '교사' 모델이 궤적을 생성하고, 게이팅 메커니즘이 교사의 지식을 유지할 시기와 학생이 스스로 탐색하도록 할 시기를 결정하는 동안 '학생' 모델이 해당 궤적에서 학습하도록 하는 것입니다. 리포지토리에는 원래 SDAR 알고리즘과 RetireOPD (자체 은퇴형 온-폴리시 증류)라는 새로운 변형이 포함되어 있습니다.


🚀 주요 기능(README에 명시)

범주 코드가 지원하는 것
방법 OP(S)D, GRPO, GRPO+OP(S)D, RLSD, Skill-SD, SDAR, RetireOPD
환경 ALFWorld(텍스트 기반 가사 작업), WebShop(전자 상거래 상호 작용), Search-QA
모델 백엔드 Qwen-3 시리즈, Qwen-2.5 시리즈(LLM 체크포인트)

주요 사항

  • 게이팅 메커니즘: 자기 증류를 적용할 시기와 직접 RL 업데이트를 적용할 시기를 결정합니다.
  • RetireOPD의 2단계 훈련: 먼저 교사를 훈련시킨 다음, 학생이 계속 학습하는 동안 교사를 은퇴(단계적으로 제거)시킵니다.
  • 광범위한 생태계 – 이 리포지토리는 이미 수십 개의 후속 논문(예: AlignOPSD, PR-OPD, UniOPSD 등)을 지원했습니다.
  • 결과: 세 가지 벤치마크에서 ALFWorld에서 90% 이상의 성공률과 WebShop에서 강력한 성능을 보여줍니다.

🛠️ 시작하기

  1. Python 3.12 환경을 만들고 핵심 종속성(vllm, flash-attn, 패키지 자체)을 설치합니다.
  2. 훈련하려는 대상 환경을 설치합니다:
    • ALFWorld – gymnasium, stable-baselines3, alfworld; 그런 다음 alfworld-download -f를 실행합니다.
    • WebShop – Python 3.10이 필요합니다. agent_system/environments/.../webshop의 setup.sh 스크립트를 따르세요.
    • Search-QA – 소수의 패키지를 설치하고 faiss-gpu, fastapi 등을 포함한 별도의 retriever conda 환경을 설정합니다.
  3. 훈련 스크립트는 examples/에 있습니다. 예시 명령:
    bash examples/sdar_trainer/run_alfworld_3b.sh   # SDAR on ALFWorld with a 3-B Qwen model
    bash examples/retireopd_trainer/run_alfworld_3b.sh   # RetireOPD (two-stage)
    
  4. 체크포인트 처리 – scripts/model_merger.py를 사용하여 FSDP/Megatron 샤드를 단일 Hugging Face 호환 체크포인트로 병합합니다.

📊 보고된 결과

알고리즘 작업 모델 성공률
RetireOPD ALFWorld Qwen2.5-1.5B-Instruct 89.8 %
RetireOPD ALFWorld Qwen2.5-3B-Instruct 93.8 %
RetireOPD ALFWorld Qwen2.5-7B-Instruct 95.3 %
RetireOPD WebShop Qwen2.5-1.5B-Instruct 75.8 %
RetireOPD WebShop Qwen2.5-3B-Instruct 77.3 %
RetireOPD WebShop Qwen2.5-7B-Instruct 84.4 %

📚 인용 방법

SDAR 또는 그 파생물을 사용하는 경우 README에 복사 가능한 BibTeX 항목이 제공됩니다:

@article{lu2026sdar,
  title={Self-distilled agentic reinforcement learning},
  author={Lu, Zhengxi and …},
  journal={arXiv preprint arXiv:2605.15155},
  year={2026}
}

(관련 작품에 대한 추가 인용(Skill0, AgentOPSD 등)도 나열되어 있습니다.)


🎯 누가 유용하게 사용할 수 있을까요?

  • 연구자: 자신의 경험에서 학습해야 하는 LLM 기반 에이전트를 탐구하는 사람.
  • 엔지니어: 텍스트 기반 또는 웹 기반 작업을 위한 RL 파이프라인을 구축하고 기성 자기 증류 구현을 원하는 사람.
  • 학생: 온-폴리시 증류에 대한 최근 논문을 연결하는 구체적인 코드베이스를 찾는 사람.

🔗 관련 프로젝트

README에는 'SDAR로 구동되는 멋진 작업' 섹션이 길게 나열되어 있으며, 최근 많은 논문(예: AlignOPSD, PR-OPD, UniOPSD)이 이 리포지토리를 포크하거나 확장한 것을 보여줍니다. 이러한 프로젝트는 특수 변형을 탐색할 수 있습니다.


위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며 외부 가정은 추가되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트