Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Amazon SageMaker Training Compiler
Wichtig
Amazon Web Services (AWS) gibt bekannt, dass es keine neuen Versionen von SageMaker Training Compiler geben wird. Sie können den SageMaker Training Compiler weiterhin über die vorhandenen AWS Deep Learning Containers (DLCs) für SageMaker Training verwenden. Es ist wichtig zu beachten, dass auf die vorhandenen DLCs zwar weiterhin zugegriffen werden kann, sie jedoch gemäß der Framework-Supportrichtlinie für Deep-Learning-Container von AWS keine Patches oder Updates mehr erhalten.
Trainieren Sie Deep Learning (DL)-Modelle mit dem Amazon SageMaker Training Compiler schneller auf skalierbaren GPU-Instances, die von SageMaker AI verwaltet werden.
Was ist der SageMaker Training Compiler?
Modernste Deep-Learning-Modelle (DL) bestehen aus komplexen, mehrschichtigen neuronalen Netzwerken mit Milliarden von Parametern, deren Training Tausende von GPU-Stunden in Anspruch nehmen kann. Die Optimierung solcher Modelle in der Trainingsinfrastruktur erfordert umfangreiche Kenntnisse in DL und Systemtechnik. Das ist selbst für enge Anwendungsfälle eine Herausforderung. Auch wenn es Open-Source-Implementierungen von Compilern gibt, die den DL-Trainingsprozess optimieren helfen, fehlt ihnen ggf. die Flexibilität, DL-Frameworks in bestimmte Hardware zu integrieren, z. B. GPU-Instances.
SageMaker Training Compiler ist eine Funktion von SageMaker AI, die diese schwer zu implementierenden Optimierungen erlaubt und so die Trainingszeit auf GPU-Instances reduziert. Der Compiler optimiert DL-Modelle und beschleunigt so das Training, indem er die GPU-Instances von SageMaker AI für Machine Learning (ML) effizienter nutzt. Der SageMaker Training Compiler steht ohne zusätzliche Kosten in SageMaker AI zur Verfügung. Er kann dazu beitragen, die abgerechnete Gesamtzeit zu reduzieren und dabei das Training zu beschleunigen.
Der SageMaker Training Compiler ist in die AWS Deep Learning Container (DLCs) integriert. Mithilfe der für den SageMaker Training Compiler aktivierten AWS DLCs, können Sie Trainingsauftrags auf GPU-Instances mit minimalen Änderungen an Ihrem Code kompilieren und optimieren. Bringen Sie Ihre Deep-Learning-Modelle in SageMaker AI ein und lassen Sie den SageMaker Training Compiler die Geschwindigkeit Ihres Trainingsjobs auf ML-Instances von SageMaker AI erhöhen, und beschleunigten Sie so die Datenverarbeitung.
So funktioniert’s
SageMaker Training Compiler setzt DL-Modelle von ihrer sprachlichen Darstellung auf hohem Niveau in hardwareoptimierte Anweisungen um. Insbesondere wendet SageMaker Training Compiler Optimierungen auf Diagrammebene, Optimierungen auf Daten-Ablaufebene und Backend-Optimierungen an, um ein optimiertes Modell zu erstellen, das die Hardwareressourcen effizient nutzt. So können Sie Ihre Modelle schneller trainieren, als wenn Sie sie ohne Kompilierung trainieren würden.
Die Aktivierung des SageMaker Training Compiler für Ihren Trainingsauftrag erfolgt in zwei Schritten:
-
Bringen Sie Ihr eigenes DL-Skript mit und passen Sie es ggf. an, um es mit dem SageMaker Training Compiler zu kompilieren und zu trainieren. Weitere Informationen hierzu finden Sie unter Bringen Sie Ihr eigenes Deep-Learning-Modell mit.
-
Erstellen Sie mithilfe des SageMaker Python SDK ein SageMaker-AI-Schätzerobjekt mit dem Compiler-Konfigurationsparameter.
-
Aktivieren Sie den SageMaker Training Compiler, indem Sie
compiler_config=TrainingCompilerConfig()zur SageMaker-AI-Schätzerklasse hinzufügen. -
Passen Sie die Hyperparameter (
batch_sizeundlearning_rate) so an, dass SageMaker Training Compiler maximalen Nutzen bringt.Durch die Kompilierung mit dem SageMaker Training Compiler ändert sich der Speicherbedarf des Modells. In den meisten Fällen äußert sich dies darin, dass die Speicherauslastung abnimmt und daraus resultierend in einer Zunahme der Batch-Größe, die auf die GPU passt. In manchen Fällen fördert der Compiler auf intelligente Weise die Zwischenspeicherung. Das führt zu einer Abnahme der größten Batch-Größe, die auf die GPU passt. Beachten Sie, dass Sie die Lernrate entsprechend anpassen müssen, wenn Sie die Batch-Größe ändern wollen.
Eine Referenz für
batch_size, die für beliebte Modelle getestet wuren, finden Sie unter Getestete Modelle.Wenn Sie die Batch-Größe anpassen, müssen Sie auch die
learning_rateentsprechend anpassen. Bewährte Methoden zur Anpassung der Lernrate zusammen mit der Änderung der Batch-Größe finden Sie unter Bewährte Methoden und Überlegungen zum SageMaker Training Compiler. -
Durch Ausführen der
estimator.fit()-Klassenmethode kompiliert SageMaker AI Ihr Modell und startet den Trainingsjob.
Anweisungen zum Starten eines Trainingsauftrags finden Sie unter SageMaker Training Compiler aktivieren.
-
Der SageMaker Training Compiler verändert das trainierte Endmodell nicht. Sie können damit den Trainingsauftrag beschleunigen, das der GPU-Speicher effizienter genutzt wird und pro Iteration eine größere Batch-Größe auf die GPU passt. Das trainierte Endmodell aus dem durch den Compiler beschleunigten Trainingsauftrag ist identisch mit dem aus einem gewöhnlichen Trainingsauftrag erhaltenen Modell.
Tipp
Der SageMaker Training Compiler kompiliert nur DL-Modelle für das Training auf unterstützten GPU-Instances, die von SageMaker AI verwaltet werden. Verwenden Sie den SageMaker Neo-Compiler, um Ihr Modell für die Inference zu kompilieren und stellen Sie es so bereit, dass es überall in der Cloud und am Netzwerkrand laufen kann.