Bonnes pratiques pour le déploiement de modèles sur les services SageMaker d'hébergement - 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.

Bonnes pratiques pour le déploiement de modèles sur les services SageMaker d'hébergement

Lorsque vous hébergez des modèles utilisant des services SageMaker d'hébergement, tenez compte des points suivants :

  • Généralement, une application cliente envoie des demandes au SageMaker HTTPS point de terminaison pour obtenir des déductions à partir d'un modèle déployé. Vous pouvez également envoyer des demandes à ce point de terminaison à partir de votre bloc-notes Jupyter pendant les tests.

  • Vous pouvez déployer un modèle entraîné SageMaker sur votre propre cible de déploiement. Pour ce faire, vous devez connaître le format d'algorithme spécifique des artefacts de modèle qui ont été générés par l'entraînement du modèle. Pour plus d'informations sur les formats de sortie, consultez la section correspondant à l'algorithme que vous utilisez dans Formats de données courants pour l'entraînement.

  • Vous pouvez déployer plusieurs variantes d'un modèle sur le même SageMaker HTTPS point de terminaison. Ceci est utile pour tester les variations d'un modèle en production. Supposons, par exemple, que vous avez déployé un modèle en production. Vous souhaitez tester une variation de ce modèle en dirigeant une petite quantité de trafic, disons 5 %, vers le nouveau modèle. Pour ce faire, créez une configuration de point de terminaison qui décrit les deux variantes du modèle. Vous spécifiez la variante ProductionVariant dans votre demande de configuration CreateEndPointConfig. Pour de plus amples informations, veuillez consulter ProductionVariant.

  • Vous pouvez configurer une ProductionVariant pour qu'elle utilise Application Auto Scaling. Pour plus d'informations sur la configuration de la mise à l'échelle automatique, consultez Faites évoluer automatiquement les SageMaker modèles Amazon.

  • Vous pouvez modifier un point de terminaison sans mettre hors service les modèles qui sont déjà déployés en production. Par exemple, vous pouvez ajouter de nouvelles variantes au modèle, mettre à jour les configurations d'instance de calcul ML de variantes de modèle existantes ou modifier la distribution du trafic entre les variantes de modèle. Pour modifier un point de terminaison, vous devez fournir une nouvelle configuration de point de terminaison. SageMaker implémente les modifications sans aucun temps d'arrêt. Pour plus d'informations, voir UpdateEndpointet UpdateEndpointWeightsAndCapacities.

  • La modification ou la suppression d'artefacts de modèle ou la modification de code d'inférence après le déploiement d'un modèle entraîne des résultats imprévisibles. Si vous avez besoin de modifier ou de supprimer des artefacts de modèle ou de modifier du code d'inférence, modifiez le point de terminaison en fournissant une nouvelle configuration de point de terminaison. Après avoir fourni la nouvelle configuration de point de terminaison, vous pouvez modifier ou supprimer les artefacts de modèle qui correspondent à l'ancienne configuration de point de terminaison.

  • Si vous souhaitez obtenir des inférences sur des jeux de données entiers, pensez à utiliser la transformation par lots comme équivalent aux services d'hébergement. Pour plus d'informations, veuillez consulter Utilisez la transformation par lots pour exécuter l'inférence avec Amazon SageMaker

Déploiement de plusieurs instances entre les zones de disponibilité

Créez des points de terminaison robustes lors de l'hébergement de votre modèle. SageMakerles points de terminaison peuvent aider à protéger votre application contre les pannes de zone de disponibilité et les défaillances d'instance. En cas de panne ou de défaillance d'une instance, tente SageMaker automatiquement de répartir vos instances entre les zones de disponibilité. C'est pourquoi nous vous recommandons vivement de déployer plusieurs instances pour chaque point de terminaison de production.

Si vous utilisez un Amazon Virtual Private Cloud (VPC), configurez-le VPC avec au moins deux Subnets, chacun dans une zone de disponibilité différente. En cas de panne ou de défaillance d'une instance, Amazon tente SageMaker automatiquement de répartir vos instances entre les zones de disponibilité.

En général, pour obtenir des performances plus fiables, utilisez plus de petits types d'instances dans des zones de disponibilité différentes pour héberger vos points de terminaison.

Déployez des composants d'inférence pour une haute disponibilité. Outre la recommandation ci-dessus concernant les numéros d'instance, pour atteindre une disponibilité de 99,95 %, assurez-vous que vos composants d'inférence sont configurés pour contenir plus de deux copies. En outre, dans votre politique de dimensionnement automatique géré, définissez également le nombre minimum d'instances à deux.