Déployer des modèles Machine Learning sur AKS avec Kubeflow

Stockage Blob
Container Registry
Kubernetes Service

Idées de solution

Cet article présente une idée de solution. Si vous souhaitez que nous développions le contenu avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, adressez-nous vos commentaires GitHub.

Cet article présente une solution pour l’inférence en temps réel sur Azure Kubernetes Service (AKS).

Architecture

Diagramme d’architecture montrant comment des modèles Machine Learning sont déployés sur Azure Kubernetes Service (AKS).

Téléchargez un fichier Visio de cette architecture.

Flux de données

  1. Un modèle Machine Learning est empaqueté dans un conteneur et publié dans Azure Container Registry.
  2. Stockage Blob Azure héberge les jeux de données d’apprentissage et un modèle entraîné.
  3. Kubeflow est utilisé pour déployer des travaux d’entraînement sur AKS, notamment les serveurs de paramètres et les nœuds Worker.
  4. Kubeflow permet de mettre à disposition un modèle de production. Cette étape favorise un environnement cohérent en termes de test, de contrôle et de production.
  5. AKS prend en charge les machines virtuelles compatibles GPU.
  6. Les développeurs créent des fonctionnalités pour interroger le modèle qui s’exécute dans le cluster AKS.

Composants

  • Stockage Blob est un service qui fait partie de Stockage Azure. Stockage Blob offre un stockage d’objets cloud optimisé destiné à d’importants volumes de données non structurées.
  • Container Registry crée, stocke et gère les images conteneurs et peut stocker des modèles Machine Learning en conteneur.
  • AKS est un service Kubernetes hautement disponible, sécurisé et complètement managé. AKS facilite le déploiement et la gestion des applications conteneurisées.
  • Machine Learning est un environnement basé sur le cloud qui vous permet d’effectuer l’apprentissage, le déploiement, l’automatisation, la gestion et le suivi des modèles Machine Learning. Vous pouvez utiliser les modèles pour prévoir les comportement, les résultats et les tendances futurs.

Détails du scénario

AKS est utile lorsque vous avez besoin de déploiements de production à grande échelle de vos modèles de Machine Learning. Un déploiement à grande échelle implique un temps de réponse rapide, une mise à l’échelle automatique du service déployé et une journalisation. Pour plus d’informations, consultez Déployer un modèle sur un cluster Azure Kubernetes Service.

Cette solution utilise Kubeflow pour gérer le déploiement sur AKS. Les modèles Machine Learning s’exécutent sur des clusters AKS soutenus par des machines virtuelles compatibles GPU.

Cas d’usage potentiels

Cette solution s’applique aux scénarios qui utilisent AKS et des machines virtuelles compatibles GPU pour le Machine Learning. Voici quelques exemples :

  • Systèmes de classification d’images.
  • Algorithmes de traitement du langage naturel.
  • Solution de maintenance prédictive.

Étapes suivantes