Création

Créer des ensembles de données de formation précis

Amazon SageMaker Ground Truth permet aux clients de créer des ensembles de données de formation de haute précision à l'aide de l'apprentissage automatique tout en réduisant le coût d'étiquetage de données de 70 %. Les modèles d'apprentissage automatique sont alimentés de données étiquetées pour permettre à ces modèles de prendre les bonnes décisions. Souvent, ce processus peut prendre des mois et nécessiter l'intervention d'un grand nombre de personnes. SageMaker Ground Truth fournit une solution innovante pour réduire le coût et la complexité, tout en améliorant la précision de l'étiquetage de données en alliant l'apprentissage automatique à un processus d'étiquetage manuel appelé apprentissage actif. 

En savoir plus

Blocs-notes gérés pour la création de modèles

Amazon SageMaker propose des instances entièrement gérées qui exécutent des blocs-notes Jupyter pour l'exploration et le prétraitement des données de formation. Ces blocs-notes sont équipés de pilotes CUDA et cuDNN pour les plateformes populaires de deep learning, de packages Anaconda et de bibliothèques pour TensorFlow, Apache MXNet, PyTorch et Chainer. 

D'un simple clic, vous avez accès à un environnement de bloc-notes ML entièrement géré qui utilise le format libre de bloc-notes populaire, Jupyter.

Ces espaces de travail sur bloc-notes vous permettent d'explorer et de visualiser vos données et de documenter vos découvertes dans des flux de travail réutilisables, en utilisant virtuellement toutes les bibliothèques, les frameworks et les interfaces populaires. Depuis le bloc-notes, vous pouvez choisir d'importer les données que vous avez déjà stockées dans Amazon S3. Vous pouvez également utiliser AWS Glue pour transférer facilement vos données depuis Amazon RDS, Amazon DynamoDB et Amazon Redshift vers S3 afin qu'elles soient analysées. Vous pouvez écrire ou importer votre bloc-notes, ou utiliser l'un des nombreux bloc-notes déjà préparés et préinstallés dans Amazon SageMaker. Les bloc-notes déjà préparés sont disponibles quel que soit l'algorithme ML intégré. En outre, des modèles de bloc-notes sont disponibles pour vous aider à faire vos premiers pas avec les applications ML les plus courantes et des fonctionnalités plus avancées d'Amazon SageMaker. 

Algorithmes haute performance intégrés

Amazon SageMaker fournit des algorithmes ML haute performance scalables, optimisés en termes de rapidité, d'échelle et de précision. Ces algorithmes peuvent effectuer des formations au niveau d'un ensemble de données en pétaoctets, et offrent une performance jusqu'à 10 x supérieure à celle d'autres réalisations. Vous pouvez sélectionner un algorithme supervisé (les bonnes réponses sont dévoilées pendant la formation) et indiquer la marche à suivre au modèle là où il a commis des erreurs. Amazon SageMaker comprend des algorithmes supervisés tels que XGBoost et la régression ou classification linéaire/logistique pour faire face aux problèmes de recommandation et de prévision des séries chronologiques. Amazon SageMaker s'occupe également de la prise en charge de l'apprentissage non supervisé (c. à d. que les algorithmes doivent trouver eux-mêmes les bonnes réponses), par exemple avec le partitionnement en k-moyennes et l'analyse des composants principaux (PCA), pour résoudre des problèmes tels que l'identification de groupes de clients en fonction du comportement d'achat.

Amazon SageMaker met automatiquement à votre disposition les algorithmes d'apprentissage machine les plus courants. Il vous suffit de préciser la source de vos données, et vous pouvez procéder sans attendre à l'exécution du partitionnement en k-moyennes pour la segmentation de vos données, de machines de factorisation pour les recommandations, des prévisions de séries chronologiques, de la régression linéaire ou de l'analyse des composants principaux. 

BlazingText Word2Vec Implémentation BlazingText de l'algorithme Word2Vec pour le dimensionnement et l'accélération de la génération de plongements de mots extraits d'une multitude de documents.
DeepAR Un algorithme qui génère des prévisions précises en apprenant des modèles issus de nombreuses séries chronologiques liées à l'aide de réseaux de neurones récurrents.
Machines de factorisation Modèle capable d'estimer toute interaction entre les fonctions, et ce même à partir d'un petit volume de données.
Arborescences de gradients améliorés (XGBoost) Diminutif d'« Extreme Gradient Boosting ». XGBoost est une bibliothèque d'amélioration des gradients optimisée et partagée.
Classification d'images (ResNet) Un réseau neuronal populaire pour le développement de systèmes de classification d'images.
IP Insights Algorithme permettant de détecter les utilisateurs malveillants ou d'apprendre les schémas d'adresses IP utilisés.
Clustering K-moyennes C'est l'un des algorithmes ML les plus simples. Il est utilisé afin d'identifier des groupes au sein de données non étiquetées.
K-Nearest Neighbor (k-NN) Algorithme basé sur index afin de traiter les problèmes liées à la classification et à la régression.

Allocation de Dirichlet latente (LDA)

Modèle idéal pour l'identification automatique des principales rubriques présentes dans un ensemble de fichiers texte.
Linear Learner (classification) La classification linéaire se sert des caractéristiques d'un objet pour identifier le groupe auquel il appartient.
Linear Learner (régression) La régression linéaire est utilisée pour estimer la relation linéaire entre deux variables.
Modélisation de rubriques par réseau neuronal (NTM) Approche basée sur un réseau neuronal qui identifie des rubriques au sein d'ensembles de données texte ou image.
Object2Vec Algorithme permettant de calculer les plus proches voisins et de visualiser les clusters naturels par réseau neuronal.
Détection d'objets Détecte, classe et place des boîtes de délimitation autour d'objets multiples dans une image.
Algorithme PCA (Principal Component Analysis) Souvent utilisé pour le prétraitement des données, cet algorithme s'attaque à une table ou un tableau contenant de nombreuses caractéristiques pour les réduire à seulement quelques fonctions essentielles.
Random Cut Forest Un algorithme d'apprentissage automatique non supervisé permettant de détecter les anomalies.
Segmentation sémantique
Partitionne une image pour identifier les lieux d'intérêt en assignant une étiquette à ses pixels individuels.
Seqence2Sequence Encodeur-décodeur à usage général pour du texte, souvent utilisé dans la traduction automatique, la synthèse de textes, etc.

Ces algorithmes ont été optimisés pour que leur performance soit jusqu'à 10 x plus rapide que celle obtenue lors de réalisations traditionnelles. Nous avons notamment mis en œuvre ces algorithmes de manière à ce qu'ils n'aient pas à revenir en arrière pour analyser des données déjà traitées. Généralement, les algorithmes repassent de nombreuses fois sur votre ensemble de données afin d'en répertorier les données antérieures. Cela fonctionne bien sur de petits ensembles de données, mais le résultat de performance obtenu sur d'importants ensembles de données peut considérablement ralentir la formation. Si vous configurez un passage unique, vous pouvez former de manière efficace et rentable des ensembles de données à l'échelle du pétaoctet. 

Prise en charge étendue des frameworks

Amazon SageMaker configure et optimise automatiquement TensorFlow, Apache MXNet, Chainer, PyTorch, Scikit-learn et SparkML pour que vous n'ayez rien à configurer pour commencer à utiliser ces frameworks, et nous comptons intégrer d'autres frameworks importants dans les mois à venir. Cependant, vous êtes toujours libre d'ajouter le framework de votre choix dans Amazon SageMaker : il vous suffit de le développer sur un conteneur Docker et de stocker celui-ci dans Amazon EC2 Container Registry.

Prise en charge de l'apprentissage par renforcement avec Amazon SageMaker RL

Amazon SageMaker prend en charge l'apprentissage par renforcement en plus des modèles d'apprentissage supervisés et non supervisés traditionnels. SageMaker contient maintenant des algorithmes d'apprentissage par renforcement entièrement gérés et intégrés, y compris certains des algorithmes les plus récents et les plus performants dans le milieu universitaire. SageMaker prend en charge l'apprentissage par renforcement dans plusieurs frameworks, dont TensorFlow et MXNet, ainsi que des frameworks plus récents conçus spécifiquement pour ce type d'apprentissage, comme Intel Coach et Ray RL. Divers environnements de simulation physique 2D et 3D sont pris en charge, y compris ceux qui sont basés sur l'interface open source OpenGym. De plus, SageMaker RL vous permet de vous former avec des environnements 3D virtuels intégrés dans Amazon Sumerian et Amazon RoboMaker. Pour faciliter vos premiers pas, SageMaker fournit un éventail d'exemples de bloc-notes et de didacticiels. 

Une grande partie de l'apprentissage automatique entre dans la catégorie de l'apprentissage supervisé. Cette méthode nécessite l'étiquetage d'un grand nombre de données de formation, mais les modèles que vous concevez sont en mesure de prendre des décisions sophistiquées. C'est l'approche courante avec la vision par ordinateur, la reconnaissance vocale et les modèles linguistiques. Une autre catégorie courante, mais moins utilisée faisant partie de l'apprentissage automatique est l'apprentissage non supervisé. Dans ce cas, des algorithmes essaient de trouver une structure sous-jacente dans les données non étiquetées. Les exigences d'entraînement d'un modèle supervisé sont beaucoup plus basses, mais l'inconvénient est que ce modèle prend des décisions moins sophistiquées. Les modèles non supervisés sont souvent utilisés pour identifier des anomalies dans les données, telles que des fluctuations inhabituelles de la température ou des signes d'intrusion du réseau.

L'apprentissage par renforcement (RL) a émergé comme troisième approche complémentaire à l'apprentissage automatique. Le RL adopte une approche distincte d'entraînement des modèles. Bien qu'il ne nécessite pas de données de formation étiquetées, il peut offrir un niveau de sophistication égal (voire supérieur) à celui des utilisateurs eux-mêmes. Le gros avantage du RL est qu'il peut apprendre à modéliser une série complexe de comportements afin d'obtenir un résultat souhaité, au lieu de ne prendre qu'une simple décision. Actuellement, l'un des cas d'utilisation les plus fréquents du RL consiste à entraîner les véhicules autonomes pour qu'ils parviennent à une destination spécifique.

Par analogie, le RL est assimilable à un jeu vidéo simple dans lequel le personnage doit parcourir un labyrinthe en collectant des drapeaux et en évitant les ennemis. L'algorithme, qui remplace l'utilisateur, contrôle le personnage et joue des millions de jeux. Pour commencer, il a uniquement besoin de savoir que le personnage peut monter, descendre, aller à gauche et aller à droite, et que des points de récompense lui sont attribués. L'algorithme apprend petit à petit à jouer jusqu'à atteindre le plus haut score possible. Il intègre les comportements qui améliorent le score (comme la collecte de drapeaux ou les multiplicateurs de score) tout en minimisant les pénalités (telles que les coups portés par les ennemis). Au fil du temps, les algorithmes RL peuvent apprendre des stratégies avancées pour maîtriser le jeu, telles que les parties du labyrinthe dans lesquelles il est préférable de passer en premier, la meilleure manière et le meilleur moment pour utiliser les bonus, ainsi que l'approche la plus adaptée pour exploiter le comportement des ennemis.

Le RL peut démultiplier la puissance des techniques classiques d'apprentissage automatique. Par exemple, le RL et l'apprentissage supervisé ont été combinés pour créer des schémas thérapeutiques dans le secteur de la santé, pour optimiser les chaînes logistiques dans l'industrie, pour améliorer les performances des éoliennes, pour piloter les voitures autonomes, pour utiliser les robots en toute sécurité, voire pour créer des cours et des plans de formation personnalisés pour les étudiants.

Test et prototype locaux

Les conteneurs Docker open source Apache MXNet et Tensorflow utilisés dans Amazon SageMaker sont disponibles sur Github. Vous pouvez télécharger ces conteneurs dans votre environnement local et utiliser le kit SDK Amazon SageMaker Python pour tester vos scripts avant de les déployer dans des environnements d'entraînement ou d'hébergement Amazon SageMaker. Lorsque vous êtes prêt à passer du test local à la production, à la formation et à l'hébergement, la modification d'une seule ligne de code suffit.

Formation

Formation en un clic

Lorsque vous êtes prêt à former dans Amazon SageMaker, indiquez simplement l'emplacement de vos données dans Amazon S3, ainsi que le type et la quantité d'instances ML Amazon SageMaker dont vous avez besoin, et démarrez dans la console en un seul clic. Amazon SageMaker configure un cluster de calcul partagé, effectue la formation, transmet le résultat à Amazon S3, puis supprime le cluster. 

Il est facile de former des modèles avec Amazon SageMaker : vous devez simplement indiquer l'emplacement de vos données dans S3, et Amazon SageMaker exécute votre algorithme dans un cluster de formation isolé au sein de son propre réseau défini par logiciel, configuré selon vos besoins. Vous n'avez qu'à choisir le type d'instance (y compris les instances GPU P3, qui sont idéales pour une formation rapide et efficace), et Amazon SageMaker s'occupe de créer votre cluster dans un groupe à scalabilité automatique, d'attacher des volumes EBS à chaque nœud, de configurer les pipelines de données et de démarrer la formation avec votre script TensorFlow, MXNet, Chainer ou PyTorch, avec les algorithmes propres d'Amazon ou avec les algorithmes fournis par votre propre conteneur. Une fois le processus terminé, il transmet les résultats à S3 et détruit automatiquement le cluster.

Pour faciliter la formation à l'échelle, nous avons optimisé le flux des données qui proviennent de S3. Par l'intermédiaire de l'API, vous pouvez préciser si vous préférez que toutes les données soient envoyées à chaque nœud dans le cluster, ou qu'Amazon SageMaker gère la distribution des données aux nœuds en fonction des besoins de votre algorithme.

Associée aux algorithmes intégrés, la scalabilité de la formation rendue possible par Amazon SageMaker peut considérablement réduire le temps et les frais de ces formations. 

Formation Spot gérée

Vous pouvez optimiser les coûts de formation de vos modèles de machine learning et économiser jusqu'à 90 % avec la formation Spot gérée.

La formation Spot gérée utilise des instances Amazon EC2 Spot qui constituent une capacité AWS de réserve pouvant être utilisée pour gérer les coûts et économiser jusqu'à 90 %. Cette option est idéale lorsque vous avez la flexibilité de pouvoir exécuter vos tâches de formation. Avec la formation Spot gérée, Amazon SageMaker gère la capacité Spot. Ainsi, vos tâches de formation sont exécutées de manière fiable, et vos coûts sont réduits jusqu'à 90 % par rapport aux instances à la demande. Les tâches de formation sont exécutées au fur et à mesure que la capacité de calcul devient disponible ; vous n’avez donc pas besoin d’interroger en permanence la capacité, et il n’est pas nécessaire de créer des outils supplémentaires. La formation Spot gérée fonctionne avec l'ajustement automatique de modèle, les algorithmes intégrés et les cadres fournis avec Amazon SageMaker, ainsi que des algorithmes personnalisés.

Automatic Model Tuning

Amazon SageMaker peut régler automatiquement votre modèle en configurant des milliers de combinaisons de paramètres d'algorithmes différentes, afin de parvenir aux prévisions les plus précises que le modèle soit capable de produire. 

Lorsque vous ajustez votre modèle pour qu’il soit le plus précis possible, deux étapes sont essentielles : la modification des données entrantes que vous fournissez au modèle (en prenant par exemple l’enregistrement d’un nombre), et l’ajustement des paramètres de l'algorithme. Ceux-ci sont appelés hyperparamètres, et il est parfois difficile de trouver les bonnes valeurs. Généralement, vous commencez par une valeur aléatoire, et vous répétez l'opération au fur et à mesure des ajustements lorsque vous commencez à mesurer l'impact des modifications. En fonction du nombre d'hyperparamètres de votre modèle, ce cycle peut être long.

Amazon SageMaker simplifie tout cela en proposant Automatic Model Tuning sous forme d'option pendant la formation. Amazon SageMaker utilise l'apprentissage automatique pour ajuster votre modèle ML. Elle fonctionne en identifiant les éléments susceptibles d’avoir une influence sur les différents types de données d’un modèle, puis en appliquant cette connaissance à plusieurs copies de ce modèle afin de rechercher rapidement le meilleur résultat possible. Cela signifie qu'en tant que développeur ou spécialiste des données, vous n'avez qu'une seule véritable préoccupation : les ajustements que vous souhaitez apporter aux données avec lesquelles vous alimentez le modèle, ce qui réduit considérablement le nombre de sujets qui pourraient vous inquiéter pendant la formation.

Lors de l'initiation d'Automatic Model Tuning, vous spécifiez simplement le nombre de tâches de formation par l'intermédiaire de l'API et Amazon Sagemaker gère le reste. 

Des modèles à ne former qu'une seule fois afin de pouvoir en profiter n'importe où

Amazon SageMaker Neo permet aux modèles d'apprentissage automatique de se former une fois, puis de s'exécuter n'importe où dans le cloud et à la limite. Généralement, l'optimisation des modèles d'apprentissage automatique pour permettre leur exécution sur plusieurs plateformes est extrêmement compliquée, car les développeurs doivent ajuster manuellement ces modèles en fonction de la configuration matérielle et logiciel de chaque plateforme. Neo élimine le temps et les efforts liés à ces interventions manuelles en optimisant automatiquement les modèles TensorFlow, MXNet, PyTorch, ONNX et XGBoost pour un déploiement sur les processeurs ARM, Intel et Nvidia. Le matériel Cadence, Qualcomm et Xilinx sera également pris en charge prochainement. Vous pouvez accéder à SageMaker Neo depuis la console SageMaker et, avec seulement quelques clics, générer un modèle optimisé pour l'instance cloud ou le périphérique de périmètre. Les modèles optimisés s'exécutent deux fois plus vite et consomment moins d'un centième de l'espace de stockage des modèles traditionnels. 

En savoir plus

Fonctionnalité de recherche de modèle

La fonctionnalité de recherche de modèle que propose Amazon SageMaker vous permet d'organiser, de rechercher et d'évaluer des expériences de modèle de machine learning afin de trouver le modèle le mieux adapté à votre cas d’utilisation.

Le développement d'un modèle de machine learning nécessite a) des expérimentations continues impliquant différents ensembles de données, algorithmes et valeurs de paramètres et b) une évaluation de l'impact des petits changements incrémentiels sur les performances et la précision. Cet exercice itératif conduit généralement à l'explosion de centaines, voire de milliers d'essais de formation et de versions de modèle, ce qui ralentit la convergence et l'identification du modèle le plus approprié. En outre, l’explosion d’informations rend très difficile la traçabilité de la version d'un modèle, c’est-à-dire la combinaison unique d'ensembles de données, d’algorithmes et de paramètres à l’origine de ce modèle.

Désormais, la fonctionnalité de recherche de modèle que propose Amazon SageMaker vous permet de rechercher les meilleurs modèles pour votre cas d’utilisation en effectuant une recherche sur les attributs de modèle clés comme l’algorithme utilisé, les valeurs des paramètres et les balises personnalisées. L'utilisation de balises personnalisées permet de trouver les modèles formés pour un projet spécifique ou créés par une équipe spécifique de spécialistes des données, et de classer et cataloguer ainsi votre travail. Vous pouvez également comparer et classer les sessions de formation en fonction de leurs mesures de performance comme la perte de formation et la précision de validation. Enfin, grâce à la fonctionnalité de recherche de modèle, vous pouvez rapidement retracer la lignée complète d’un modèle déployé dans des environnements en direct en remontant jusqu'à l'ensemble de données utilisé dans la formation ou la validation de ce modèle.

Déploiement

Déploiement en un clic

Vous pouvez déployer vos modèles en un clic sur des instances ML Amazon à scalabilité automatique dans de nombreuses zones de disponibilité, pour obtenir une forte redondance. Spécifiez simplement le type d'instances et le nombre minimum et maximum souhaité. Amazon SageMaker s'occupe du reste. Il lance les instances, déploie votre modèle et configure le point de terminaison HTTPS sécurisé pour votre application. Votre application doit simplement inclure un appel d'API à ce point de terminaison pour obtenir une inférence à faible latence et haut débit. Cette architecture vous permet d'intégrer en quelques minutes vos nouveaux modèles dans votre application, car il n'est plus nécessaire de changer le code de l'application pour modifier le modèle. 

Hébergement entièrement géré avec AutoScaling

Amazon SageMaker gère votre infrastructure de calcul de la production à votre place et réalise des vérifications de l'état, applique des correctifs de sécurité et effectue d'autres tâches courantes d'entretien grâce à la surveillance et à la journalisation intégrées d'Amazon CloudWatch. 

Batch Transform

Batch Transform vous permet d'exécuter des prédictions sur des données de lots de grande ou de petite taille. Il n'est pas nécessaire de décomposer l'ensemble de données en plusieurs morceaux ou de gérer les points de terminaison en temps réel. Avec une API simple, vous pouvez demander des prédictions pour un grand nombre d'enregistrements de données et transformer ces données rapidement et facilement.

 

Pipelines de déduction

Amazon SageMaker vous permet de déployer des pipelines de déduction afin que vous puissiez transmettre des données d'entrée brutes et exécuter le prétraitement, les prédictions et le post-traitement sur la base des demandes de déduction en temps réel ou par lot. Les pipelines de déduction peuvent se composer des frameworks d'apprentissage automatique, des algorithmes intégrés ou des conteneurs personnalisés utilisables sur Amazon SageMaker. Vous pouvez créer des pipelines de traitement des données de fonctions et des pipelines d'ingénierie de fonctions avec une suite d'outils de transformation de fonctions disponibles dans les conteneurs des frameworks d'apprentissage Scikit et SparkML dans Amazon SageMaker. Vous pouvez ensuite les déployer dans le cadre des pipelines de déduction pour réutiliser le code de traitement des données et pour faciliter la gestion des processus d'apprentissage automatique.

 

En savoir plus sur la tarification d'Amazon SageMaker

Consultez la page de tarification
Prêt à vous lancer ?
S'inscrire
D'autres questions ?
Contactez-nous