Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Machine Learning vous permet d’implémenter des points de terminaison et des déploiements batch pour effectuer une inférence asynchrone et de longue durée avec des modèles et des pipelines d'apprentissage automatique. Lorsque vous entraînez un modèle ou un pipeline Machine Learning, vous devez le déployer afin que d’autres puissent l’utiliser avec de nouvelles données d’entrée pour générer des prédictions. Ce processus de génération de prédictions avec le modèle ou le pipeline est appelé inférence.
Les points de terminaison batch reçoivent des pointeurs vers des données et exécutent des travaux de manière asynchrone pour traiter les données en parallèle sur les clusters de calcul. Les points de terminaison Batch stockent les sorties dans un magasin de données pour une analyse plus approfondie. Utilisez des points de terminaison par lots quand :
- Vous avez des modèles ou des pipelines coûteux qui nécessitent plus de temps pour s’exécuter.
- Vous souhaitez opérationnaliser des pipelines Machine Learning et réutiliser des composants.
- Vous devez effectuer une inférence sur de grandes quantités de données, distribuées dans plusieurs fichiers.
- Vous n’avez pas besoin de faible latence.
- Les entrées de votre modèle sont stockées dans un compte de stockage ou dans une ressource de données Azure Machine Learning.
- Vous pouvez tirer parti de la parallélisation.
Déploiements par lots
Un déploiement est un ensemble de ressources et de calculs requis pour implémenter les fonctionnalités que le point de terminaison fournit. Un point de terminaison peut héberger plusieurs déploiements, chacun avec sa propre configuration, découplant l’interface de point de terminaison à partir des détails de l’implémentation du déploiement. Lorsqu’un point de terminaison de lot est appelé, il achemine automatiquement le client vers son déploiement par défaut. Ce déploiement par défaut peut être configuré et modifié à tout moment.
Il est possible de réaliser deux types de déploiements dans les points de terminaison batch d'Azure Machine Learning :
Déploiement de modèle
Le déploiement de modèle permet l’opérationnalisation de l’inférence de modèle à grande échelle, ce qui vous permet de traiter de grandes quantités de données de manière asynchrone et à faible latence. Azure Machine Learning instrumente automatiquement l’extensibilité en fournissant la parallélisation des processus d’inférence sur plusieurs nœuds d’un cluster de calcul.
Utilisez le déploiement de modèles quand :
- Vous avez des modèles coûteux qui nécessitent plus de temps pour exécuter l’inférence.
- Vous devez effectuer une inférence sur de grandes quantités de données, distribuées dans plusieurs fichiers.
- Vous n’avez pas besoin de faible latence.
- Vous pouvez tirer parti de la parallélisation.
L’avantage principal des déploiements de modèles est que vous pouvez utiliser les mêmes ressources que celles déployées pour l’inférence en temps réel sur des points de terminaison en ligne, mais maintenant, vous pouvez les exécuter à grande échelle par lots. Si votre modèle nécessite un prétraitement simple ou un post-traitement, vous pouvez créer un script de scoring qui effectue les transformations de données requises.
Pour créer un déploiement de modèle dans un point de terminaison batch, vous devez spécifier les éléments suivants :
- Modèle
- Cluster de calcul
- Script de scoring (facultatif pour les modèles MLflow)
- Environnement (facultatif pour les modèles MLflow)
Déploiement de composants de pipeline
Le déploiement de composants de pipeline permet l'opérationnalisation des graphiques de traitement complets (ou des pipelines) pour effectuer une inférence par lots de manière à faible latence et asynchrone.
Utilisez le déploiement de composants de pipeline lorsque :
- Vous devez opérationnaliser des graphiques de calcul complets qui peuvent être décomposés en plusieurs étapes.
- Vous devez réutiliser des composants à partir de pipelines d’apprentissage dans votre pipeline d’inférence.
- Vous n’avez pas besoin de faible latence.
Le principal avantage des déploiements de composants de pipeline est la réutilisabilité des composants qui existent déjà dans votre plateforme et la possibilité d’opérationnaliser des routines d’inférence complexes.
Pour créer un déploiement de composant de pipeline dans un point de terminaison par lots, vous devez spécifier les éléments suivants :
- Composant de pipeline
- Configuration du cluster de calcul
Les points de terminaison Batch vous permettent également de créer des déploiements de composants de pipeline à partir d’un travail de pipeline existant. Lorsque vous effectuez cette opération, Azure Machine Learning crée automatiquement un composant de pipeline hors du travail. Cela simplifie l’utilisation de ces types de déploiements. Toutefois, il est recommandé de créer explicitement des composants de pipeline pour simplifier votre pratique MLOps.
Gestion des coûts
L’appel d’un point de terminaison de traitement par lots déclenche une tâche d’inférence par lots asynchrone. Azure Machine Learning approvisionne automatiquement les ressources de calcul au démarrage du travail et les désalloue automatiquement à mesure que le travail se termine. De cette façon, vous payez uniquement pour le calcul lorsque vous l’utilisez.
Conseil
Lorsque vous déployez des modèles, vous pouvez remplacer les paramètres de ressources de calcul (comme le nombre d’instances) et les paramètres avancés (comme la mini taille de lot, le seuil d’erreur, et ainsi de suite) pour chaque travail d’inférence de lot individuel. En tirant parti de ces configurations spécifiques, vous pouvez accélérer l’exécution et réduire les coûts.
Les points de terminaison batch peuvent également s’exécuter sur des machines virtuelles de faible priorité. Les points de terminaison par lot peuvent effectuer une récupération automatique à partir de machines virtuelles désallouées et reprendre le travail à partir du point où il s'est arrêté lors du déploiement de modèles pour l'inférence. Pour plus d’informations sur l’utilisation de machines virtuelles de faible priorité pour réduire le coût des charges de travail d’inférence par lots, consultez Utiliser des machines virtuelles de faible priorité dans les points de terminaison de lot.
Enfin, Azure Machine Learning ne vous facture pas pour les points de terminaison de traitement par lots ou les déploiements par lots eux-mêmes. Vous pouvez donc organiser vos points de terminaison et vos déploiements comme étant le mieux adapté à votre scénario. Les points de terminaison et les déploiements peuvent utiliser des clusters indépendants ou partagés, ce qui vous permet d’obtenir un contrôle précis sur le calcul que les travaux consomment. Utilisez la mise à l’échelle zéro dans les clusters pour vous assurer qu’aucune ressource n’est consommée lorsqu’elles sont inactives.
Simplifier la pratique MLOps
Les points de terminaison Batch peuvent gérer plusieurs déploiements sous le même point de terminaison, ce qui vous permet de modifier l’implémentation du point de terminaison sans modifier l’URL que vos consommateurs utilisent pour l’appeler.
Vous pouvez ajouter, supprimer et mettre à jour des déploiements sans affecter le point de terminaison lui-même.
Sources de données flexibles et stockage
Les points de terminaison Batch lisent et écrivent des données directement à partir du stockage. Vous pouvez spécifier les sources de données Azure Machine Learning, les actifs de données Azure Machine Learning, ou les comptes de stockage en tant qu’entrées. Pour plus d’informations sur les options d’entrée prises en charge et sur la façon de les spécifier, consultez Créer des travaux et des données d’entrée sur des points de terminaison de traitement par lots.
Sécurité
Les points de terminaison Batch fournissent toutes les fonctionnalités requises pour gérer les charges de travail au niveau de production dans un environnement d'entreprise. Ils prennent en charge la mise en réseau privée sur les espaces de travail sécurisés et l’authentification Microsoft Entra, à l’aide d’un principal d’utilisateur (comme un compte d’utilisateur) ou d’un principal de service (comme une identité managée ou non managée). Les travaux générés par un point de terminaison de traitement par lots s’exécutent sous l’identité de l’appelant, ce qui vous donne la possibilité d’implémenter n’importe quel scénario. Pour plus d’informations sur l’autorisation lors de l’utilisation de points de terminaison de traitement par lots, consultez Comment s’authentifier sur les points de terminaison de traitement par lots.
Contenu connexe
- Déployer des modèles avec des points de terminaison de traitement par lots
- Déployer des pipelines avec des points de terminaison de lot
- Déployer des modèles MLFlow dans des déploiements par lots
- Créer des tâches et des données d'entrée dans des points de terminaison par lot
- Isolation réseau pour les endpoints Batch