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.
Inférence en temps réel à faible latence avec AWS PrivateLink
Amazon SageMaker AI fournit une faible latence pour les inférences en temps réel tout en maintenant une disponibilité et une résilience élevées grâce au déploiement multi-AZ. La latence des applications comprend deux composants principaux : la latence d'infrastructure ou de surcharge et la latence d'inférence de modèle. La réduction de la latence de surcharge ouvre de nouvelles possibilités, telles que le déploiement de modèles plus complexes, profonds et précis, et la division d'applications monolithiques en modules de microservices évolutifs et gérables. Vous pouvez réduire la latence pour les inférences en temps réel grâce à l' SageMaker IA à l'aide d'un AWS PrivateLink déploiement. Avec AWS PrivateLink, vous pouvez accéder en privé à toutes les opérations d' SageMaker API depuis votre cloud privé virtuel (VPC) de manière évolutive en utilisant les points de terminaison VPC de l'interface. Un point de terminaison VPC d'interface est une interface réseau élastique de votre sous-réseau avec des adresses IP privées qui sert de point d'entrée pour tous les appels d' SageMaker API.
Par défaut, un point de terminaison d' SageMaker IA comportant deux instances ou plus est déployé dans au moins deux zones de AWS disponibilité (AZ) et les instances de n'importe quelle zone de disponibilité peuvent traiter les invocations. Il en résulte un ou plusieurs « sauts » de zone de disponibilité qui contribuent à la latence de surcharge. Un déploiement d' AWS PrivateLink avec l'option privateDNSEnabled définie comme true atténue cela en atteignant deux objectifs :
-
Il conserve tout le trafic d'inférence au sein de votre VPC.
-
Il conserve le trafic d'invocation dans la même zone de disponibilité que le client qui l'a créé lors de l'utilisation de SageMaker Runtime. Cela évite les « sauts » entre les zones de disponibilité, ce qui réduit la latence de surcharge.
Les sections suivantes de ce guide montrent comment réduire la latence pour les inférences en temps réel avec le déploiement d' AWS PrivateLink .
Rubriques
Déploiement AWS PrivateLink
Pour déployer AWS PrivateLink, créez d'abord un point de terminaison d'interface pour le VPC à partir duquel vous vous connectez aux points de terminaison SageMaker AI. Suivez les étapes décrites dans Accéder à un AWS service à l'aide d'un point de terminaison VPC d'interface pour créer le point de terminaison d'interface. Lors de la création du point de terminaison, sélectionnez les paramètres suivants dans l'interface de la console :
-
Cochez la case Activer le nom DNS sous Paramètres supplémentaires.
-
Sélectionnez les groupes de sécurité appropriés et les sous-réseaux à utiliser avec les points de terminaison SageMaker AI.
Assurez-vous également que les noms d'hôtes DNS sont activés sur le VPC. Pour plus d'informations sur la modification d'attributs DNS pour votre VPC, consultez Afficher et mettre à jour les attributs DNS pour votre VPC.
Déployez un point de terminaison SageMaker AI dans un VPC
Pour obtenir une faible latence, créez un point de terminaison SageMaker AI en utilisant les mêmes sous-réseaux que ceux que vous avez spécifiés lors du déploiement AWS PrivateLink. Ces sous-réseaux doivent correspondre aux zones de disponibilité de votre application cliente, comme indiqué dans l'extrait de code suivant.
model_name ='<the-name-of-your-model>'vpc ='vpc-0123456789abcdef0'subnet_a ='subnet-0123456789abcdef0'subnet_b ='subnet-0123456789abcdef1'security_group ='sg-0123456789abcdef0'create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { 'Image': container, 'ModelDataUrl': model_url }, VpcConfig = { 'SecurityGroupIds': [security_group], 'Subnets': [subnet_a, subnet_b], }, )
L'extrait de code susmentionné suppose que vous avez suivi les étapes figurant dans Avant de commencer.
Invoquer le point de SageMaker terminaison AI
Enfin, spécifiez le client SageMaker Runtime et invoquez le point de terminaison SageMaker AI comme indiqué dans l'extrait de code suivant.
endpoint_name ='<endpoint-name>'runtime_client = boto3.client('sagemaker-runtime') response = runtime_client.invoke_endpoint(EndpointName=endpoint_name, ContentType='text/csv', Body=payload)
Pour plus d'informations sur la configuration du point de terminaison, consultez Déploiement de modèles pour l’inférence en temps réel.