Skills
Chapter 31 of 37
Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders).
2 minutes · 368 words · 8 sections
Fine-tune models using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset prep, training, deployment, and evaluation.
Use this sub-skill when the user asks about:
Do NOT use for: General model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).
| Topic | File |
|---|---|
| SFT vs DPO vs RFT | references/training-types.md (opens in a new tab) |
| Hyperparameters | references/hyperparameters.md (opens in a new tab) |
| Data formats | references/dataset-formats.md (opens in a new tab) |
| Grader design (RFT) | references/grader-design.md (opens in a new tab) |
| Reward hacking | references/reward-hacking.md (opens in a new tab) |
| Agentic RFT (tools) | references/agentic-rft.md (opens in a new tab) |
| Deployment | references/deployment.md (opens in a new tab) |
| Training curves | references/training-curves.md (opens in a new tab) |
| Evaluation | references/evaluation.md (opens in a new tab) |
| Vision fine-tuning | references/vision-fine-tuning.md (opens in a new tab) |
| Large file uploads | references/large-file-uploads.md (opens in a new tab) |
| Platform gotchas | references/platform-gotchas.md (opens in a new tab) |
| Script | Purpose |
|---|---|
scripts/submit_training.py | Submit SFT/DPO/RFT jobs |
scripts/monitor_training.py | Poll job until completion |
scripts/calibrate_grader.py | Find optimal RFT pass_threshold |
scripts/check_training.py | Analyze curves, list checkpoints |
scripts/deploy_model.py | Deploy via ARM REST API |
scripts/evaluate_model.py | LLM judge evaluation |
scripts/convert_dataset.py | Convert between SFT/DPO/RFT formats |
scripts/generate_distillation_data.py | Generate synthetic training data |
scripts/score_dataset.py | Quality scoring on training data |
scripts/cleanup.py | Delete old files and deployments |
scripts/validate/ | Data validators (SFT, DPO, RFT) + stats |
scripts/validate/validate_sft.py| Task | Command |
|---|---|
| Validate SFT data | python scripts/validate/validate_sft.py data.jsonl |
| Submit SFT job | python scripts/submit_training.py --model gpt-4.1-mini --training-file train.jsonl --validation-file val.jsonl --type sft |
| Monitor job | python scripts/monitor_training.py --job-id ftjob-xxx |
| Analyze curves | python scripts/check_training.py --job-id ftjob-xxx |
| Deploy model | python scripts/deploy_model.py --model-id ft:gpt-4.1-mini:... --name my-eval |
| Evaluate model | python scripts/evaluate_model.py --deployment-name my-eval --test-file test.jsonl |
| Error | Cause | Fix |
|---|---|---|
| “API version not supported” | Older openai SDK on /v1/ endpoint | Upgrade to openai>=1.0 |
| “does not support fine-tuning with Standard TrainingType” | OSS model needs globalStandard | Use --use-rest flag or script auto-falls back |
| Job stuck in post-training eval | Under-provisioned tool endpoint (RFT) | Scale to S2+, enable Always On |
| “DeploymentNotReady” after ARM succeeds | ARM/data-plane race condition | Delete and recreate deployment, wait 5 min |
| Content safety block at deployment | PII-dense training data | Remove problematic document types |
Install this repository
npx skills add microsoft/azure-skills/plugin marketplace add microsoft/azure-skillsSkills install per repository, not per chapter — the CLI has no documented per-skill form, so we do not print one.
Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
skills/microsoft-foundry/finetuning/SKILL.mdmain, last pushed 7 August 2026.SKILL.md, not by matching a directory convention. 6 distinct layouts observed: skills/*/SKILL.md, skills/azure-app-onboard/*/SKILL.md, skills/azure-kubernetes/*/SKILL.md, skills/microsoft-foundry/*/SKILL.md, skills/microsoft-foundry/models/deploy-model/*/SKILL.md, skills/microsoft-foundry/models/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Microsoft, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./microsoft/azure-skills.md, and each chapter at its own .md URL.33 files · 179 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of chapter 31.
Documentation the agent loads on demand, rather than up front.
Executable code the skill can run.
scripts/11 files · 100 KBEverything else published alongside the skill.