Amazon SageMaker Neo
Exécutez des modèles de machine learning 25 fois plus performants.
Amazon SageMaker Neo permet aux développeurs d'optimiser les modèles de machine learning (ML) pour effectuer des inférences sur SageMaker dans le cloud et les périphériques de pointe pris en charge.
L'inférence ML est le processus d'utilisation d'un modèle de machine learning destiné à la réalisation des prédictions. Après avoir réalisé un modèle à haute précision, les développeurs passent souvent beaucoup de temps et d'efforts à régler le modèle afin d’obtenir des performances élevées. Pour l'inférence dans le cloud, les développeurs adoptent souvent les grandes instances dotées de grande capacité de stockage et de puissantes capacités de traitement à des coûts plus élevés afin d’obtenir un meilleur rendement. Pour l'inférence sur des périphériques de pointe dotés de capacités de calcul et de mémoire limitées, les développeurs mettent souvent des mois à peaufiner manuellement le modèle pour obtenir des performances acceptables en tenant compte des contraintes matérielles du périphérique.
Amazon SageMaker Neo optimise automatiquement les modèles de machine learning pour l'inférence sur les instances du cloud et les périphériques de pointe afin qu’ils fonctionnent plus rapidement sans perte de précision. Vous commencez avec un modèle de machine learning déjà construit grâce à DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX ou XGBoost et intégré dans Amazon SageMaker ou ailleurs. Ensuite, vous choisissez votre plateforme matérielle cible, qui peut être une instance d'hébergement de SageMaker ou un appareil périphérique basé sur des processeurs Ambarella, Apple, ARM, Intel, MediaTek, Nvidia, NXP, Qualcomm, RockChip ou Texas Instruments. D'un simple clic, SageMaker Neo optimise le modèle formé et le compile en un exécutable. Le compilateur utilise un modèle de machine learning pour appliquer les optimisations de performance qui permettent à votre modèle d'obtenir les meilleures performances disponibles sur l'instance du cloud ou sur le périphérique. Vous déployez ensuite le modèle en tant que point final SageMaker ou sur les périphériques pris en charge et commencez à faire des prédictions.
Pour l'inférence dans le cloud, SageMaker Neo accélère l'inférence et réduit les coûts en créant un conteneur optimisé pour l'inférence dans l'hébergement SageMaker. En ce qui concerne l’inférence de pointe, SageMaker Neo permet aux développeurs de réduire le nombre de mois de réglage en ajustant automatiquement le modèle pour le système d'exploitation et le matériel processeur sélectionnés.
Amazon SageMaker Neo utilise Apache TVM et des compilateurs et bibliothèques d'accélération fournis par des partenaires afin de fournir les meilleures performances disponibles pour un modèle et un matériel cible donnés. AWS fournit le code du compilateur au projet Apache TVM et le code d'exécution au projet open source Neo-AI, sous la licence Apache Software License, afin de permettre aux fournisseurs de processeurs et aux fabricants d'appareils d'innover rapidement dans un environnement d'exécution commun.
Fonctionnement
![Comment Amazon SageMaker Neo fonctionne Comment Amazon SageMaker Neo fonctionne](https://d1.awsstatic.com/SageMaker/Product-Page-Diagram_SageMaker-Neo-How-it-Works_DARK%402x.708e12cf87a91b754261a7fa113ad18d0bdf98d3.png)
Avantages
Amélioration des performances jusqu’à 25 fois plus
Amazon SageMaker Neo optimise automatiquement les modèles de machine learning pour qu'ils fonctionnent à une vitesse vingt-cinq fois supérieure sans perte de précision. SageMaker Neo utilise la chaîne d'outils la mieux adaptée à votre modèle et à la plate-forme matérielle cible tout en fournissant une API standard simple pour le montage du modèle.
Moins de 1/10 de l'empreinte du runtime
Le runtime Amazon SageMaker Neo ne consomme que 1/10 de l'empreinte d'un cadre du Deep Learning tel que TensorFlow ou PyTorch. Au lieu d'installer le cadre sur votre matériel cible, vous chargez la bibliothèque compacte du runtime Neo dans votre application ML. Et contrairement à un cadre compact comme TensorFlow-Lite, le runtime Neo peut exécuter un modèle formé dans n'importe lequel des cadres pris en charge par le compilateur Neo.
Production plus rapide
Amazon SageMaker Neo permet de préparer facilement votre modèle pour un déploiement sur pratiquement toutes les plateformes matérielles en quelques clics dans la console Amazon SageMaker. Vous bénéficiez de tous les avantages d'un réglage manuel sans aucun effort.
Fonctionnalités principales
Optimisation de l'inférence sans compromettre la précision
Amazon SageMaker Neo utilise des techniques de recherche dans les compilateurs de machine learning afin d'optimiser votre modèle sur le matériel cible. En appliquant automatiquement ces techniques d'optimisation systématique, SageMaker Neo accélère vos modèles sans perte de précision.
Prise en charge des cadres de machine learning les plus répandus
Amazon SageMaker Neo convertit un modèle du format spécifique au cadre de DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX, ou XGBoost en une représentation commune, optimise les calculs et génère un exécutable spécifique au matériel pour l'instance d'hébergement SageMaker ou le périphérique cible.
Fourniture d’un runtime compact avec des API standards
Le runtime Amazon SageMaker Neo occupe 1 Mo de stockage et 2 Mo de mémoire, ce qui est bien plus petit que le stockage et l'empreinte mémoire d'un cadre, tout en fournissant une API commune simple qui permet d’exécuter un modèle compilé provenant de n'importe quel cadre.
Prise en charge des plates-formes cibles les plus courantes
L'environnement d'exécution Amazon SageMaker Neo est compatible avec les systèmes d'exploitation Android, Linux et Windows et avec les processeurs Ambarella, ARM, Intel, Nvidia, NXP, Qualcomm et Texas Instruments. SageMaker Neo convertit également les modèles PyTorch et TensorFlow au format Core ML afin qu'ils puissent être déployés sur macOS, iOS, iPadOS, watchOS et tvOS sur les appareils Apple.
Conteneurs optimisés par inférence destinés aux instances d'hébergement Amazon SageMaker
Pour l'inférence dans le cloud, Amazon SageMaker Neo fournit des conteneurs optimisés pour l'inférence qui comprennent MXNet, PyTorch et TensorFlow intégrés au runtime Neo. Auparavant, SageMaker Neo ne compilait pas les modèles qui utilisaient des opérateurs non pris en charge. À présent, SageMaker Neo optimise chaque modèle dans la mesure où le compilateur prend en charge les opérateurs du modèle et utilise le cadre pour exécuter le reste du modèle non compilé. Par conséquent, vous pouvez exécuter n'importe quel modèle MXNet, PyTorch ou TensorFlow dans les conteneurs optimisés par inférence tout en obtenant de meilleures performances pour les modèles qui peuvent être compilés.
Partitionnement des modèles pour un matériel hétérogène
Amazon SageMaker Neo bénéficie des bibliothèques d'accélérateurs fournies par ses partenaires pour offrir les meilleures performances disponibles d’un modèle de machine learning sur des plates-formes matérielles hétérogènes avec un accélérateur matériel et un CPU. Les bibliothèques d'accélération telles que Ambarella CV Tools, Nvidia Tensor RT et Texas Instruments TIDL prennent chacune en charge un ensemble spécifique de fonctions et d'opérateurs. SageMaker Neo partitionne automatiquement votre modèle afin que la partie avec les opérateurs pris en charge par l'accélérateur puisse fonctionner sur l'accélérateur tandis que le reste du modèle fonctionne sur le CPU. De cette manière, SageMaker Neo utilise au maximum l'accélérateur matériel, en augmentant les types de modèles qui peuvent être exécutés sur le matériel tout en améliorant les performances du modèle à condition que ses opérateurs soient pris en charge par l'accélérateur.
Prise en charge des instances INF1 sur Amazon SageMaker
Amazon SageMaker Neo compile désormais des modèles pour les cibles d'instances INF1 sur Amazon SageMaker. L'hébergement de SageMaker fournit un service géré d'inférence sur les instances INF1 qui sont stockées sur la puce AWS Inferentia. SageMaker Neo fournit l'API de compilation de modèles standards tout en utilisant le compilateur Neuron spécifique au processeur Inferentia sous le capot, ce qui simplifie la tâche de création d'un modèle destiné à être utilisé sur l'instance SageMaker INF1 tout en offrant les meilleures performances disponibles et des économies de coûts de l'instance INF1.
Blogs
Réussite grâce à Amazon SageMaker pour dynamiser l'unité d'agriculture numérique de Bayer
Marisa Messina | 05 AOÛT 2019
Amazon SageMaker Neo favorise l’utilisation du machine learning de Pionner dans les voitures
Satadal Bhattacharjee | 11 JUIN 2019
Amazon SageMaker Neo aide à détecter les objets et à archiver les images sur les appareils de pointe
Satadal Bhattacharjee | 12 JUIN 2019
Sukwon Kim et Vin Sharma | 23 JANV. 2019