Important
이 문서에서 미리 보기로 표시된 항목은 현재 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 Microsoft 프로덕션 워크로드에 권장하지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
Important
프로그램형 교육에는 명시적 액세스 승인이 필요합니다. 미리 보기 등록 양식을 통해 액세스를 요청하고 교육 세션을 만들기 전에 승인을 기다립니다.
이 빠른 시작에서는 샘플 리포지토리를 복제하고 GSM8K 수학 문제에 대한 강화 학습(RL) 레시피를 실행합니다. 이 레시피는 응답을 생성하고, 정확성을 점수로 매기고, Microsoft Foundry에서 Qwen3.8-27B에 대한 LoRA(저순위 적응) 어댑터를 업데이트합니다.
사용자는 Python 드라이버를 로컬로 실행하고, Foundry는 모델 작업을 실행합니다. 이 짧은 실행은 학습, 평가 및 검사점 저장 작업을 확인합니다. 모델 품질 벤치마크가 아니며 로컬 GPU가 필요하지 않습니다.
Azure 구독이 없는 경우 무료 계정을 만드십시오.
Prerequisites
- 승인된 프로그래밍 학습 미리 보기 액세스 권한과
Qwen/Qwen3.8-27B에 대한 용량을 갖춘 Foundry 프로젝트입니다. 지원되는 모델 및 지역을 확인하세요. - 학습을 위해서는 Foundry 사용자 역할이, 파인 튜닝된 모델을 배포하는 경우에는 Foundry 소유자 역할이 필요합니다. Microsoft Foundry에 대한 역할 기반 액세스 제어를 참조하세요.
- Python 3.11 이상, Git 및 쓰기 가능한 로컬 디렉터리
- 다음은 로그인 명령에 대한 Azure CLI입니다.
- Python 패키지, 공용 데이터 세트 및 모델의 토케나이저를 다운로드하기 위한 네트워크 액세스입니다.
- 모델 로드, 학습, 샘플링 및 평가에 대해 승인된 예산입니다.
샘플 리포지토리를 복제하세요
microsoft-foundry/fine-tuning을 복제하고 Programmed Training cookbook을 엽니다.
git clone https://github.com/microsoft-foundry/fine-tuning.git
cd fine-tuning/interactive_training
나머지 명령을 실행하는 동안 이 디렉터리를 열어 둡니다. 여기에는 요리책 pyproject.toml와(과) Python 패키지가 포함되어 있습니다.
쿡북 설치하기
가상 환경을 만들고 쿡북을 설치합니다. Linux 및 Windows 명령은 드라이버 쪽 종속성에 CPU Torch 패키지 인덱스를 사용합니다.
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e . \
--index-url https://pypi.org/simple \
--extra-index-url https://download.pytorch.org/whl/cpu
참조: Cookbook 설치.
원격 세션을 만들지 않고 설치를 확인합니다.
python -m pip check
python -m interactive_training.recipes.math_rl.train_azure --help
종속성 오류가 발생하지 않고 project_endpoint, max_steps, max_train_examples을(를) 나열하는 레시피 도움말이 제공될 것으로 예상됩니다.
프로젝트 구성 및 로그인
프로젝트에 대해 승인된 ID로 로그인한 다음, 해당 구독을 선택합니다.
az login
az account set --subscription "<subscription-id>"
참조: Azure CLI 사용하여 로그인합니다.
Foundry 프로젝트에서 프로젝트 엔드포인트를 복사합니다. 모델 배포 URL이나 계정 호스트 이름만이 아닌 프로젝트 URL을 사용합니다.
<project> 및 <account>을 프로젝트 값으로 바꾸세요:
export AZURE_AI_PROJECT_ENDPOINT=\
"https://<account>.services.ai.azure.com/api/projects/<project>"
레시피는 이 설정되지 않은 경우 AZURE_AI_API_KEY를 사용합니다. CLI 자격 증명 전에 구성된 다른 자격 증명을 선택할 수 있습니다. 키 변수가 설정되면 Azure CLI 로그인보다 우선합니다.
레시피를 실행하세요
2개의 학습 반복, 16개의 학습 예제 및 8개의 보류된 평가 예제를 사용하여 GSM8K 레시피를 실행합니다. 레시피는 세션을 만들고, 응답을 샘플링하고, 보상을 계산하고, 어댑터를 업데이트하고, 검사점을 저장합니다.
Warning
이 명령은 원격 학습 세션을 만들고 요금이 부과될 수 있습니다.
max_steps=2 는 모델 로드 시간, 평가 호출, 총 토큰 또는 비용이 아닌 학습 반복을 제한합니다. 승인된 예산으로만 진행합니다.
python -m interactive_training.recipes.math_rl.train_azure \
project_endpoint="$AZURE_AI_PROJECT_ENDPOINT" \
model_name="Qwen/Qwen3.8-27B" renderer_name=qwen3_8_low_reasoning \
env=gsm8k learning_rate=2e-5 temperature=1.0 max_tokens=1200 \
lora_rank=32 group_size=4 groups_per_batch=8 \
loss_fn=importance_sampling seed=42 \
max_steps=2 max_train_examples=16 max_test_examples=8 \
eval_every=1 save_every=1 \
log_path=./runs/first-math-check behavior_if_log_dir_exists=raise
참조: 수학 RL 레시피 빠른 시작.
이 레시피는 key=value 인수를 사용하며 --key value은(는) 사용하지 않습니다. 실행이 완료될 때까지 터미널 및 네트워크 연결을 열어 둡니다.
각 반복에서는 프롬프트당 4개의 응답이 있는 8개의 프롬프트를 사용합니다.
max_tokens=1200 는 추론 및 최종 답변에 대한 완료 예산을 제공합니다. 응답은 여전히 잘릴 수 있습니다.
결과는 first-math-check 아래의 runs 디렉터리에 저장됩니다. 이 명령은 기존 디렉터리를 덮어쓰지 않습니다. 별도의 독립 실행을 위한 새 log_path 항목을 선택합니다. 오류를 해결하려고 결과를 삭제하지 마세요.
성공한 항목을 확인하세요
./runs/first-math-check/cookbook 디렉터리를 기준으로 다음 위치를 확인하세요:
| 단계 | Evidence | 그것이 증명하는 것 |
|---|---|---|
| 런처 설정 |
run_meta.json이(가) 기록되며; 세션 ID는 처음에 null일 수 있습니다. |
Azure에서 세션을 승인하는 것이 아니라 로컬 설정이 시작됩니다. |
| 모델이 로드됨 | 콘솔 Session ready: session_id=...; azure.session_id 이 업데이트되었습니다. |
세션 생성이 완료되었습니다. |
| 루프 실행 중 |
config.json, metrics.jsonl, 학습 메트릭 및 궤적 HTML. |
샘플링, 채점 및 업데이트 작업이 진행 중입니다. |
| 저장된 상태 |
checkpoints.jsonl에 state_path/sampler_path개 항목이 저장되었습니다. |
저장 작업이 완료되었습니다. 저장 완료 전에 출력되는 체크포인트 이름에 의존하지 마세요. |
| 정상 완료 |
final 학습 배치 후 원장 행, 최종 검증 지표 및 성공적인 프로세스 종료. |
제한된 워크플로가 완료되었습니다. 경고를 검사하고 정리 작업을 별도로 확인하세요. |
이 새로운 동기 GSM8K 실행의 경우 첫 번째 업데이트 전에 초기 평가가 발생합니다. 최종 평가는 최종 저장을 따릅니다.
test/env/all/correct 및 test/env/all/total_episodes을(를) 확인하세요. 평가 중단 경고가 있는지 검사하세요. 인프라가 제대로 작동하더라도 0점은 형식이나 토큰 예산의 심각한 실패를 의미할 수 있습니다. 누락된 메트릭은 0 점수가 아닙니다.
이 2단계 검사를 위해 요구되는 정확도 향상 또는 약속된 런타임은 없습니다. 개선 효과를 주장하려면 고정된 제외 데이터 세트와 평가 지침을 사용하세요.
로컬 아티팩트 보기:
python dashboard_server.py --root ./runs
# Open http://127.0.0.1:8000/
참조: 대시보드를 실행합니다.
대시보드는 인증이 없고 프롬프트 및 응답을 표시할 수 있으므로 기본 루프백 주소로 유지하세요. 대시보드 터미널에서 Ctrl+C를 눌러 중지하세요. 이렇게 해도 원격 교육 세션은 종료되지 않습니다.
자원을 정리하세요
레시피는 루프가 종료될 때 학습 세션을 닫으려고 시도합니다. 정리 경고 메시지를 확인하세요. 출력된 Session closed 메시지만으로는 원격 컴퓨팅 리소스가 해제되었음을 확인할 수 없습니다.
기록된 세션 ID 및 샘플 세션 관리 가이드를 사용하여 세션을 검사하세요. 활성 상태로 유지되는 경우 필요한 검사점을 유지하고 자신이 소유한 세션만 언로드합니다.
복구를 위해 구성, 메트릭 및 검사점 참조를 유지합니다. 로컬 파일을 삭제해도 원격 컴퓨팅은 해제되지 않습니다. 이 레시피는 서비스 배포를 생성하지 않습니다.
다른 레시피도 시도해 보세요
이 빠른 시작을 완료한 후 미세 조정 샘플 리포지토리에서 다른 레시피를 사용해 보세요. Programmed Training 쿡북에는 지도 미세 조정, 선호도 최적화, 증류 및 기타 RL 작업에 대한 예제가 포함되어 있습니다.
각 레시피의 설정 지침 및 데이터 세트 지침을 따릅니다. 다른 실행을 시작하기 전에 모델 액세스 및 승인된 예산을 확인하세요.