Déploiement de modèles pour l'inférence - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déploiement de modèles pour l'inférence

Avec Amazon SageMaker, vous pouvez commencer à obtenir des prédictions, ou des inférences, à partir de vos modèles d'apprentissage automatique entraînés. SageMaker propose une large sélection d'options de déploiement d'infrastructures et de modèles de machine learning pour répondre à tous vos besoins en matière d'inférence de machine learning. Avec SageMaker Inference, vous pouvez étendre le déploiement de vos modèles, gérer les modèles plus efficacement en production et réduire la charge opérationnelle. SageMaker vous propose diverses options d'inférence, telles que des points de terminaison en temps réel pour obtenir une inférence à faible latence, des points de terminaison sans serveur pour une infrastructure entièrement gérée et un dimensionnement automatique, et des points de terminaison asynchrones pour des lots de demandes. En tirant parti de l'option d'inférence adaptée à votre cas d'utilisation, vous pouvez garantir un déploiement et une inférence efficaces et modélisés.

Choix d'une fonctionnalité

Il existe plusieurs cas d'utilisation pour déployer des modèles de machine learning avec SageMaker. Cette section décrit ces cas d'utilisation, ainsi que les SageMaker fonctionnalités que nous recommandons pour chaque cas d'utilisation.

Cas d’utilisation

Voici les principaux cas d'utilisation du déploiement de modèles ML avec SageMaker.

  • Cas d'utilisation 1 : Déployer un modèle d'apprentissage automatique dans un environnement à code faible ou nul. Pour les débutants ou les novices SageMaker, vous pouvez déployer des modèles préentraînés à l'aide d'Amazon SageMaker JumpStart via l'interface Amazon SageMaker Studio, sans avoir besoin de configurations complexes.

  • Cas d'utilisation 2 : utilisez du code pour déployer des modèles de machine learning avec plus de flexibilité et de contrôle. Les praticiens expérimentés du ML peuvent déployer leurs propres modèles avec des paramètres personnalisés adaptés aux besoins de leurs applications à l'aide de la ModelBuilder classe SageMaker PythonSDK, qui fournit un contrôle précis sur divers paramètres, tels que les types d'instances, l'isolation du réseau et l'allocation des ressources.

  • Cas d'utilisation 3 : Déployez des modèles de machine learning à grande échelle. Pour les utilisateurs avancés et les organisations qui souhaitent gérer des modèles à grande échelle en production, utilisez les AWS SDK for Python (Boto3) outils Infrastructure as Code (IaC) et CI/CD souhaités pour provisionner les ressources et automatiser la gestion des ressources. AWS CloudFormation

Le tableau suivant décrit les principales considérations et les compromis relatifs aux SageMaker fonctionnalités correspondant à chaque cas d'utilisation.

Cas d'utilisation 1 Cas d'utilisation 2 Cas d'utilisation 3
SageMaker fonctionnalité Utilisez-le JumpStart dans Studio pour accélérer le déploiement de votre modèle de base. Déployez des modèles ModelBuilder à l'aide de SageMaker Python SDK. Déployez et gérez des modèles à grande échelle avec AWS CloudFormation.
Description Utilisez l'interface utilisateur de Studio pour déployer des modèles préentraînés à partir d'un catalogue vers des points de terminaison d'inférence préconfigurés. Cette option est idéale pour les data scientists citoyens ou pour tous ceux qui souhaitent déployer un modèle sans configurer de paramètres complexes. Utilisez la ModelBuilder classe d'Amazon SageMaker Python SDK pour déployer votre propre modèle et configurer les paramètres de déploiement. Cette option est idéale pour les data scientists expérimentés ou pour tous ceux qui ont leur propre modèle à déployer et qui ont besoin d'un contrôle précis. Utilisation de AWS CloudFormation l'infrastructure en tant que code (IaC) pour le contrôle programmatique et l'automatisation pour le déploiement et la gestion des SageMaker modèles. Cette option est idéale pour les utilisateurs expérimentés qui ont besoin de déploiements cohérents et reproductibles.
Optimisé pour Déploiements rapides et rationalisés de modèles open source populaires Déploiement de vos propres modèles Gestion continue des modèles en production
Considérations Manque de personnalisation des paramètres du conteneur et des besoins spécifiques des applications Aucune interface utilisateur, vous devez être à l'aise avec le développement et la maintenance du code Python Nécessite une gestion de l'infrastructure et des ressources organisationnelles, ainsi qu'une connaissance du AWS SDK for Python (Boto3) ou des AWS CloudFormation modèles.
Environnement recommandé Un SageMaker domaine Un environnement de développement Python configuré avec vos AWS informations d'identification et le SageMaker Python SDK installé, ou un environnement SageMaker IDE tel que SageMaker JupyterLab Le AWS CLI, un environnement de développement local et des outils Infrastructure as Code (IaC) et CI/CD

Options supplémentaires

SageMaker propose différentes options pour vos cas d'utilisation d'inférence, vous permettant de choisir l'étendue technique et la profondeur de vos déploiements :

  • Déploiement d'un modèle sur un terminal. Lors du déploiement de votre modèle, considérez les options suivantes :

    • Inférence en temps réel. L'inférence en temps réel est idéale pour les charges de travail d'inférence nécessitant une faible latence interactive.

    • Déployez des modèles avec Amazon SageMaker Serverless Inference. Utilisez Serverless Inference pour déployer des modèles sans configurer ni gérer aucune infrastructure sous-jacente. Cette option est idéale pour les charges de travail soumises à des périodes d'inactivité entre les pics de trafic et qui peuvent tolérer les démarrages à froid.

    • Inférence asynchrone. met en file d'attente les demandes entrantes et les traite de manière asynchrone. Cette option est idéale pour les demandes comportant une charge utile importante (jusqu'à 1 Go), des délais de traitement longs (jusqu'à une heure d' toAsynchronous inférence) et des exigences de latence en temps quasi réel

  • Optimisation des coûts. Pour optimiser vos coûts d'inférence, envisagez les options suivantes :

    • Optimisation des performances des modèles avec SageMaker Neo. Utilisez SageMaker Neo pour optimiser et exécuter vos modèles d'apprentissage automatique avec de meilleures performances et une meilleure efficacité, ce qui vous aide à minimiser les coûts de calcul en optimisant automatiquement les modèles pour qu'ils s'exécutent dans des environnements tels que les puces AWS Inferentia.

    • Mise à l'échelle automatique des SageMaker modèles Amazon. Utilisez l'autoscaling pour ajuster dynamiquement les ressources de calcul de vos terminaux en fonction des modèles de trafic entrant, ce qui vous permet d'optimiser les coûts en ne payant que pour les ressources que vous utilisez à un moment donné.