Optimisation des inférences pour les modèles Amazon SageMaker AI - Amazon SageMaker AI

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.

Optimisation des inférences pour les modèles Amazon SageMaker AI

Avec Amazon SageMaker AI, vous pouvez améliorer les performances de vos modèles d’IA générative en appliquant des techniques d’optimisation des inférences. En optimisant vos modèles, vous pouvez obtenir un meilleur rapport coût-performance pour votre cas d’utilisation. Lorsque vous optimisez un modèle, vous choisissez quelles techniques d’optimisation appliquer parmi celles prises en charge, telles que la quantification, le décodage spéculatif et la compilation. Une fois votre modèle optimisé, vous pouvez exécuter une évaluation pour consulter les métriques de performance en termes de latence, de débit et de prix.

Pour de nombreux modèles, SageMaker AI propose également plusieurs versions préoptimisées, chacune répondant aux différents besoins des applications en termes de latence et de débit. Pour de tels modèles, vous pouvez déployer l’une des versions optimisées sans avoir préalablement optimisé le modèle vous-même.

Techniques d’optimisation

Amazon SageMaker AI prend en charge les techniques d’optimisation suivantes.

Compilation

La compilation optimise le modèle pour obtenir les meilleures performances disponibles sur le type de matériel choisi sans perte de précision. Vous pouvez appliquer la compilation de modèle afin d’optimiser les LLM pour le matériel accéléré, tel que les instances GPU, les instances AWS Trainium ou les instances AWS Inferentia.

Lorsque vous optimisez un modèle via la compilation, vous bénéficiez d’une compilation anticipée. Vous réduisez le temps de déploiement du modèle et la latence d’autoscaling, car les poids du modèle ne nécessitent pas de compilation en flux tendu quand le modèle est déployé sur une nouvelle instance.

Si vous choisissez de compiler votre modèle pour une instance GPU, SageMaker AI utilise la bibliothèque TensorRT-LLM pour exécuter la compilation. Si vous choisissez de compiler votre modèle pour une instance AWS Trainium ou AWS Inferentia, SageMaker AI utilise le kit AWS Neuron SDK pour exécuter la compilation.

Quantification

La quantification est une technique qui permet de réduire les exigences matérielles d’un modèle en utilisant un type de données moins précis pour les poids et les activations. Après avoir optimisé un modèle avec la quantification, vous pouvez l’héberger sur des GPU moins coûteux et plus disponibles. Cependant, le modèle quantifié peut être moins précis que le modèle source que vous avez optimisé.

Les formats de données pris en charge par SageMaker AI pour la quantification varient d’un modèle à l’autre. Les formats pris en charge comprennent :

  • INT4-AWQ : format de données 4 bits. La quantification du poids sensible à l’activation (AWQ) est une technique de quantification des LLM efficace, précise, faible en bits et uniquement axée sur le poids.

  • FP8 : format à virgule flottante 8 bits (FP8) de faible précision pour les nombres à virgule flottante. Il équilibre efficacité de la mémoire et précision du modèle en représentant des valeurs avec moins de bits que le format à virgule flottante FP16 standard.

  • INT8-SmoothQuant : format de données 8 bits. SmoothQuant est une méthode de quantification à précision mixte qui permet de mettre à l’échelle les activations et les poids conjointement en équilibrant leurs plages dynamiques.

Décodage spéculatif

Le décodage spéculatif est une technique permettant d’accélérer le processus de décodage des grands modèles de langage (LLM). Il optimise les modèles pour réduire la latence sans compromettre la qualité du texte généré.

Cette technique utilise un modèle plus petit, mais plus rapide, appelé brouillon de modèle. Le brouillon de modèle génère des jetons candidats, qui sont ensuite validés par le modèle cible plus grand, mais plus lent. À chaque itération, le brouillon de modèle génère plusieurs jetons candidats. Le modèle cible vérifie les jetons, et s’il trouve qu’un jeton en particulier n’est pas acceptable, il le rejette et le génère à nouveau. Ainsi, le modèle cible vérifie les jetons et en génère une petite quantité.

Le brouillon de modèle est nettement plus rapide que le modèle cible. Il génère rapidement tous les jetons, puis en envoie des lots au modèle cible pour vérification. Le modèle cible les évalue tous en parallèle, ce qui accélère la réponse finale.

SageMaker AI propose un brouillon de modèle prédéfini que vous pouvez utiliser pour ne pas avoir à concevoir le vôtre. Si vous préférez utiliser votre propre brouillon de modèle personnalisé, SageMaker AI prend également en charge cette option.

Chargement rapide des modèles

La technique du chargement rapide des modèles prépare un LLM afin que SageMaker AI puisse le charger plus rapidement sur une instance de ML.

Pour préparer le modèle, SageMaker AI le partitionne à l’avance en le divisant en portions pouvant chacune résider sur un GPU distinct pour une inférence distribuée. SageMaker AI stocke également les poids du modèle sous forme de segments de taille égale pour pouvoir les charger simultanément sur l’instance.

Lorsque SageMaker AI charge le modèle optimisé sur l’instance, les poids du modèle sont directement diffusés depuis Amazon S3 vers les GPU de l’instance. En diffusant les poids, SageMaker AI omet plusieurs étapes chronophages qui sont normalement nécessaires. Ces étapes incluent le téléchargement des artefacts du modèle depuis Amazon S3 sur le disque, le chargement des artefacts du modèle sur la mémoire de l’hôte et le partitionnement du modèle sur l’hôte avant de finalement charger les partitions sur les GPU.

Après avoir optimisé votre modèle pour accélérer le chargement, vous pouvez le déployer plus rapidement sur un point de terminaison SageMaker AI. De plus, si vous configurez le point de terminaison pour utiliser l’autoscaling, il augmente horizontalement plus rapidement pour s’adapter à la hausse du trafic.