Trainieren eines Modells mit Amazon SageMaker
Amazon SageMaker Training ist ein vollständig verwalteter Service für Machine Learning (ML), der von SageMaker angeboten wird und Ihnen hilft, eine Vielzahl von ML-Modellen effizient und in großem Maßstab zu trainieren. Die zentrale Funktion von SageMaker-AI-Jobs ist die Containerisierung von ML-Workloads und die Fähigkeit, AWS-Rechenressourcen zu verwalten. Die SageMaker-Trainingsplattform übernimmt die schwersten Aufgaben, die mit der Einrichtung und Verwaltung der Infrastruktur für ML-Trainingsworkloads verbunden ist. Mit SageMaker Training können Sie sich auf die Entwicklung, das Training und die Optimierung Ihres Modells konzentrieren. Auf dieser Seite werden drei empfohlene Methoden für den Einstieg in das Training eines Modells in SageMaker vorgestellt, gefolgt von zusätzlichen Optionen, die Sie in Betracht ziehen können.
Tipp
Informationen zum Training von Basismodellen für generative KI finden Sie unter Verwenden von SageMaker-JumpStart-Basismodellen in Amazon SageMaker Studio.
Auswahl eines Features innerhalb von Amazon SageMaker Training
Es gibt drei Hauptanwendungsfälle für das Training von ML-Modellen in SageMaker AI. In diesem Abschnitt werden diese Anwendungsfälle sowie die SageMaker-AI-Features beschrieben, die wir für jeden Anwendungsfall empfehlen.
Ganz gleich, ob Sie komplexe Deep-Learning-Modelle trainieren oder kleinere Machine-Learning-Algorithmen implementieren, SageMaker Training bietet optimierte und kostengünstige Lösungen, die die Anforderungen Ihrer Anwendungsfälle erfüllen.
Anwendungsfälle
Im Folgenden sind die wichtigsten Anwendungsfälle für das Training von ML-Modellen in SageMaker AI aufgeführt.
-
Anwendungsfall 1: Entwickeln eines Machine-Learning-Modells in einer Low-Code- oder No-Code-Umgebung
-
Anwendungsfall 2: Verwenden von Code, um Machine-Learning-Modelle mit mehr Flexibilität und Kontrolle zu entwickeln
-
Anwendungsfall 3: Entwickeln von Machine-Learning-Modellen in großem Maßstab mit mehr Flexibilität und Kontrolle
Empfohlene Features
In der folgenden Tabelle werden drei gängige Szenarien für das Training von ML-Modellen und die entsprechenden Optionen für den Einstieg in SageMaker Training beschrieben.
| Deskriptor | Anwendungsfall 1 | Anwendungsfall 2 | Anwendungsfall 3 |
|---|---|---|---|
| SageMaker-AI-Feature | Erstellen eines Modells mit Amazon SageMaker Canvas | Trainieren Sie ein Modell mit einem der in SageMaker AI integrierten ML-Algorithmen wie XGBoost oder aufgabenspezifischen Modellen von SageMaker JumpStart mit dem SageMaker Python SDK. | Trainieren Sie ein Modell in großem Maßstab mit maximaler Flexibilität, indem Sie den Skriptmodus |
| Beschreibung | Verwenden Ihrer eigenen Daten. SageMaker AI hilft bei der Erstellung von ML-Modellen und der Einrichtung der Trainingsinfrastruktur und der Ressourcen. |
Verwenden Sie Ihre eigenen Daten und wählen Sie einen der integrierten ML-Algorithmen von SageMaker AI aus. Richten Sie die Modellhyperparameter, Ausgabemetriken und grundlegenden Infrastruktureinstellungen mit dem SageMaker Python SDK ein. Die SageMaker-Trainingsplattform hilft bei der Bereitstellung der Trainingsinfrastruktur und der Ressourcen. |
Entwickeln Sie Ihren eigenen ML-Code und bringen Sie ihn als Skript oder als Satz von Skripten in SageMaker AI ein. Weitere Informationen finden Sie unter Verteilte Datenverarbeitung mit den Best Practices von SageMaker. Darüber hinaus können Sie Ihren eigenen Docker-Container verwenden. Die SageMaker-Trainingsplattform unterstützt Sie bei der Bereitstellung der Trainingsinfrastruktur und der Ressourcen in großem Umfang auf der Grundlage Ihrer benutzerdefinierten Einstellungen. |
| Optimiert für |
UI-gesteuerte Modellentwicklung mit geringem oder keinem Code und schnellem Experimentieren mit einem Trainingsdatensatz. Wenn Sie ein benutzerdefiniertes Modell erstellen, wird automatisch ein Algorithmus auf der Grundlage Ihrer Daten ausgewählt. Erweiterte Anpassungsoptionen wie die Auswahl von Algorithmen finden Sie unter Konfigurationen für erweiterte Modellerstellung. |
Training von ML-Modellen mit umfassender Anpassung für Hyperparameter und Infrastruktureinstellungen und der Möglichkeit, ML-Frameworks und Einstiegsskripte für mehr Flexibilität direkt zu verwenden. Verwenden Sie integrierte Algorithmen, vortrainierte Modelle und JumpStart-Modelle über das Amazon SageMaker Python SDK |
Workloads für ML-Trainings in großem Maßstab, die mehrere Instances und maximale Flexibilität erfordern. Siehe Verteilte Datenverarbeitung mit den Best Practices von SageMaker. SageMaker AI verwendet Docker-Images, um das Training und die Bereitstellung aller Modelle zu hosten. Sie können beliebige SageMaker-AI- oder externe Algorithmen verwenden und anhand von Docker-Containern Modelle erstellen. |
| Überlegungen |
Minimale Flexibilität bei der Anpassung des von Amazon SageMaker Canvas bereitgestellten Modells |
Das SageMaker Python SDK bietet im Vergleich zur Low-Level SageMaker Training API eine vereinfachte Oberfläche und weniger Konfigurationsoptionen. |
Erfordert Kenntnisse der AWS-Infrastruktur und der verteilten Trainingsoptionen. Siehe auch Erstellen Ihres eigenen Trainingscontainers mit dem SageMaker-Training-Toolkit. |
| Empfohlene Umgebung | Verwenden von Amazon SageMaker Canvas. Informationen zur Einrichtung finden Sie unter Erste Schritte bei der Verwendung von SageMaker Canvas. | Verwenden von SageMaker AI JupyterLab in Amazon SageMaker Studio. Informationen zur Einrichtung finden Sie unter Starten von Amazon SageMaker Studio. | Verwenden von SageMaker JupyterLab in Amazon SageMaker Studio. Informationen zur Einrichtung finden Sie unter Starten von Amazon SageMaker Studio. |
Zusätzliche Optionen
SageMaker AI bietet die folgenden zusätzlichen Optionen für das Training von ML-Modellen.
Features von SageMaker AI mit Trainingsmöglichkeiten
-
SageMaker JumpStart: SageMaker JumpStart bietet Zugriff auf den öffentlichen Model-Hub von SageMaker AI, der die neuesten öffentlich verfügbaren und proprietären Basismodelle (FMs) enthält. Sie können diese Modelle in Amazon SageMaker Studio optimieren, bewerten und bereitstellen. SageMaker JumpStart optimiert den Prozess der Nutzung von Basismodellen für Ihre Anwendungsfälle mit generativer KI und ermöglicht es Ihnen, private Modell-Hubs für die Verwendung von Basismodellen einzurichten und gleichzeitig Governance-Richtlinien durchzusetzen und sicherzustellen, dass Ihr Unternehmen nur auf genehmigte Modelle zugreifen kann. Informationen zu den ersten Schritten mit SageMaker JumpStart finden Sie unter SageMaker-JumpStart-Basismodelle.
-
SageMaker HyperPod: SageMaker HyperPod ist ein persistenter Cluster-Service für Anwendungsfälle, die resiliente Cluster für massive Machine-Learning-Workloads (ML) und die Entwicklung modernster Basismodelle (FMs) benötigen. Er beschleunigt die Entwicklung solcher Modelle, indem er die undifferenzierte aufwändige Erstellung und Wartung großer Rechencluster, die von Tausenden von Beschleunigern wie AWS Trainium oder NVIDIA A100 und H100 Graphical Processing Units (GPUs) angetrieben werden, überflüssig macht. Sie können Workload-Manager-Software wie Slurm auf HyperPod verwenden.
Weitere Features von SageMaker Training
-
Hyperparameteroptimierung: Dieses Feature von SageMaker AI hilft dabei, eine Reihe von Hyperparametern für ein Modell zu definieren und viele Trainingsjobs für einen Datensatz zu starten. Abhängig von den Hyperparameterwerten kann die Trainingsleistung des Modells variieren. Dieses Feature bietet den Satz von Hyperparametern mit der besten Leistung innerhalb des angegebenen Bereichs von Hyperparametern, den Sie für die Suche festgelegt haben.
-
Verteiltes Training: Führen Sie ein Vortraining oder die Optimierung von FMs durch, die mit PyTorch, NVIDIA CUDA und anderen PyTorch-basierten Frameworks erstellt wurden. Um GPU-Instances effizient zu nutzen, verwenden Sie die verteilten Trainingsbibliotheken von SageMaker AI, die kollektive Kommunikationsoperationen und verschiedene Methoden zur Modellparallelität wie Expertenparallelität und gemeinsame Datenparallelität bieten, die für die AWS-Infrastruktur optimiert sind.
-
Features zur Beobachtbarkeit: Verwenden Sie die Profilerstellungs- und Debugging-Funktionen von SageMaker Training, um Einblicke in die Workloads des Modelltrainings, die Modellleistung und die Ressourcennutzung zu gewinnen. Weitere Informationen finden Sie unter Debuggen und Verbessern der Modellleistung und Profilieren und Optimieren der Rechenleistung.
-
Kostensparende und effiziente Instance-Optionen: Verwenden Sie heterogene Cluster, verwaltete Spot Instances oder verwaltete Warmpools, um die Rechenkosten und die Effizienz für die Bereitstellung von Trainings-Instances zu optimieren.