Reduzieren Sie Trainingszeit und -kosten für Deep Learning mit MosaicML Composer auf AWS PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Reduzieren Sie Schulungszeit und -kosten für Deep Learning mit MosaicML Composer auf AWS

In den letzten zehn Jahren haben wir gesehen Deep Learning (DL)-Wissenschaft wird von AWS-Kunden in enormem Tempo übernommen. Die zahlreichen und gemeinsam trainierten Parameter von DL-Modellen haben eine große Darstellungskapazität, die Verbesserungen in zahlreichen Kundenanwendungsfällen gebracht hat, darunter Bild- und Sprachanalyse, Verarbeitung natürlicher Sprache (NLP), Zeitreihenverarbeitung und mehr. In diesem Beitrag heben wir Herausforderungen hervor, über die häufig speziell im DL-Training berichtet wird, und wie die Open-Source-Bibliothek MosaicML-Komponist hilft, sie zu lösen.

Die Herausforderung beim DL-Training

DL-Modelle werden iterativ in einer verschachtelten For-Schleife trainiert. Eine Schleife iteriert Chunk für Chunk durch den Trainingsdatensatz und, falls erforderlich, wird diese Schleife mehrmals über den gesamten Datensatz wiederholt. ML-Praktiker, die an DL-Schulungen arbeiten, stehen vor mehreren Herausforderungen:

  • Die Trainingsdauer wächst mit der Datengröße. Mit ständig wachsenden Datensätzen wachsen auch die Einarbeitungszeiten und -kosten, und der Rhythmus der wissenschaftlichen Entdeckungen verlangsamt sich.
  • DL-Skripte erfordern häufig Boilerplate-Code, insbesondere die oben erwähnte doppelte for-Schleifenstruktur, die den Datensatz in Minibatches und das Training in Epochen aufteilt.
  • Das Paradox der Wahl: Es werden mehrere Studien zur Trainingsoptimierung und Bibliotheken veröffentlicht, aber es ist unklar, welche zuerst getestet werden soll und wie ihre Wirkungen kombiniert werden sollen.

In den letzten Jahren wurden mehrere Open-Source-Bibliotheken wie z Keras, PyTorch Blitz, Umarmen von Gesichtstransformatoren und Strahlenzug haben versucht, das DL-Training zugänglicher zu machen, insbesondere durch Reduzierung der Ausführlichkeit des Codes, wodurch die Programmierung neuronaler Netze vereinfacht wird. Die meisten dieser Bibliotheken haben sich auf Entwicklererfahrung und Code-Kompaktheit konzentriert.

In diesem Beitrag stellen wir eine neue Open-Source-Bibliothek vor, die einen anderen Standpunkt zum DL-Training einnimmt: MosaicML-Komponist ist eine geschwindigkeitsorientierte Bibliothek, deren Hauptziel es ist, Trainingsskripte für neuronale Netze durch algorithmische Innovation schneller zu machen. In der Cloud-DL-Welt ist es ratsam, sich auf Geschwindigkeit zu konzentrieren, da die Recheninfrastruktur oft pro Nutzung bezahlt wird – sogar bis auf die Sekunde genau Amazon SageMaker-Schulung– und Geschwindigkeitsverbesserungen können zu Geldeinsparungen führen.

In der Vergangenheit wurde das DL-Training hauptsächlich dadurch beschleunigt, dass die Anzahl der Maschinen erhöht wurde, die Modelliterationen parallel berechnen, eine Technik, die als Datenparallelität. Obwohl Datenparallelität manchmal das Training beschleunigt (nicht garantiert, da sie die Konvergenz stört, wie in hervorgehoben Goyalet al.), reduziert es nicht die Gesamtauftragskosten. In der Praxis erhöht es sich tendenziell aufgrund des Kommunikationsaufwands zwischen den Computern und der höheren Maschineneinheitskosten, da verteilte DL-Computer mit High-End-Netzwerken und In-Server-GPU-Verbindungen ausgestattet sind.

Obwohl MosaicML Composer Datenparallelität unterstützt, unterscheidet sich seine Kernphilosophie von der Bewegung für Datenparallelität. Ziel ist es, das Training zu beschleunigen, ohne dass mehr Maschinen erforderlich sind, indem Innovationen auf der Ebene der wissenschaftlichen Implementierung durchgeführt werden. Daher zielt es darauf ab, Zeiteinsparungen zu erzielen, die aufgrund der Pay-per-Use-Gebührenstruktur von AWS zu Kosteneinsparungen führen würden.

Einführung der Open-Source-Bibliothek MosaicML Composer

MosaicML Composer ist eine Open-Source-DL-Schulungsbibliothek, die speziell entwickelt wurde, um die Einbringung der neuesten Algorithmen und deren Zusammenstellung in neuartige Rezepte zu vereinfachen, die das Modelltraining beschleunigen und zur Verbesserung der Modellqualität beitragen. Zum Zeitpunkt der Erstellung dieses Artikels unterstützt es PyTorch und umfasst 25 Techniken – genannt Methoden in der MosaicML-Welt – zusammen mit Standardmodellen, Datensätzen und Benchmarks

Komponist ist erhältlich über Pip:

pip install mosaicml

Auf die in Composer implementierten Beschleunigungstechniken kann über die funktionale API zugegriffen werden. Das folgende Snippet gilt beispielsweise für die BlurPool Technik zu einem 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)

Optional können Sie auch a verwenden Trainer:innen um Ihre eigene Kombination von Techniken zusammenzustellen:

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()

Beispiele für in Composer implementierte Methoden

Einige der in Composer verfügbaren Methoden sind spezifisch für Computer Vision, z. B. Bildverbesserungstechniken ColOut, Ausgeschnitten, oder Progressive Bildgrößenänderung. Andere sind spezifisch für die Sequenzmodellierung, wie z Aufwärmen der Sequenzlänge or Alibi. Interessanterweise sind einige vom Anwendungsfall unabhängig und können auf eine Vielzahl von neuronalen PyTorch-Netzwerken jenseits von Computer Vision und NLP angewendet werden. Zu diesen generischen Beschleunigungsmethoden für das Training neuronaler Netze gehören: Etikettenglättung, Selektive Stützpfeiler, Stochastische Gewichtsmittelung, Layer-Freezing und Schärfebewusste Minimierung (SAM).

Lassen Sie uns tief in einige von ihnen eintauchen, die vom MosaicML-Team als besonders effektiv befunden wurden:

  • Schärfebewusste Minimierung (SAM) ein Optimierer ist, der sowohl die Modellverlustfunktion als auch ihre Schärfe minimiert, indem für jeden Optimierungsschritt zweimal ein Gradient berechnet wird. Um die zusätzliche Rechenleistung zur Benachteiligung des Durchsatzes zu begrenzen, kann SAM regelmäßig ausgeführt werden.
  • Aufmerksamkeit bei linearen Verzerrungen (ALiBi), inspiriert von Presset al., ist spezifisch für Transformers-Modelle. Es beseitigt die Notwendigkeit für positionelle Einbettungen und ersetzt sie durch eine nicht erlernte Neigung zu Aufmerksamkeitsgewichten.
  • Selektive Stützpfeiler, inspiriert von Jianget al., ermöglicht es Ihnen, Back-Propagation (die Algorithmen, die Modellgewichtungen verbessern, indem sie ihrer Fehlersteigung folgen) nur für Datensätze mit High-Loss-Funktion auszuführen. Diese Methode hilft Ihnen, unnötige Berechnungen zu vermeiden und den Durchsatz zu verbessern.

Diese Techniken in einem einzigen kompakten Schulungsrahmen verfügbar zu haben, ist ein erheblicher Mehrwert für ML-Praktiker. Wertvoll ist auch das umsetzbare Feld-Feedback, das das MosaicML-Team für jede Technik erstellt, getestet und bewertet. Angesichts einer so reichhaltigen Toolbox fragen Sie sich jedoch vielleicht: Welche Methode soll ich verwenden? Ist es sicher, die Anwendung mehrerer Methoden zu kombinieren? Geben Sie den MosaicML-Explorer ein.

MosaicML-Explorer

Um den Wert und die Kompatibilität von DL-Trainingsmethoden zu quantifizieren, behauptet das MosaicML-Team Erkunden, ein einzigartiges Live-Dashboard, das Dutzende von DL-Trainingsexperimenten über fünf Datensätze und sieben Modelle darstellt. Das Dashboard zeigt die paretooptimale Grenze im Kosten-/Zeit-/Qualitäts-Trade-off und ermöglicht es Ihnen, die am besten bewerteten Kombinationen von Methoden zu durchsuchen und zu finden – genannt Rezepte in der MosaicML-Welt – für ein bestimmtes Modell und Dataset. Die folgenden Diagramme zeigen beispielsweise, dass für ein GPT125-Training mit 2 Millionen Parametern das günstigste Training, das eine Perplexität von 24.11 aufrechterhält, durch die Kombination von AliBi, Sequence Length Warmup und Scale Schedule erzielt wird, was Kosten von etwa 145.83 $ in der AWS Cloud erreicht! Bitte beachten Sie jedoch, dass diese Kostenberechnung und die folgenden in diesem Beitrag nur auf einer EC2-On-Demand-Berechnung basieren. Abhängig von Ihrer Umgebung und Ihren Geschäftsanforderungen können andere Kostenüberlegungen gelten.

Screenshot von MosaicML Explorer für das GPT-2-Training

Bemerkenswerte Erfolge mit Composer auf AWS

Durch den Betrieb der Composer-Bibliothek auf AWS erzielte das MosaicML-Team eine Reihe beeindruckender Ergebnisse. Beachten Sie, dass die vom MosaicML-Team gemeldeten Kostenschätzungen nur aus On-Demand-Rechengebühren bestehen.

Zusammenfassung

Sie können mit Composer auf jeder kompatiblen Plattform beginnen, von Ihrem Laptop bis hin zu großen Cloud-Servern mit GPU. Die Bibliothek verfügt über intuitive Willkommenstour und Erste Schritte Dokumentationsseiten. Durch die Verwendung von Composer in AWS können Sie die Kostenoptimierungswissenschaft von Composer mit AWS-Kostenoptimierungsservices und -programmen kombinieren, einschließlich Spot-Berechnung (Amazon EC2, Amazon Sage Maker), Sparplan, Automatische Modellabstimmung von SageMaker, und mehr. Das MosaicML-Team pflegt a Lernprogramm von Composer auf AWS. Es bietet eine Schritt-für-Schritt-Demonstration, wie Sie MLPerf-Ergebnisse reproduzieren und ResNet-50 auf AWS in nur 76.6 Minuten auf die standardmäßige Top-1-Genauigkeit von 27 % trainieren können.

Wenn Sie Probleme mit neuronalen Netzen haben, die zu langsam trainieren, oder wenn Sie Ihre DL-Trainingskosten unter Kontrolle halten möchten, probieren Sie MosaicML auf AWS aus und lassen Sie uns wissen, was Sie bauen!


Über die Autoren

Reduzieren Sie Trainingszeit und -kosten für Deep Learning mit MosaicML Composer auf AWS PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Bandish Shah ist Engineering Manager bei MosaicML und arbeitet daran, effizientes Deep Learning mit groß angelegten verteilten Systemen und Performance Computing zu verbinden. Bandish verfügt über mehr als ein Jahrzehnt Erfahrung in der Entwicklung von Systemen für maschinelles Lernen und Unternehmensanwendungen. Er verbringt gerne Zeit mit Freunden und Familie, kocht und schaut sich zur Inspiration Star Trek an.

Reduzieren Sie Trainingszeit und -kosten für Deep Learning mit MosaicML Composer auf AWS PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Olivier Cruchant ist Machine Learning Specialist Solutions Architect bei AWS mit Sitz in Frankreich. Olivier hilft AWS-Kunden – von kleinen Startups bis hin zu großen Unternehmen – bei der Entwicklung und Bereitstellung von Anwendungen für maschinelles Lernen auf Produktionsniveau. In seiner Freizeit liest er gerne Forschungsarbeiten und erkundet mit Freunden und Familie die Wildnis.

Zeitstempel:

Mehr von AWS Maschinelles Lernen