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.
Consultez les éléments de FAQ suivants pour obtenir des réponses aux questions fréquemment posées sur l'hébergement SageMaker AI Inference.
Hébergement général
Les éléments de FAQ suivants répondent aux questions générales les plus fréquemment posées sur SageMaker AI Inference.
R : Une fois que vous avez créé et entraîné des modèles, Amazon SageMaker AI propose quatre options pour les déployer afin que vous puissiez commencer à faire des prédictions. L'inférence en temps réel convient aux charges de travail avec des exigences de latence de l'ordre de la milliseconde, des charges utiles allant jusqu'à 6 Mo et des durées de traitement allant jusqu'à 60 secondes. La transformation par lots est idéale pour les prédictions hors ligne sur de grands lots de données disponibles à l'avance. L'inférence asynchrone est conçue pour les charges de travail qui ne nécessitent pas une latence inférieure à la seconde, dont les charges utiles vont jusqu'à 1 Go et dont les durées de traitement vont jusqu'à 15 minutes. Avec Serverless Inference, vous pouvez déployer rapidement des modèles de machine learning pour l'inférence sans avoir à configurer ni à gérer l'infrastructure sous-jacente, et vous ne payez que pour la capacité de calcul utilisée pour traiter les demandes d'inférence, ce qui est idéal pour les charges de travail intermittentes.
R : Le schéma suivant peut vous aider à choisir une option de déploiement d'un modèle d'hébergement SageMaker AI.

Le schéma précédent vous guide tout au long du processus de décision suivant. Si vous souhaitez traiter les demandes par lots, vous pouvez choisir la transformation par lots. Sinon, si vous souhaitez recevoir une inférence pour chaque demande adressée à votre modèle, vous pouvez choisir l'inférence asynchrone, l'inférence sans serveur ou l'inférence en temps réel. Vous pouvez choisir l'inférence asynchrone si vous avez de longues durées de traitement ou des charges utiles importantes et que vous souhaitez mettre les demandes en file d'attente. Vous pouvez choisir l'inférence sans serveur si votre charge de travail présente un trafic imprévisible ou intermittent. Vous pouvez choisir l'inférence en temps réel si vous avez un trafic soutenu et que vous avez besoin d'une latence plus faible et constante pour vos demandes.
R : Pour optimiser vos coûts avec SageMaker AI Inference, vous devez choisir l'option d'hébergement adaptée à votre cas d'utilisation. Vous pouvez également utiliser les fonctionnalités d'inférence telles qu'Amazon SageMaker AI Savings Plans
R : Vous devez utiliser Amazon SageMaker Inference Recommender si vous avez besoin de recommandations pour la bonne configuration des terminaux afin d'améliorer les performances et de réduire les coûts. Auparavant, les scientifiques des données qui souhaitaient déployer leurs modèles devaient exécuter des tests comparatifs manuels pour sélectionner la bonne configuration de points de terminaison. Tout d'abord, ils devaient sélectionner le type d'instance de machine learning approprié parmi plus de 70 types d'instance disponibles en fonction des besoins en ressources de leurs modèles et de leurs exemples de charges utiles, puis optimiser le modèle pour tenir compte des différents matériels. Ensuite, ils devaient mener des tests de charge approfondis pour vérifier que les exigences de latence et de débit étaient respectées et que les coûts étaient faibles. Inference Recommender élimine cette complexité en vous aidant à réaliser les tâches suivantes :
-
Démarrer en quelques minutes grâce à une recommandation d'instance.
-
Mener des tests de charge sur différents types d'instances pour obtenir des recommandations sur votre configuration de points de terminaison en quelques heures.
-
Régler automatiquement les paramètres de conteneur et de serveur de modèle, et effectuer des optimisations de modèle pour un type d'instance donné.
R : Les points de terminaison SageMaker AI sont des points de terminaison HTTP REST qui utilisent un serveur Web conteneurisé, qui inclut un serveur modèle. Ces conteneurs sont responsables du chargement et du traitement des demandes pour un modèle de machine learning. Ils implémentent un serveur Web qui répond à /invocations
et /ping
sur le port 8080.
Les modèles de serveurs courants incluent TensorFlow Serving TorchServe et Multi Model Server. SageMaker Les conteneurs AI Framework intègrent ces modèles de serveurs.
R : Dans SageMaker AI Inference, tout est conteneurisé. SageMaker L'IA fournit des conteneurs gérés pour les frameworks populaires tels que TensorFlow SKlearn, et HuggingFace. Pour une liste complète et actualisée de ces images, consultez Images disponibles
Il existe parfois des frameworks personnalisés pour lesquels vous pouvez avoir besoin de créer un conteneur. Cette approche est connue sous le nom de Bring Your Own Container (Apportez votre propre conteneur) ou BYOC. Avec l'approche BYOC, vous fournissez l'image Docker pour configurer votre framework ou votre bibliothèque. Ensuite, vous envoyez l'image vers Amazon Elastic Container Registry (Amazon ECR) afin de pouvoir l'utiliser avec l'IA. SageMaker Pour un exemple d'approche BYOC, consultez la section Présentation des conteneurs pour Amazon AI
Au lieu de créer une image à partir de zéro, vous pouvez également étendre un conteneur. Vous pouvez prendre l'une des images de base fournies par l' SageMaker IA et y ajouter vos dépendances dans votre Dockerfile.
R : L' SageMaker IA offre la capacité d'apporter votre propre modèle de framework entraîné que vous avez formé en dehors de l' SageMaker IA et de le déployer sur n'importe quelle option d'hébergement SageMaker basée sur l'IA.
SageMaker L'IA vous oblige à empaqueter le modèle dans un model.tar.gz
fichier et à disposer d'une structure de répertoire spécifique. Chaque framework possède sa propre structure de modèle (consultez la question suivante pour voir des exemples de structures). Pour plus d'informations, consultez la documentation du SDK SageMaker Python pour TensorFlowPyTorch
Bien que vous puissiez choisir parmi des images de framework prédéfinies telles que TensorFlow PyTorch, et MXNet pour héberger votre modèle entraîné, vous pouvez également créer votre propre conteneur pour héberger vos modèles entraînés sur des points de terminaison d' SageMaker IA. Pour une procédure pas-à-pas, consultez l'exemple de bloc-notes Jupyter Création de votre propre conteneur d'algorithmes
R : SageMaker L'IA nécessite que les artefacts de votre modèle soient compressés dans un .tar.gz
fichier ou une archive tar. SageMaker AI extrait automatiquement ce .tar.gz
fichier dans le /opt/ml/model/
répertoire de votre conteneur. L'archive ne doit pas contenir de liens symboliques ni de fichiers inutiles. Si vous utilisez l'un des conteneurs du framework, tel que, ou TensorFlow PyTorch MXNet, le conteneur s'attend à ce que votre structure TAR soit la suivante :
TensorFlow
model.tar.gz/
|--[model_version_number]/
|--variables
|--saved_model.pb
code/
|--inference.py
|--requirements.txt
PyTorch
model.tar.gz/
|- model.pth
|- code/
|- inference.py
|- requirements.txt # only for versions 1.3.1 and higher
MXNet
model.tar.gz/
|- model-symbol.json
|- model-shapes.json
|- model-0000.params
|- code/
|- inference.py
|- requirements.txt # only for versions 1.6.0 and higher
R : ContentType
est le type MIME des données d'entrée dans le corps de la demande (type MIME des données que vous envoyez à votre point de terminaison). Le serveur de modèle utilise ContentType
pour déterminer s'il peut traiter ou non le type fourni.
Accept
est le type MIME de la réponse d'inférence (type MIME des données renvoyées par votre point de terminaison). Le serveur de modèle utilise le type Accept
pour déterminer s'il peut traiter ou non le renvoi du type fourni.
Les types MIME courants incluent text/csv
, application/json
et application/jsonlines
.
R : SageMaker L'IA transmet toute demande au conteneur modèle sans modification. Ce conteneur doit contenir la logique permettant de désérialiser la demande. Pour obtenir des informations sur les formats définis pour les algorithmes intégrés, consultez Formats de données courants à l'inférence. Si vous créez votre propre conteneur ou utilisez un conteneur SageMaker AI Framework, vous pouvez inclure la logique permettant d'accepter le format de demande de votre choix.
De même, l' SageMaker IA renvoie également la réponse sans modification, puis le client doit désérialiser la réponse. Dans le cas des algorithmes intégrés, les réponses sont renvoyées dans des formats spécifiques. Si vous créez votre propre conteneur ou utilisez un conteneur SageMaker AI Framework, vous pouvez inclure la logique permettant de renvoyer une réponse dans le format de votre choix.
Utilisez l'appel d'API InvokeEndpoint pour effectuer une inférence par rapport à votre point de terminaison.
Lorsque vous transmettez votre entrée sous forme de charge utile à l'API InvokeEndpoint
, vous devez fournir le type de données d'entrée correct que votre modèle attend. Lorsque vous transmettez une charge utile dans l'appel d'API InvokeEndpoint
, les octets de la demande sont transférés directement au conteneur de modèle. Par exemple, pour une image, vous pouvez utiliser application/jpeg
pour ContentType
et veiller à ce que votre modèle puisse effectuer une inférence sur ce type de données. Cela s'applique aux données JSON, CSV et vidéo, et à tout autre type d'entrée que vous pouvez être amené à traiter.
Les limites de taille de la charge utile sont un autre facteur à prendre en compte. En termes de points de terminaison en temps réel et sans serveur, la limite de la charge utile est de 6 Mo. Vous pouvez diviser votre vidéo en plusieurs images et appeler le point de terminaison avec chaque image individuellement. Autrement, si votre cas d'utilisation le permet, vous pouvez envoyer l'intégralité de la vidéo dans la charge utile à l'aide d'un point de terminaison asynchrone, qui prend en charge des charges utiles pouvant atteindre jusqu'à 1 Go.
Pour un exemple illustrant comment exécuter l'inférence par reconnaissance d'image sur de grandes vidéos à l'aide de l'inférence asynchrone, consultez ce billet de blog
Inférence en temps réel
Les éléments de FAQ suivants répondent aux questions les plus fréquemment posées sur l'inférence en temps réel basée sur l' SageMaker IA.
R : Vous pouvez créer un point de terminaison d' SageMaker IA à l'aide d'outils AWS pris en charge tels que le SDK SageMaker Python AWS SDKs, le AWS Management Console AWS CloudFormation, et le. AWS Cloud Development Kit (AWS CDK)
La création d'un point de terminaison comporte trois entités clés : un modèle d' SageMaker IA, une configuration de point de terminaison d' SageMaker IA et un point de terminaison d' SageMaker IA. Le modèle d' SageMaker IA pointe vers les données du modèle et l'image que vous utilisez. La configuration du point de terminaison définit vos variantes de production, qui peuvent inclure le type et le nombre d'instances. Vous pouvez ensuite utiliser l'appel d'API create_endpoint
R : Non, vous pouvez utiliser les différentes options AWS SDKs (voir Invoke/Create pour les options disponibles SDKs) ou même appeler APIs directement le site Web correspondant.
R : Un point de terminaison multimodèle est une option d'inférence en temps réel proposée par l' SageMaker IA. Avec les points de terminaison multimodèles, vous pouvez héberger des milliers de modèles derrière un seul point de terminaison. Un serveur multimodèle
R : SageMaker AI Real-Time Inference prend en charge diverses architectures de déploiement de modèles, telles que les points de terminaison multi-modèles, les points de terminaison multi-conteneurs et les pipelines d'inférence en série.
Points de terminaison multimodèles (MME) : ils permettent aux clients de déployer des milliers de modèles hyperpersonnalisés de manière économique. Tous les modèles sont déployés sur une flotte à ressources partagées. Les points de terminaison multimodèles fonctionnent le mieux quand les modèles ont une taille et une latence similaires et appartiennent au même framework de machine learning. Ces points de terminaison sont idéals lorsque vous n'avez pas besoin d'appeler le même modèle à tout moment. Vous pouvez charger dynamiquement les modèles respectifs sur le point de terminaison SageMaker AI pour répondre à votre demande.
Points de terminaison multi-conteneurs (MCE) : MCE permet aux clients de déployer 15 conteneurs différents avec des frameworks et des fonctionnalités de ML variés, sans démarrage à froid, tout en utilisant un seul point de terminaison. SageMaker Vous pouvez appeler directement ces conteneurs. Un point de terminaison multiconteneur est idéal lorsque vous souhaitez conserver tous les modèles en mémoire.
Pipelines d'inférence série (SIP) : vous pouvez utiliser un pipeline d'inférence série pour chaîner entre eux de 2 à 15 conteneurs sur un seul point de terminaison. Un pipeline d'inférence série convient principalement pour combiner le prétraitement et l'inférence de modèle dans un seul point de terminaison et pour les opérations à faible latence.
Serverless Inference
Les éléments de FAQ suivants répondent aux questions les plus fréquemment posées sur Amazon SageMaker Serverless Inference.
R : Déployez des modèles avec Amazon SageMaker Serverless Inference est une option de traitement spécialisé de modèle sans serveur qui facilite le déploiement et la mise à l'échelle de modèles de machine learning. Les points de terminaison d'inférence sans serveur démarrent automatiquement les ressources de calcul et les font évoluer en fonction du trafic, et vous évitent ainsi d'avoir à choisir un type d'instance, à exécuter la capacité allouée et à gérer la mise à l'échelle. En option, vous pouvez spécifier la mémoire requise pour votre point de terminaison sans serveur. Vous ne payez que pour la durée d'exécution du code d'inférence et la quantité de données traitées, et non pour les périodes d'inactivité.
R : L'inférence sans serveur simplifie l'expérience des développeurs en éliminant la nécessité d'allouer des capacités à l'avance et de gérer des politiques de dimensionnement. L'inférence sans serveur peut passer instantanément de dizaines à des milliers d'inférences en quelques secondes en fonction des modèles d'utilisation, ce qui la rend idéale pour les applications de machine learning avec un trafic intermittent ou imprévisible. Par exemple, un service de chatbot utilisé par une société de traitement des salaires connaît une augmentation des demandes de renseignements à la fin du mois, alors que le trafic est intermittent le reste du mois. Dans de tels scénarios, l'allocation d'instances pour le mois entier n'est pas rentable, car, au final, vous payez pour des périodes d'inactivité.
L'inférence sans serveur permet de gérer ces types de cas d'utilisation en fournissant une mise à l'échelle automatique et rapide dès le départ, sans qu'il vous soit nécessaire de prévoir le trafic à l'avance ni de gérer des politiques de dimensionnement. En outre, vous ne payez que pour le temps de calcul nécessaire à l'exécution de votre code d'inférence et au traitement des données, ce qui est idéal pour les charges de travail à trafic intermittent.
R : Votre point de terminaison sans serveur a une taille de mémoire RAM minimale de 1 024 Mo (1 Go) et la taille maximale que vous pouvez choisir est de 6 144 Mo (6 Go). Voici les tailles de mémoire parmi lesquelles vous pouvez choisir : 1 024 Mo, 2 048 Mo, 3 072 Mo, 4 096 Mo, 5 120 Mo ou 6 144 Mo. Serverless Inference attribue automatiquement des ressources de calcul proportionnelles à la mémoire que vous sélectionnez. Si vous choisissez une taille de mémoire plus grande, votre conteneur a accès à plus de CPUs v.
Choisissez la taille de la mémoire de votre point de terminaison en fonction de la taille de votre modèle. En règle générale, la taille de la mémoire doit être au moins aussi grande que celle de votre modèle. Vous devrez peut-être effectuer un benchmarking afin de choisir la bonne sélection de mémoire pour votre modèle en fonction de votre latence SLAs. Les augmentations de taille de mémoire ont des prix différents ; consultez la page de SageMaker tarification d'Amazon
Transformation par lots
Les éléments de FAQ suivants répondent aux questions les plus fréquemment posées sur SageMaker AI Batch Transform.
R : Pour des formats de fichiers spécifiques tels que CSV, Recordio et TFRecord SageMaker AI peut diviser vos données en mini-lots à enregistrement unique ou à enregistrements multiples et les envoyer sous forme de charge utile à votre modèle de conteneur. Lorsque la valeur de BatchStrategy
estMultiRecord
, SageMaker AI envoie le nombre maximum d'enregistrements pour chaque demande, jusqu'à la MaxPayloadInMB
limite. Lorsque la valeur de BatchStrategy
estSingleRecord
, l' SageMaker IA envoie des enregistrements individuels pour chaque demande.
R : Le délai d'expiration maximal pour la transformation par lots est de 3 600 secondes. La taille maximale de la charge utile pour un enregistrement (par mini-lot) est de 100 Mo.
R : Si vous utilisez l'API CreateTransformJob
, vous pouvez réduire le temps nécessaire à l'exécution des tâches de transformation par lots en utilisant des valeurs optimales pour des paramètres tels que MaxPayloadInMB
, MaxConcurrentTransforms
et BatchStrategy
. Le rapport qualité-prix idéal pour MaxConcurrentTransforms
est égal au nombre de travailleurs de calcul dans la tâche de transformation par lots. Si vous utilisez la console SageMaker AI, vous pouvez spécifier ces valeurs de paramètres optimales dans la section Configuration supplémentaire de la page de configuration de la tâche de transformation par lots. SageMaker L'IA trouve automatiquement les paramètres optimaux pour les algorithmes intégrés. Pour les algorithmes personnalisés, indiquez les valeurs suivantes par l'intermédiaire du point de terminaison execution-parameters.
R : La transformation par lots prend en charge les formats CSV et JSON.
Inférence asynchrone
Les éléments de FAQ suivants répondent aux questions générales courantes sur l'inférence asynchrone basée sur l' SageMaker IA.
R : L'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 avec des charges utiles de grandes tailles ou de longues durées de traitement qui doivent être traitées dès leur arrivée. En option, vous pouvez configurer des paramètres de mise à l'échelle automatique pour réduire le nombre d'instances à zéro lorsque vous ne traitez pas activement de demandes.
R : Amazon SageMaker AI prend en charge le dimensionnement automatique (autoscaling) de votre point de terminaison asynchrone. La mise à l'échelle automatique ajuste dynamiquement le nombre d'instances allouées pour un modèle en réponse aux modifications de la charge de travail. Contrairement aux autres modèles hébergés pris en charge par l' SageMaker IA, Asynchronous Inference vous permet également de réduire à zéro vos instances de points de terminaison asynchrones. Les requêtes reçues lorsqu'il n'y a aucune instance sont mises en file d'attente pour traitement une fois que le point de terminaison augmente. Pour plus d'informations, consultez Mettre automatiquement à l'échelle un point de terminaison asynchrone.
Amazon SageMaker Serverless Inference est également automatiquement réduit à zéro. Vous ne verrez pas cela, car l' SageMaker IA gère le dimensionnement de vos terminaux sans serveur, mais si vous ne rencontrez aucun trafic, la même infrastructure s'applique.