Affinage sur Azure AI Foundry
Affinez les modèles en utilisant SFT (supervisé), DPO (préférence) ou RFT (renforcement avec évaluateurs). Couvre la préparation des données, l'entraînement, le déploiement et l'évaluation.
Quand l'utiliser
Utilisez cette sous-compétence quand l'utilisateur demande :
- Affiner un modèle (SFT, DPO ou RFT)
- Préparer, valider ou formater les données d'entraînement
- Soumettre, surveiller ou diagnostiquer les travaux d'entraînement
- Calibrer les évaluateurs ou les seuils de réussite pour RFT
- Déployer ou évaluer un modèle affiné
- Choisir entre les types d'entraînement (SFT vs DPO vs RFT)
- Distillation, génération de données synthétiques ou score de qualité des données
- Téléchargements de fichiers volumineux pour les données d'entraînement
- Nettoyage des ressources d'affinage (fichiers, déploiements)
Ne l'utilisez PAS pour : Déploiement général sans affinage (utilisez deploy-model), création d'agents (utilisez agents), optimisation de prompt sans entraînement (utilisez prompt-optimizer).
Workflows
Références
Scripts
| Script |
Objectif |
scripts/submit_training.py |
Soumettre des jobs SFT/DPO/RFT |
scripts/monitor_training.py |
Interroger le job jusqu'à la fin |
scripts/calibrate_grader.py |
Trouver le pass_threshold optimal pour RFT |
scripts/check_training.py |
Analyser les courbes, lister les checkpoints |
scripts/deploy_model.py |
Déployer via ARM REST API |
scripts/evaluate_model.py |
Évaluation avec juge LLM |
scripts/convert_dataset.py |
Convertir entre les formats SFT/DPO/RFT |
scripts/generate_distillation_data.py |
Générer des données d'entraînement synthétiques |
scripts/score_dataset.py |
Score de qualité sur les données d'entraînement |
scripts/cleanup.py |
Supprimer les anciens fichiers et déploiements |
scripts/validate/ |
Validateurs de données (SFT, DPO, RFT) + stats |
Règles
- Toujours établir une baseline d'abord — évaluer le modèle de base avant l'affinage
- Valider les données avant de soumettre — exécuter
scripts/validate/validate_sft.py
- Calibrer les évaluateurs RFT — cibler 25-50 % de taux d'échec sur le modèle de base
- Évaluer les checkpoints — ne pas déployer aveuglément le dernier
- Mesurer le coût en tokens aux côtés de la précision lors de la comparaison des modèles
Référence rapide
| Tâche |
Commande |
| Valider les données SFT |
python scripts/validate/validate_sft.py data.jsonl |
| Soumettre un job SFT |
python scripts/submit_training.py --model gpt-4.1-mini --training-file train.jsonl --validation-file val.jsonl --type sft |
| Surveiller le job |
python scripts/monitor_training.py --job-id ftjob-xxx |
| Analyser les courbes |
python scripts/check_training.py --job-id ftjob-xxx |
| Déployer le modèle |
python scripts/deploy_model.py --model-id ft:gpt-4.1-mini:... --name my-eval |
| Évaluer le modèle |
python scripts/evaluate_model.py --deployment-name my-eval --test-file test.jsonl |
Gestion des erreurs
| Erreur |
Cause |
Solution |
| "API version not supported" |
Ancien SDK openai sur endpoint /v1/ |
Mettre à jour vers openai>=1.0 |
| "does not support fine-tuning with Standard TrainingType" |
Modèle OSS nécessite globalStandard |
Utiliser le flag --use-rest ou le script revient automatiquement |
| Job bloqué en post-training eval |
Endpoint outil sous-provisionné (RFT) |
Escalader vers S2+, activer Always On |
| "DeploymentNotReady" après succès ARM |
Condition de concurrence ARM/data-plane |
Supprimer et recréer le déploiement, attendre 5 min |
| Blocage de sécurité du contenu au déploiement |
Données d'entraînement denses en PII |
Supprimer les types de documents problématiques |