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.
Häufig gestellte Fragen zum 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.
In den folgenden FAQs finden Sie Antworten auf häufig gestellte Fragen zu SageMaker Training Compiler.
F: Woher weiß ich, dass der SageMaker Training Compiler funktioniert?
Wenn Sie Ihren Trainingsauftrag mit dem SageMaker Training Compiler erfolgreich gestartet haben, erhalten Sie die folgenden Protokollmeldungen:
-
Mit
TrainingCompilerConfig(debug=False)Found configuration for Training Compiler Configuring SM Training Compiler... -
Mit
TrainingCompilerConfig(debug=True)Found configuration for Training Compiler Configuring SM Training Compiler... Training Compiler set to debug mode
F: Welche Modelle beschleunigt der SageMaker Training Compiler?
Der SageMaker Training Compiler unterstützt die beliebtesten Deep-Learning-Modelle aus der Hugging Face Transformers-Bibliothek. Bei den meisten Operatoren, die der Compiler unterstützt, können diese Modelle mit dem SageMaker Training Compiler schneller trainiert werden. Kompilierbar sind u.a. die folgenden Modelle: bert-base-cased, bert-base-chinese, bert-base-uncased, distilbert-base-uncased, distilbert-base-uncased-finetuned-sst-2-english, gpt2, roberta-base, roberta-large, t5-base und xlm-roberta-base. Der Compiler funktioniert mit den meisten DL-Operatoren und Datenstrukturen und kann über die getesteten hinaus noch viele weitere DL-Modelle beschleunigen.
F: Was passiert, wenn ich den SageMaker Training Compiler mit einem Modell aktiviere, das noch nicht getestet wurde?
Bei einem nicht getesteten Modell müssen Sie ggf. zuerst das Trainingsskript ändern, damit es mit dem SageMaker Training Compiler kompatibel ist. Weitere Informationen finden Sie unter Bringen Sie Ihr eigenes Deep-Learning-Modell mit. Folgen Sie dabei den Anweisungen zur Vorbereitung Ihres Trainingsskripts.
Sobald Sie Ihr Trainingsskript aktualisiert haben, können Sie mit dem Trainingsauftrag beginnen. Der Compiler kompiliert dann zunächst das Modell. Bei einem nicht getesteten Modell nimmt das Trainingsgeschwindigkeit jedoch ggf. nicht zu und kann sogar im Vergleich zum Ausgangswert sinken. Sie müssen die Trainingsparameter (z. B. batch_size und learning_rate) ggf. erneut anpassen, um in den Genuss der Vorteile einer Beschleunigung zu kommen.
Schlägt die Kompilierung des nicht getesteten Modells fehl, gibt der Compiler einen Fehler zurück. Ausführliche Informationen zu den Fehlertypen und Fehlermeldungen finden Sie unter Fehlerbehebung beim SageMaker Training Compiler.
F: Geht das Training mit dem SageMaker Training Compiler immer schneller?
Nein, nicht unbedingt. Zunächst bringt der SageMaker Training Compiler einen gewissen Kompilierungsaufwand mit sich, bevor der laufende Trainingsprozess beschleunigt werden kann. Der optimierte Trainingsauftrag muss ausreichend lange laufen, damit er sich amortisiert und diesen zusätzlichen Kompilierungsaufwand zu Beginn des Trainingsauftrags wieder wettmacht.
Darüber hinaus kann, wie bei jedem Modelltrainingsprozess, das Training mit suboptimalen Parametern die Trainingsdauer verlängern. SageMaker Training Compiler kann die Eigenschaften des Trainingsauftrags ändern, indem er z. B. den Speicherbedarf des Auftrags ändert. Aufgrund dieser Unterschiede müssen Sie Ihre Trainingsparameter ggf. erneut anpassen, um das Training zu beschleunigen. Eine Referenztabelle mit den leistungsstärksten Parametern für Trainingsaufträge mit unterschiedlichen Instance-Typen und Modellen finden Sie unter Getestete Modelle.
Schließlich kann ein Teil des Codes in einem Trainingsskript zusätzlichen Aufwand verursachen oder das kompilierte Berechnungsdiagramm stören und so das Training verlangsamen. Wenn Sie mit einem benutzerdefinierten oder nicht getesteten Modell arbeiten, lesen Sie die Anweisungen unter Bewährte Methoden zur Verwendung des SageMaker Training Compilers mit PyTorch/XLA.
F: Kann ich mit dem SageMaker Training Compiler immer eine größere Batch-Größe verwenden?
Die Batch-Größe nimmt in den meisten Fällen zu, jedoch nicht in allen. Die vom SageMaker Training Compiler vorgenommenen Optimierungen können die Eigenschaften Ihres Trainingsauftrags verändern, z. B. den Speicherbedarf. In der Regel belegt ein Trainingskompilierungsauftrag weniger Speicher als ein unkompilierter Trainingsauftrag mit dem nativen Framework. Das erlaubt während des Trainings eine höhere Batch-Größe. Eine höhere Batch-Größe und eine entsprechende Anpassung der Lernrate erhöht den Trainingsdurchsatz und kann die gesamte Trainingsdauer verringern.
Es kann jedoch Fälle geben, in denen der SageMaker Training Compiler aufgrund seines Optimierungsschemas den Speicherbedarf tatsächlich erhöht. Der Compiler verwendet ein analytisches Kostenmodell, um den Ausführungsplan mit den niedrigsten Ausführungskosten für jeden rechenintensiven Operator vorauszusagen. Dieses Modell kann einen optimalen Zeitplan finden, der den Speicherverbrauch erhöht. In diesem Fall können Sie die Batch-Größe nicht erhöhen. Ihr Probendurchsatz ist jedoch trotzdem höher.
F: Funktioniert der SageMaker Training Compiler mit anderen Trainingsfunktionen von SageMaker, wie z. B. den verteilten Trainingsbibliotheken von SageMaker AI und dem SageMaker Debugger?
Der SageMaker Training Compiler ist derzeit nicht mit den verteilten Trainingsbibliotheken von SageMaker AI kompatibel.
Der SageMaker Training Compiler ist mit dem SageMaker Debugger kompatibel, aber der Debugger kann durch zusätzlichen Aufwand die Rechenleistung beeinträchtigen.
F: Unterstützt SageMaker Training Compiler benutzerdefinierte Container (Bring your own Container)?
SageMaker Training Compiler wird über AWS Deep Learning Container bereitgestellt. Sie können eine Teilmenge der Container erweitern, um sie an Ihren Anwendungsfall anzupassen. Container, die aus AWS DLCs erweitert wurden, werden vom SageMaker Training Compiler unterstützt. Weitere Informationen finden Sie unter Unterstützte Frameworks und Verwenden des SageMaker AI Python SDK und Erweiterung der Deep Learning Containers des SageMaker AI-Frameworks. Wenn Sie weitere Unterstützung benötigen, wenden Sie sich über den AWSSupport