Réduisez le temps et les coûts de formation en deep learning avec MosaicML Composer sur AWS PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Réduisez le temps et les coûts de formation en deep learning avec MosaicML Composer sur AWS

Au cours de la dernière décennie, nous avons vu La science du Deep Learning (DL) adoptée à un rythme effréné par les clients AWS. Les nombreux paramètres formés conjointement des modèles DL ont une grande capacité de représentation qui a apporté des améliorations dans de nombreux cas d'utilisation clients, notamment l'analyse d'images et de parole, le traitement du langage naturel (NLP), le traitement de séries chronologiques, etc. Dans cet article, nous soulignons les défis fréquemment signalés spécifiquement dans la formation DL, et comment la bibliothèque open source Compositeur MosaicML aide à les résoudre.

Le défi de la formation DL

Les modèles DL sont entraînés de manière itérative, dans une boucle for imbriquée. Une boucle parcourt l'ensemble de données d'entraînement morceau par morceau et, si nécessaire, cette boucle est répétée plusieurs fois sur l'ensemble de l'ensemble de données. Les praticiens du ML travaillant sur la formation DL sont confrontés à plusieurs défis :

  • La durée de la formation augmente avec la taille des données. Avec des ensembles de données en croissance constante, les délais et les coûts de formation augmentent également, et le rythme des découvertes scientifiques ralentit.
  • Les scripts DL nécessitent souvent du code passe-partout, notamment la structure double for en boucle susmentionnée qui divise l'ensemble de données en mini-lots et la formation en époques.
  • Le paradoxe du choix : plusieurs articles et bibliothèques d'optimisation de la formation sont publiés, mais il est difficile de savoir lequel tester en premier et comment combiner leurs effets.

Au cours des dernières années, plusieurs bibliothèques open source telles que Keras, PyTorch Foudre, Transformateurs de visage étreignantet une Ray Train ont tenté de rendre la formation DL plus accessible, notamment en réduisant la verbosité du code, simplifiant ainsi la programmation des réseaux de neurones. La plupart de ces bibliothèques se sont concentrées sur l'expérience des développeurs et la compacité du code.

Dans cet article, nous présentons une nouvelle bibliothèque open source qui prend une position différente sur la formation DL : Compositeur MosaicML est une bibliothèque centrée sur la vitesse dont l'objectif principal est de rendre les scripts de formation des réseaux neuronaux plus rapides grâce à l'innovation algorithmique. Dans le monde du cloud DL, il est sage de se concentrer sur la vitesse, car l'infrastructure de calcul est souvent payée à l'utilisation, même à la seconde près. Formation Amazon Sage Maker- et l'amélioration de la vitesse peut se traduire par des économies d'argent.

Historiquement, l'accélération de la formation DL s'est principalement faite en augmentant le nombre de machines calculant des itérations de modèles en parallèle, une technique appelée parallélisme des données. Même si le parallélisme des données accélère parfois la formation (non garanti car perturbant la convergence, comme le souligne Goyal et coll.), cela ne réduit pas le coût global du travail. En pratique, cela a tendance à l'augmenter, en raison de la surcharge de communication inter-machines et du coût unitaire plus élevé des machines, car les machines DL distribuées sont équipées d'un réseau haut de gamme et d'une interconnexion GPU interne au serveur.

Bien que MosaicML Composer prenne en charge le parallélisme des données, sa philosophie de base est différente du mouvement du parallélisme des données. Son objectif est d’accélérer la formation sans nécessiter davantage de machines, en innovant au niveau de la mise en œuvre scientifique. Par conséquent, il vise à réaliser des gains de temps qui se traduiraient par des économies de coûts grâce à la structure de frais de paiement à l'utilisation d'AWS.

Présentation de la bibliothèque open source MosaicML Composer

MosaicML Composer est une bibliothèque de formation DL open source spécialement conçue pour simplifier l'intégration des derniers algorithmes et les composer dans de nouvelles recettes qui accélèrent la formation des modèles et contribuent à améliorer la qualité des modèles. Au moment d'écrire ces lignes, il prend en charge PyTorch et comprend 25 techniques, appelées méthodes dans le monde MosaicML, avec des modèles standards, des ensembles de données et des benchmarks

Le compositeur est disponible via pip:

pip install mosaicml

Les techniques d'accélération implémentées dans Composer sont accessibles via son API fonctionnelle. Par exemple, l'extrait suivant applique le Piscine de flou technique à un TorchVision ResNet :

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

En option, vous pouvez également utiliser un Entraîneur pour composer votre propre combinaison de techniques :

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

Exemples de méthodes implémentées dans Composer

Certaines des méthodes disponibles dans Composer sont spécifiques à la vision par ordinateur, par exemple les techniques d'augmentation d'image ColOut, Coupéou Redimensionnement progressif de l'image. D'autres sont spécifiques à la modélisation de séquences, comme Échauffement de la durée de la séquence or Alibi. Il est intéressant de noter que plusieurs d’entre eux sont indépendants du cas d’utilisation et peuvent être appliqués à une variété de réseaux neuronaux PyTorch au-delà de la vision par ordinateur et de la PNL. Ces méthodes génériques d'accélération de la formation des réseaux neuronaux comprennent Lissage des étiquettes, Backprop sélectif, Moyenne stochastique du poids, Congélation des coucheset une Minimisation consciente de la netteté (SAM).

Examinons en profondeur quelques-unes d'entre elles qui ont été jugées particulièrement efficaces par l'équipe MosaicML :

  • Minimisation consciente de la netteté (SAM) est un optimiseur qui minimise à la fois la fonction de perte du modèle et sa netteté en calculant un gradient deux fois pour chaque étape d'optimisation. Pour limiter le calcul supplémentaire et pénaliser le débit, SAM peut être exécuté périodiquement.
  • Attention avec biais linéaires (ALiBi), inspiré par Presse et coll., est spécifique aux modèles Transformers. Cela supprime le besoin d’intégrations positionnelles, en les remplaçant par un biais non appris en faveur des poids d’attention.
  • Backprop sélectif, inspiré par Jiang et coll., vous permet d'exécuter la rétro-propagation (les algorithmes qui améliorent les poids du modèle en suivant sa pente d'erreur) uniquement sur les enregistrements avec une fonction de perte élevée. Cette méthode vous aide à éviter les calculs inutiles et à améliorer le débit.

Disposer de ces techniques dans un seul cadre de formation compact constitue une valeur ajoutée significative pour les praticiens du ML. Ce qui est également précieux, ce sont les retours d'information exploitables sur le terrain que l'équipe MosaicML produit pour chaque technique, testée et évaluée. Cependant, face à une boîte à outils aussi riche, vous vous demandez peut-être : quelle méthode dois-je utiliser ? Est-il sécuritaire de combiner l’utilisation de plusieurs méthodes ? Entrez dans l'explorateur MosaicML.

Explorateur MosaicML

Pour quantifier la valeur et la compatibilité des méthodes de formation DL, l'équipe MosaicML maintient Explorer, un tableau de bord en direct unique en son genre présentant des dizaines d'expériences de formation DL sur cinq ensembles de données et sept modèles. Le tableau de bord représente le frontière optimale de Pareto dans le compromis coût/temps/qualité, et vous permet de parcourir et de trouver les combinaisons de méthodes les plus performantes, appelées recettes dans le monde MosaicML, pour un modèle et un ensemble de données donnés. Par exemple, les graphiques suivants montrent que pour une formation GPT125 de 2 millions de paramètres, la formation la moins chère maintenant une perplexité de 24.11 est obtenue en combinant AliBi, SequenceLength Warmup et Scale Schedule, atteignant un coût d'environ 145.83 $ dans le cloud AWS ! Cependant, veuillez noter que ce calcul de coûts et ceux qui suivent dans cet article sont basés uniquement sur un calcul à la demande EC2 ; d'autres considérations de coûts peuvent être applicables, en fonction de votre environnement et des besoins de votre entreprise.

Capture d'écran de MosaicML Explorer pour la formation GPT-2

Réalisations notables avec Composer sur AWS

En exécutant la bibliothèque Composer sur AWS, l'équipe MosaicML a obtenu un certain nombre de résultats impressionnants. Notez que les estimations de coûts signalées par l'équipe MosaicML comprennent uniquement les frais de calcul à la demande.

Conclusion

Vous pouvez démarrer avec Composer sur n'importe quelle plate-forme compatible, de votre ordinateur portable aux grands serveurs cloud équipés de GPU. La bibliothèque propose des fonctionnalités intuitives Visite de bienvenue ainsi que Pour commencer pages de documentation. L'utilisation de Composer dans AWS vous permet de cumuler la science de l'optimisation des coûts de Composer avec les services et programmes d'optimisation des coûts AWS, notamment le calcul Spot (Amazon EC2, Amazon Sage Maker), Plan d'épargne, Réglage automatique du modèle SageMaker, et plus. L'équipe MosaicML maintient un tutoriel de Composer sur AWS. Il fournit une démonstration étape par étape de la façon dont vous pouvez reproduire les résultats MLPerf et entraîner ResNet-50 sur AWS à la précision top-76.6 standard de 1 % en seulement 27 minutes.

Si vous rencontrez des difficultés avec des réseaux de neurones qui s'entraînent trop lentement, ou si vous cherchez à garder vos coûts de formation DL sous contrôle, essayez MosaicML sur AWS et faites-nous savoir ce que vous construisez !


À propos des auteurs

Réduisez le temps et les coûts de formation en deep learning avec MosaicML Composer sur AWS PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Bandish Shah est responsable de l'ingénierie chez MosaicML, qui s'efforce de relier l'apprentissage profond efficace aux systèmes distribués à grande échelle et au calcul de performance. Bandish a plus d'une décennie d'expérience dans la création de systèmes pour l'apprentissage automatique et les applications d'entreprise. Il aime passer du temps avec ses amis et sa famille, cuisiner et regarder Star Trek en boucle pour s'inspirer.

Réduisez le temps et les coûts de formation en deep learning avec MosaicML Composer sur AWS PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Olivier Cruchant est un architecte de solutions spécialiste de l'apprentissage automatique chez AWS, basé en France. Olivier aide les clients d'AWS, des petites startups aux grandes entreprises, à développer et déployer des applications d'apprentissage automatique de niveau production. Dans ses temps libres, il aime lire des articles de recherche et explorer la nature sauvage avec ses amis et sa famille.

Horodatage:

Plus de Apprentissage automatique AWS