Créer avec Amazon SageMaker

Amazon SageMaker facilite la création de modèles de machine learning à grande échelle et les prépare pour la formation en vous fournissant tout ce dont vous avez besoin pour étiqueter les données de formation, accéder aux bloc-notes et les partager et utiliser les algorithmes et les structures intégrées.

Caractéristiques

Expérience de bloc-notes collaborative

Les Notebooks Amazon SageMaker, désormais en prévisualisation, fournissent des blocs-notes Jupyter en un clic avec Elastic Compute qui peuvent être lancés rapidement. Les blocs-notes contiennent tout le nécessaire pour exécuter ou recréer un flux de travail de machine learning et sont intégrés à Amazon SageMaker Studio. Les blocs-notes sont préchargés avec l’ensemble des pilotes CUDA et cuDNN courants, les packages Anaconda et les bibliothèques de frameworks.

L’environnement des blocs-notes vous permet d’explorer et de visualiser vos données et de documenter vos résultats dans des flux de travail réutilisables. Depuis le bloc-notes, vous pouvez choisir d'importer les données 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.

Sans les blocs-notes Elastic, pour visualiser, exécuter ou partager un bloc-notes, vous devez lancer une compute de calcul pour instance pour alimenter le bloc-notes. Si vous avez besoin de plus de puissance de calcul, vous devez lancer une nouvelle instance, transférer le bloc-notes et arrêter l’ancienne instance. Compte tenu que le bloc-notes est généralement associé à l’instance de calcul et qu’il se trouve souvent sur la station de travail de l’utilisateur, aucun moyen simple ne permet de partager des blocs-notes ni de les itérer de manière collaborative.

Les blocs-notes SageMaker viennent à bout de ces défis. Il n’est plus nécessaire de perdre du temps à arrêter l’ancienne instance et à recréer le travail dans une nouvelle. Cela permet de démarrer beaucoup plus rapidement la création d’un modèle.

Vous pouvez écrire ou importer votre bloc-notes, ou utiliser l'un des nombreux bloc-notes préintégrés fournis avec SageMaker pour différents cas d’utilisation. Après le lancement, vous pouvez augmenter ou réduire les ressources de calcul (y compris les GPU) sans interruption. De même, votre état est enregistré automatiquement afin de vous permettre de reprendre précisément où vous vous êtes arrêté lorsque vous retournez dans le bloc-notes.

Toutes les dépendances de code, telles que les packages logiciels, les versions, etc. sont capturées automatiquement dans l’environnement du bloc-notes, ce qui évite de devoir suivre manuellement ces dépendances. Cela vous permet de partager aisément des blocs-notes avec des collègues afin qu’ils puissent aisément visualiser et reproduire vos résultats.

Blocs-notes

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

Amazon SageMaker Ground Truth vous permet de créer des ensembles de données de formation de haute précision à l'aide du machine learning tout en réduisant le coût d'étiquetage de données de 70 %. Les modèles de machine learning sont alimentés de données étiquetées pour leur permettre de prendre de 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’étiquetage humain à un processus de machine learning appelé apprentissage actif.

Fonctionnement

Traitement de données entièrement géré à grande échelle

Très souvent, les charges de travail de traitement de données et d’analyse pour le machine learning sont exécutées sur une infrastructure autogérée difficile à allouer et à dimensionner à mesure de l’évolution des exigences de l’entreprise. L’utilisation d’outils différents pour y parvenir s’avère lourde, ce qui aboutit à des performances non optimales performance et à un accroissement des dépenses d’investissement et des charges d’exploitation. Amazon SageMaker Processing relève ce défi en étendant la facilité, l’évolutivité et la fiabilité de SageMaker en une expérience entièrement gérée d’exécution des charges de travail de traitement de données à grande échelle. SageMaker Processing vous permet de connecter vos sources de données de système de fichier ou stockage existants, de lancer les ressources nécessaires pour exécuter votre tâche, d’enregistrer les résultats sur un stockage permanent et de fournir les journaux et les métriques. Vous pouvez aussi ajouter votre propres conteneurs avec les frameworks de votre choix et profiter de l’exécution de charges de travail de traitement de données et d’analyse.

Algorithmes haute performance intégrés

Amazon SageMaker fournit des algorithmes de machine learning haute performance évolutifs, optimisés en termes de rapidité, d'échelle et de précision, et qui peuvent effectuer des formations sur des ensembles de données de l’ordre du pétaoctet. 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. 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. 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.

SageMaker met automatiquement à votre disposition les algorithmes de machine learning les plus courants. Il vous suffit de préciser votre source de 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, de l'analyse des composants principaux ou de nombreux autres algorithmes prêts à l’emploi.

Algorithme Description
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’utilisation d'adresses IP.
Clustering K-moyennes Algorithme, l’un des plus simples en machine learning, utilisé pour localiser 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és à 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 de neurones (NTM) Approche basée sur un réseau de neurones 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.
Sequence2Sequence Encodeur-décodeur à usage général pour du texte, souvent utilisé dans la traduction automatique, la synthèse de textes, etc.

En savoir plus »

Vous pouvez aussi ajouter votre propre framework ou algorithme via un conteneur Docker ou choisir parmi des centaines d’algorithmes et de modèles préformés disponibles sur AWS Marketplace

Prise en charge étendue des frameworks

Amazon SageMaker prend en charge de nombreux frameworks populaires pour le deep learning, tels que TensorFlow, Apache MXNet, PyTorch, Chainer, etc. Ces frameworks sont automatiquement configurés et optimisés pour la haute performance. Vous ne devez pas configurer ces frameworks manuellement et vous pouvez les utiliser dans les conteneurs intégrés. Vous pouvez aussi ajouter le framework de votre choix dans SageMaker : il vous suffit de le développer sur un conteneur Docker que vous pouvez stocker dans Amazon EC2 Container Registry.

En savoir plus »

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 SageMaker Python pour tester vos scripts avant de les déployer dans des environnements d'entraînement ou d'hébergement 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. 

Apprentissage par renforcement

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 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 du machine learning 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.

Ressources

Un guide étape par étape de création de modèles d’apprentissage automatique

Apprenez à créer des modèles d’apprentissage automatique dans Amazon SageMaker.

Exemples de blocs-notes Amazon SageMaker

Accédez à un vaste référentiel d’exemples de blocs-notes Amazon SageMaker sur GitHub.

Créer des environnements de machine learning sécurisés
 
Explorer les fonctionnalités de sécurité d’Amazon SageMaker