Introduction
Azure Machine Learning permet de créer, entraîner et déployer des modèles de machine learning à grande échelle. Ce tutoriel vous guide pas à pas depuis la création d'un espace de travail jusqu'au déploiement d'un modèle simple. Vous apprendrez à utiliser le SDK Python et l'interface CLI pour automatiser vos workflows. Ce guide est conçu pour les débutants qui souhaitent passer rapidement à la pratique avec du code fonctionnel et prêt à l'emploi.
Prérequis
- Compte Azure actif avec un abonnement
- Python 3.10 ou supérieur installé
- Azure CLI version 2.50+
- Connaissances de base en Python et machine learning
Installation Azure CLI
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login
az extension add -n mlCette commande installe Azure CLI et l'extension Machine Learning. Elle permet ensuite de gérer les ressources Azure directement depuis le terminal.
Création du workspace
az group create --name rg-ml-demo --location francecentral
az ml workspace create --name ws-ml-demo --resource-group rg-ml-demoCes commandes créent un groupe de ressources et un workspace Azure ML. Le workspace centralise tous vos expérimentations, modèles et endpoints.
Configuration du SDK Python
pip install azure-ai-ml azure-identity pandas scikit-learnInstallation des bibliothèques nécessaires pour interagir avec Azure ML et entraîner un modèle simple avec scikit-learn.
Script d'entraînement
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
import joblib
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = RandomForestClassifier()
model.fit(X_train, y_train)
joblib.dump(model, 'model.pkl')
print('Modèle entraîné avec succès')Script complet qui charge le dataset Iris, entraîne un RandomForest et sauvegarde le modèle. Il est prêt à être exécuté dans un job Azure ML.
Soumission du job
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
from azure.ai.ml.entities import CommandJob
ml_client = MLClient(DefaultAzureCredential(), subscription_id='votre-id', resource_group_name='rg-ml-demo', workspace_name='ws-ml-demo')
job = CommandJob(command='python train.py', code='.', environment='azureml:AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest', compute='cpu-cluster')
ml_client.jobs.create_or_update(job)Ce code soumet le script d'entraînement comme job Azure ML. Remplacez subscription_id par votre identifiant réel.
Déploiement du modèle
from azure.ai.ml.entities import ManagedOnlineEndpoint, ManagedOnlineDeployment
endpoint = ManagedOnlineEndpoint(name='iris-endpoint', auth_mode='key')
ml_client.online_endpoints.begin_create_or_update(endpoint)
deployment = ManagedOnlineDeployment(name='blue', endpoint_name='iris-endpoint', model='model.pkl', instance_type='Standard_DS2_v2', instance_count=1)
ml_client.online_deployments.begin_create_or_update(deployment)Création d'un endpoint managé et déploiement du modèle en production avec une instance CPU. Le endpoint est accessible via API REST.
Bonnes pratiques
- Toujours versionner vos modèles et datasets
- Utiliser des environnements gérés pour la reproductibilité
- Configurer des compute clusters avec scaling automatique
- Surveiller les métriques avec Azure Monitor
- Protéger les endpoints avec des clés d'authentification
Erreurs courantes
- Oublier de créer un compute cluster avant de soumettre un job
- Ne pas gérer correctement les dépendances dans l'environnement
- Utiliser des chemins locaux au lieu de datastores Azure
- Ignorer les permissions RBAC sur le workspace
Pour aller plus loin
Découvrez nos formations complètes sur Azure et le Machine Learning sur Learni Group.