Die Erstellung skalierbarer und effizienter Pipelines für maschinelles Lernen (ML) ist entscheidend für die Rationalisierung der Entwicklung, Bereitstellung und Verwaltung von ML-Modellen. In diesem Beitrag stellen wir ein Framework zur Automatisierung der Erstellung eines gerichteten azyklischen Graphen (DAG) für vor Amazon SageMaker-Pipelines basierend auf einfachen Konfigurationsdateien. Der Framework-Code und Beispiele Die hier vorgestellten Methoden decken nur Modelltrainingspipelines ab, können aber auch problemlos auf Batch-Inferenzpipelines erweitert werden.
Dieses dynamische Framework verwendet Konfigurationsdateien, um Vorverarbeitungs-, Schulungs-, Bewertungs- und Registrierungsschritte für Einzelmodell- und Multimodell-Anwendungsfälle basierend auf benutzerdefinierten Python-Skripten und Infrastrukturanforderungen (einschließlich) zu orchestrieren Amazon Virtual Private Cloud (Amazon VPC) Subnetze und Sicherheitsgruppen, AWS Identity and Access Management and (IAM) Rollen, AWS-Schlüsselverwaltungsservice (AWS KMS-Schlüssel, Container-Registrierung und Instanztypen), Eingabe und Ausgabe Amazon Simple Storage-Service (Amazon S3) Pfade und Ressourcen-Tags. Mit Konfigurationsdateien (YAML und JSON) können ML-Anwender undifferenzierten Code für die Orchestrierung von Trainingspipelines mithilfe deklarativer Syntax angeben. Dies ermöglicht es Datenwissenschaftlern, ML-Modelle schnell zu erstellen und zu iterieren, und versetzt ML-Ingenieure in die Lage, ML-Pipelines für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) schneller zu durchlaufen, wodurch die Zeit bis zur Produktion von Modellen verkürzt wird.
Lösungsüberblick
Der vorgeschlagene Framework-Code beginnt mit dem Lesen der Konfigurationsdateien. Anschließend wird basierend auf den in den Konfigurationsdateien deklarierten Schritten und den Interaktionen und Abhängigkeiten zwischen den Schritten dynamisch ein SageMaker Pipelines DAG erstellt. Dieses Orchestrierungsframework eignet sich sowohl für Einzelmodell- als auch für Multimodell-Anwendungsfälle und sorgt für einen reibungslosen Daten- und Prozessfluss. Die wichtigsten Vorteile dieser Lösung sind:
- Automation – Der gesamte ML-Workflow, von der Datenvorverarbeitung bis zur Modellregistrierung, wird ohne manuelle Eingriffe orchestriert. Dies reduziert den Zeit- und Arbeitsaufwand für Modellexperimente und -operationalisierung.
- Reproduzierbarkeit – Mit einer vordefinierten Konfigurationsdatei können Datenwissenschaftler und ML-Ingenieure den gesamten Arbeitsablauf reproduzieren und so konsistente Ergebnisse über mehrere Läufe und Umgebungen hinweg erzielen.
- Skalierbarkeit - Amazon Sage Maker wird in der gesamten Pipeline verwendet und ermöglicht ML-Anwendern die Verarbeitung großer Datensätze und das Training komplexer Modelle ohne Bedenken hinsichtlich der Infrastruktur.
- Flexibilität – Das Framework ist flexibel und kann eine breite Palette von ML-Anwendungsfällen, ML-Frameworks (wie XGBoost und TensorFlow), Multi-Modell-Training und mehrstufiges Training unterstützen. Jeder Schritt des Trainings-DAG kann über die Konfigurationsdatei angepasst werden.
- Modell-Governance - Die Amazon SageMaker-Modellregistrierung Durch die Integration können Modellversionen verfolgt und so sicher in die Produktion überführt werden.
Das folgende Architekturdiagramm zeigt, wie Sie das vorgeschlagene Framework sowohl beim Experimentieren als auch bei der Operationalisierung von ML-Modellen verwenden können. Während des Experimentierens können Sie das in diesem Beitrag bereitgestellte Framework-Code-Repository und Ihre projektspezifischen Quellcode-Repositorys klonen Amazon SageMaker-Studio, und richten Sie Ihre virtuelle Umgebung ein (weiter unten in diesem Beitrag ausführlich beschrieben). Anschließend können Sie Vorverarbeitungs-, Schulungs- und Evaluierungsskripts sowie Konfigurationsoptionen durchlaufen. Um einen SageMaker Pipelines-Trainings-DAG zu erstellen und auszuführen, können Sie den Einstiegspunkt des Frameworks aufrufen, der alle Konfigurationsdateien liest, die erforderlichen Schritte erstellt und sie basierend auf der angegebenen Schrittreihenfolge und den angegebenen Abhängigkeiten orchestriert.
Während der Operationalisierung klont die CI-Pipeline das Framework-Code-Repository und die projektspezifischen Trainings-Repositories in ein AWS CodeBuild Job, bei dem das Einstiegspunktskript des Frameworks aufgerufen wird, um den SageMaker Pipelines-Trainings-DAG zu erstellen oder zu aktualisieren und ihn dann auszuführen.
Repository-Struktur
Das GitHub-Repository enthält die folgenden Verzeichnisse und Dateien:
- /framework/conf/ – Dieses Verzeichnis enthält eine Konfigurationsdatei, die zum Festlegen gemeinsamer Variablen für alle Modellierungseinheiten wie Subnetze, Sicherheitsgruppen und IAM-Rollen zur Laufzeit verwendet wird. Eine Modellierungseinheit ist eine Abfolge von bis zu sechs Schritten zum Training eines ML-Modells.
- /framework/createmodel/ – Dieses Verzeichnis enthält ein Python-Skript, das eine erstellt SageMaker-Modell Objekt basierend auf Modellartefakten von a SageMaker Pipelines-Schulungsschritt. Das Modellobjekt wird später in a verwendet SageMaker-Batch-Transformation Job zur Bewertung der Modellleistung an einem Testsatz.
- /framework/modelmetrics/ – Dieses Verzeichnis enthält ein Python-Skript, das eine erstellt Amazon SageMaker-Verarbeitung Job zum Generieren eines Modellmetrik-JSON-Berichts für ein trainiertes Modell basierend auf den Ergebnissen eines SageMaker-Batchtransformationsjobs, der an Testdaten durchgeführt wurde.
- /framework/pipeline/ – Dieses Verzeichnis enthält Python-Skripte, die Python-Klassen verwenden, die in anderen Framework-Verzeichnissen definiert sind, um einen SageMaker Pipelines DAG basierend auf den angegebenen Konfigurationen zu erstellen oder zu aktualisieren. Das Skript model_unit.py wird von Pipeline_service.py verwendet, um eine oder mehrere Modellierungseinheiten zu erstellen. Jede Modellierungseinheit besteht aus einer Abfolge von bis zu sechs Schritten zum Trainieren eines ML-Modells: Verarbeiten, Trainieren, Modell erstellen, Transformieren, Metriken und Registrieren des Modells. Konfigurationen für jede Modellierungseinheit sollten im jeweiligen Repository des Modells angegeben werden. Die Datei „pipeline_service.py“ legt außerdem Abhängigkeiten zwischen SageMaker Pipelines-Schritten fest (wie Schritte innerhalb und zwischen Modellierungseinheiten sequenziert oder verkettet werden), basierend auf dem Abschnitt „sagemakerPipeline“, der in der Konfigurationsdatei eines der Modellrepositorys (dem Ankermodell) definiert werden sollte. Dadurch können Sie von SageMaker Pipelines abgeleitete Standardabhängigkeiten überschreiben. Wir besprechen die Struktur der Konfigurationsdatei später in diesem Beitrag.
- /Rahmen/Verarbeitung/ – Dieses Verzeichnis enthält ein Python-Skript, das einen SageMaker-Verarbeitungsauftrag basierend auf dem angegebenen Docker-Image und Einstiegspunktskript erstellt.
- /framework/registermodel/ – Dieses Verzeichnis enthält ein Python-Skript zum Registrieren eines trainierten Modells zusammen mit seinen berechneten Metriken in der SageMaker-Modellregistrierung.
- /Rahmen/Schulung/ – Dieses Verzeichnis enthält ein Python-Skript, das einen SageMaker-Trainingsjob erstellt.
- /framework/transform/ – Dieses Verzeichnis enthält ein Python-Skript, das einen SageMaker-Batch-Transformationsauftrag erstellt. Im Rahmen des Modelltrainings wird damit die Leistungsmetrik eines trainierten Modells anhand von Testdaten berechnet.
- /framework/utilities/ – Dieses Verzeichnis enthält Dienstprogrammskripte zum Lesen und Zusammenfügen von Konfigurationsdateien sowie zur Protokollierung.
- /framework_entrypoint.py – Diese Datei ist der Einstiegspunkt des Framework-Codes. Es ruft eine im Verzeichnis /framework/pipeline/ definierte Funktion auf, um einen SageMaker Pipelines DAG zu erstellen oder zu aktualisieren und auszuführen.
- /Beispiele/ – Dieses Verzeichnis enthält mehrere Beispiele dafür, wie Sie dieses Automatisierungsframework zum Erstellen einfacher und komplexer Trainings-DAGs verwenden können.
- /env.env – Mit dieser Datei können Sie allgemeine Variablen wie Subnetze, Sicherheitsgruppen und IAM-Rollen als Umgebungsvariablen festlegen.
- /requirements.txt – Diese Datei gibt Python-Bibliotheken an, die für den Framework-Code erforderlich sind.
Voraussetzungen:
Sie sollten die folgenden Voraussetzungen erfüllen, bevor Sie diese Lösung bereitstellen:
- Ein AWS-Konto
- SageMaker-Studio
- Eine SageMaker-Rolle mit Amazon S3-Lese-/Schreibberechtigungen und AWS KMS-Verschlüsselungs-/Entschlüsselungsberechtigungen
- Ein S3-Bucket zum Speichern von Daten, Skripten und Modellartefakten
- Optional kann die AWS-Befehlszeilenschnittstelle (AWS-CLI)
- Python3 (Python 3.7 oder höher) und die folgenden Python-Pakete:
- boto3
- sagemaker
- PyYAML
- Zusätzliche Python-Pakete, die in Ihren benutzerdefinierten Skripten verwendet werden
Stellen Sie die Lösung bereit
Führen Sie die folgenden Schritte aus, um die Lösung bereitzustellen:
- Organisieren Sie Ihr Modelltrainings-Repository gemäß der folgenden Struktur:
- Klonen Sie den Framework-Code und Ihren Modellquellcode aus den Git-Repositorys:
-
- Clone
dynamic-sagemaker-pipelines-framework
Repo in ein Trainingsverzeichnis. Im folgenden Code gehen wir davon aus, dass das Trainingsverzeichnis aufgerufen wirdaws-train
: - Klonen Sie den Modellquellcode im selben Verzeichnis. Wiederholen Sie diesen Schritt für ein Training mit mehreren Modellen für so viele Modelle, wie Sie trainieren müssen.
- Clone
Für das Training mit einem einzelnen Modell sollte Ihr Verzeichnis wie folgt aussehen:
Für das Training mit mehreren Modellen sollte Ihr Verzeichnis wie folgt aussehen:
- Richten Sie die folgenden Umgebungsvariablen ein. Sternchen kennzeichnen erforderliche Umgebungsvariablen. der Rest ist optional.
Umgebungsvariable | Beschreibung |
SMP_ACCOUNTID* |
AWS-Konto, auf dem die SageMaker-Pipeline ausgeführt wird |
SMP_REGION* |
AWS-Region, in der die SageMaker-Pipeline ausgeführt wird |
SMP_S3BUCKETNAME* |
Name des S3-Buckets |
SMP_ROLE* |
SageMaker-Rolle |
SMP_MODEL_CONFIGPATH* |
Relativer Pfad der Einzelmodell- oder Multimodell-Konfigurationsdateien |
SMP_SUBNETS |
Subnetz-IDs für die SageMaker-Netzwerkkonfiguration |
SMP_SECURITYGROUPS |
Sicherheitsgruppen-IDs für die SageMaker-Netzwerkkonfiguration |
Für Einzelmodell-Anwendungsfälle: SMP_MODEL_CONFIGPATH
wird sein <MODEL-DIR>/conf/conf.yaml
. Für Anwendungsfälle mit mehreren Modellen: SMP_MODEL_CONFIGPATH
wird sein */conf/conf.yaml
, mit dem Sie alle finden können conf.yaml
Erstellen Sie Dateien mit dem Glob-Modul von Python und kombinieren Sie sie zu einer globalen Konfigurationsdatei. Während des Experimentierens (lokales Testen) können Sie Umgebungsvariablen in der Datei env.env angeben und diese dann exportieren, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
Beachten Sie, dass die Werte von Umgebungsvariablen in env.env
sollte in Anführungszeichen gesetzt werden (z. B. SMP_REGION="us-east-1"
). Während der Operationalisierung sollten diese Umgebungsvariablen von der CI-Pipeline festgelegt werden.
- Erstellen und aktivieren Sie eine virtuelle Umgebung, indem Sie die folgenden Befehle ausführen:
- Installieren Sie die erforderlichen Python-Pakete, indem Sie den folgenden Befehl ausführen:
- Bearbeiten Sie Ihr Modelltraining
conf.yaml
Dateien. Wir besprechen die Struktur der Konfigurationsdatei im nächsten Abschnitt. - Rufen Sie vom Terminal aus den Einstiegspunkt des Frameworks auf, um den SageMaker Pipeline-Trainings-DAG zu erstellen oder zu aktualisieren und auszuführen:
- Sehen Sie sich die auf dem ausgeführten SageMaker-Pipelines an und debuggen Sie sie Pipelines Registerkarte der SageMaker Studio-Benutzeroberfläche.
Struktur der Konfigurationsdatei
In der vorgeschlagenen Lösung gibt es zwei Arten von Konfigurationsdateien: Framework-Konfiguration und Modellkonfiguration. In diesem Abschnitt beschreiben wir jeden im Detail.
Framework-Konfiguration
Das /framework/conf/conf.yaml
Die Datei legt die Variablen fest, die allen Modellierungseinheiten gemeinsam sind. Das beinhaltet SMP_S3BUCKETNAME
, SMP_ROLE
, SMP_MODEL_CONFIGPATH
, SMP_SUBNETS
, SMP_SECURITYGROUPS
und SMP_MODELNAME
. Beschreibungen dieser Variablen und deren Festlegung über Umgebungsvariablen finden Sie in Schritt 3 der Bereitstellungsanweisungen.
Modellkonfiguration
Für jedes Modell im Projekt müssen wir Folgendes angeben <MODEL-DIR>/conf/conf.yaml
Datei (Sternchen kennzeichnen erforderliche Abschnitte; der Rest ist optional):
- /conf/models* – In diesem Abschnitt können Sie eine oder mehrere Modellierungseinheiten konfigurieren. Wenn der Framework-Code ausgeführt wird, liest er zur Laufzeit automatisch alle Konfigurationsdateien und hängt sie an den Konfigurationsbaum an. Theoretisch können Sie alle Modellierungseinheiten gleichzeitig angeben
conf.yaml
Es wird jedoch empfohlen, jede Modellierungseinheitskonfiguration in ihrem jeweiligen Verzeichnis oder Git-Repository anzugeben, um Fehler zu minimieren. Die Einheiten sind wie folgt:- {Modellname}* – Der Name des Modells.
- Quellverzeichnis* - Ein gemeinsames
source_dir
Pfad, der für alle Schritte innerhalb der Modellierungseinheit verwendet werden soll. - Vorverarbeitung – In diesem Abschnitt werden Vorverarbeitungsparameter angegeben.
- Zug* – In diesem Abschnitt werden Trainingsauftragsparameter angegeben.
- verwandeln* – In diesem Abschnitt werden SageMaker Transform-Auftragsparameter angegeben, um Vorhersagen zu den Testdaten zu treffen.
- bewerten – In diesem Abschnitt werden SageMaker-Verarbeitungsauftragsparameter zum Generieren eines JSON-Modellmetrikberichts für das trainierte Modell angegeben.
- Registrierung* – In diesem Abschnitt werden Parameter für die Registrierung des trainierten Modells in der SageMaker-Modellregistrierung angegeben.
- /conf/sagemakerPipeline* – Dieser Abschnitt definiert den SageMaker Pipelines-Ablauf, einschließlich der Abhängigkeiten zwischen den Schritten. Für Einzelmodell-Anwendungsfälle wird dieser Abschnitt am Ende der Konfigurationsdatei definiert. Für Anwendungsfälle mit mehreren Modellen ist die
sagemakerPipeline
Der Abschnitt muss nur in der Konfigurationsdatei eines der Modelle (eines beliebigen Modells) definiert werden. Wir bezeichnen dieses Modell als Ankermodell. Die Parameter sind wie folgt:- PipelineName* – Name der SageMaker-Pipeline.
- für* – Verschachtelte Liste von Modellierungseinheiten:
- {Modellname}* – Modell-ID, die mit einer {model-name}-ID im Abschnitt /conf/models übereinstimmen sollte.
- Schritte* -
- Schrittname* – Schrittname, der im SageMaker Pipelines DAG angezeigt werden soll.
- step_class* – (Union[Verarbeitung, Training, CreateModel, Transform, Metrics, RegisterModel])
- Schritttyp* – Dieser Parameter wird nur für Vorverarbeitungsschritte benötigt, für die er auf Vorverarbeitung gesetzt werden sollte. Dies ist erforderlich, um Vorverarbeitungs- und Bewertungsschritte zu unterscheiden, die beide eine haben
step_class
der Verarbeitung. - enable_cache – ([Union[True, False]]). Dies gibt an, ob aktiviert werden soll SageMaker Pipelines-Caching für diesen Schritt.
- chain_input_source_step – ([Liste[Schrittname]]). Damit können Sie die Kanalausgänge eines anderen Schritts als Eingang für diesen Schritt festlegen.
- chain_input_additional_prefix – Dies ist nur für Schritte der Transformation zulässig
step_class
, und kann in Verbindung mit verwendet werdenchain_input_source_step
Parameter, um die Datei zu bestimmen, die als Eingabe für den Transformationsschritt verwendet werden soll.
- Schritte* -
- {Modellname}* – Modell-ID, die mit einer {model-name}-ID im Abschnitt /conf/models übereinstimmen sollte.
- Abhängigkeiten – Dieser Abschnitt gibt die Reihenfolge an, in der die SageMaker Pipelines-Schritte ausgeführt werden sollen. Wir haben die Apache Airflow-Notation für diesen Abschnitt angepasst (z. B.
{step_name} >> {step_name}
). Wenn dieser Abschnitt leer bleibt, werden explizite Abhängigkeiten angezeigt, die durch angegeben werdenchain_input_source_step
Parameter oder implizite Abhängigkeiten definieren den SageMaker Pipelines DAG-Fluss.
Beachten Sie, dass wir einen Trainingsschritt pro Modellierungseinheit empfehlen. Wenn für eine Modellierungseinheit mehrere Trainingsschritte definiert sind, übernehmen die nachfolgenden Schritte implizit den letzten Trainingsschritt, um das Modellobjekt zu erstellen, Metriken zu berechnen und das Modell zu registrieren. Wenn Sie mehrere Modelle trainieren müssen, empfiehlt es sich, mehrere Modellierungseinheiten zu erstellen.
Beispiele
In diesem Abschnitt demonstrieren wir drei Beispiele für ML-Modell-Trainings-DAGs, die mit dem vorgestellten Framework erstellt wurden.
Einzelmodelltraining: LightGBM
Dies ist ein Einzelmodellbeispiel für einen Klassifizierungsanwendungsfall, den wir verwenden LightGBM im Skriptmodus auf SageMakerdem „Vermischten Geschmack“. Seine Datensatz besteht aus kategorialen und numerischen Variablen zur Vorhersage des binären Labels „Umsatz“ (um vorherzusagen, ob die Person einen Kauf tätigt oder nicht). Der Vorverarbeitungsskript wird verwendet, um die Daten für Training und Tests zu modellieren und dann Stellen Sie es in einem S3-Bucket bereit. Die S3-Pfade werden dann dem bereitgestellt Trainingsschritt in der Konfigurationsdatei.
Wenn der Trainingsschritt ausgeführt wird, lädt SageMaker die Datei in den Container unter /opt/ml/input/data/{channelName}/
, zugänglich über die Umgebungsvariable SM_CHANNEL_{channelName}
auf dem Behälter (channelName= 'train' oder 'test'). Die Trainingsskript macht folgendes:
- Laden Sie die Dateien lokal aus lokalen Containerpfaden mithilfe von NumPy-Last Modul.
- Legen Sie Hyperparameter für den Trainingsalgorithmus fest.
- Speichern Sie das trainierte Modell im lokalen Containerpfad
/opt/ml/model/
.
SageMaker verwendet den Inhalt unter /opt/ml/model/, um einen Tarball zu erstellen, der zum Bereitstellen des Modells auf SageMaker zum Hosten verwendet wird.
Der Transformationsschritt verwendet die bereitgestellte Eingabe als Eingabe Testdatei als Eingabe und das trainierte Modell, um Vorhersagen über das trainierte Modell zu treffen. Die Ausgabe des Transformationsschritts ist angekettet zum Metrikschritt, um das Modell anhand der zu bewerten Grund Wahrheit, die explizit dem Metrikschritt bereitgestellt wird. Schließlich wird die Ausgabe des Metrikschritts implizit mit dem Registrierungsschritt verkettet, um das Modell in der SageMaker-Modellregistrierung mit Informationen über die im Metrikschritt erzeugte Leistung des Modells zu registrieren. Die folgende Abbildung zeigt eine visuelle Darstellung des Trainings-DAG. Die Skripts und die Konfigurationsdatei für dieses Beispiel finden Sie im GitHub Repo.
Einzelmodelltraining: LLM-Feinabstimmung
Dies ist ein weiteres Einzelmodell-Trainingsbeispiel, bei dem wir die Feinabstimmung eines Falcon-40B-LLM (Large Language Model) von Hugging Face Hub für einen Anwendungsfall der Textzusammenfassung orchestrieren. Der Vorverarbeitungsskript lädt die Samsum Datensatz von Hugging Face, lädt den Tokenizer für das Modell und verarbeitet die Trainings-/Testdatenaufteilungen zur Feinabstimmung des Modells auf diesen Domänendaten im Schritt falcon-text-summarization-preprocess.
Die Ausgabe ist angekettet zum Falcon-Text-Summarization-Tuning-Schritt, wo die Trainingsskript lädt den Falcon-40B LLM vom Hugging Face Hub und startet die beschleunigte Feinabstimmung mit LoRA im Zug geteilt. Das Modell wird im selben Schritt nach der Feinabstimmung bewertet Pförtner Der Auswertungsverlust führt dazu, dass der Falcon-Text-Summarization-Tuning-Schritt fehlschlägt, was dazu führt, dass die SageMaker-Pipeline stoppt, bevor sie das fein abgestimmte Modell registrieren kann. Andernfalls wird der Schritt „falcon-text-summarization-tuning“ erfolgreich ausgeführt und das Modell wird in der SageMaker-Modellregistrierung registriert. Die folgende Abbildung zeigt eine visuelle Darstellung der LLM-Feinabstimmungs-DAG. Die Skripts und die Konfigurationsdatei für dieses Beispiel sind im verfügbar GitHub Repo.
Multi-Modell-Training
Dies ist ein Beispiel für ein Training mit mehreren Modellen, bei dem ein PCA-Modell (Principal Component Analysis) zur Dimensionsreduzierung und ein TensorFlow Multilayer Perceptron-Modell dafür trainiert werden Vorhersage der Immobilienpreise in Kalifornien. Der Vorverarbeitungsschritt des TensorFlow-Modells verwendet ein trainiertes PCA-Modell, um die Dimensionalität seiner Trainingsdaten zu reduzieren. Wir fügen der Konfiguration eine Abhängigkeit hinzu, um sicherzustellen, dass das TensorFlow-Modell nach der PCA-Modellregistrierung registriert wird. Die folgende Abbildung zeigt eine visuelle Darstellung des Multimodell-Trainings-DAG-Beispiels. Die Skripts und Konfigurationsdateien für dieses Beispiel sind im verfügbar GitHub Repo.
Aufräumen
Führen Sie die folgenden Schritte aus, um Ihre Ressourcen zu bereinigen:
- Verwenden Sie dazu die AWS CLI Liste machen entfernen alle verbleibenden Pipelines, die von den Python-Skripten erstellt werden.
- Löschen Sie optional andere AWS-Ressourcen wie den S3-Bucket oder die IAM-Rolle, die außerhalb von SageMaker Pipelines erstellt wurden.
Zusammenfassung
In diesem Beitrag haben wir ein Framework zur Automatisierung der SageMaker Pipelines DAG-Erstellung basierend auf Konfigurationsdateien vorgestellt. Das vorgeschlagene Framework bietet eine zukunftsweisende Lösung für die Herausforderung der Orchestrierung komplexer ML-Workloads. Durch die Verwendung einer Konfigurationsdatei bietet SageMaker Pipelines die Flexibilität, eine Orchestrierung mit minimalem Code zu erstellen, sodass Sie den Prozess der Erstellung und Verwaltung von Pipelines mit einem oder mehreren Modellen optimieren können. Dieser Ansatz spart nicht nur Zeit und Ressourcen, sondern fördert auch MLOps-Best Practices und trägt so zum Gesamterfolg von ML-Initiativen bei. Weitere Informationen zu Implementierungsdetails finden Sie im GitHub Repo.
Über die Autoren
Luis Felipe Yepez Barrios, ist Ingenieur für maschinelles Lernen bei AWS Professional Services und konzentriert sich auf skalierbare verteilte Systeme und Automatisierungstools, um wissenschaftliche Innovationen im Bereich maschinelles Lernen (ML) voranzutreiben. Darüber hinaus unterstützt er Unternehmenskunden bei der Optimierung ihrer maschinellen Lernlösungen durch AWS-Dienste.
Jinzhao Feng, ist Machine Learning Engineer bei AWS Professional Services. Sein Schwerpunkt liegt auf der Architektur und Implementierung groß angelegter generativer KI und klassischer ML-Pipeline-Lösungen. Er ist spezialisiert auf FMOps, LLMOps und verteiltes Training.
Harter Asnani, ist Machine Learning Engineer bei AWS. Sein Hintergrund liegt in der angewandten Datenwissenschaft mit Schwerpunkt auf der Operationalisierung von Machine-Learning-Workloads in der Cloud in großem Maßstab.
Hasan Shojaei, ist Senior Data Scientist bei AWS Professional Services, wo er Kunden aus verschiedenen Branchen bei der Lösung ihrer geschäftlichen Herausforderungen durch den Einsatz von Big Data, maschinellem Lernen und Cloud-Technologien unterstützt. Vor dieser Rolle leitete Hasan mehrere Initiativen zur Entwicklung neuartiger physikbasierter und datengesteuerter Modellierungstechniken für führende Energieunternehmen. Außerhalb der Arbeit interessiert sich Hasan leidenschaftlich für Bücher, Wandern, Fotografie und Geschichte.
Alec Jenab, ist ein Machine-Learning-Ingenieur, der sich auf die Entwicklung und Operationalisierung von Machine-Learning-Lösungen im großen Maßstab für Unternehmenskunden spezialisiert hat. Alec ist leidenschaftlich daran interessiert, innovative Lösungen auf den Markt zu bringen, insbesondere in Bereichen, in denen maschinelles Lernen die Endbenutzererfahrung erheblich verbessern kann. Außerhalb der Arbeit spielt er gerne Basketball, Snowboard und entdeckt versteckte Schätze in San Francisco.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/automate-amazon-sagemaker-pipelines-dag-creation/
- :Ist
- :nicht
- :Wo
- $UP
- 120
- 160
- 7
- 8
- 9
- a
- Fähig
- Über uns
- beschleunigt
- Zugang
- zugänglich
- unterbringen
- Nach
- Konto
- Erreichen
- über
- aktivieren
- azyklisch
- hinzufügen
- Nach der
- gegen
- AI
- Algorithmus
- Alle
- erlauben
- erlaubt
- erlaubt
- entlang
- ebenfalls
- Amazon
- Amazon Sage Maker
- Amazon SageMaker-Pipelines
- Amazon Web Services
- unter
- an
- Analyse
- Moderator
- machen
- Ein anderer
- jedem
- Apache
- angewandt
- Ansatz
- Architektur
- SIND
- Bereiche
- AS
- Vorlagen
- annehmen
- At
- automatisieren
- Im Prinzip so, wie Sie es von Google Maps kennen.
- automatisieren
- Automation
- verfügbar
- AWS
- Professionelle AWS-Services
- Hintergrund
- basierend
- Basketball
- BE
- Bevor
- Vorteile
- BESTE
- Best Practices
- Big
- Big Data
- Bücher
- beide
- Bringing
- bauen
- Geschäft
- aber
- by
- Berechnen
- berechnet
- rufen Sie uns an!
- namens
- Aufrufe
- CAN
- Häuser
- Fälle
- Kümmert sich
- Ursachen
- angekettet
- challenges
- Herausforderungen
- Kanal
- Entscheidungen
- Unterricht
- Einstufung
- reinigen
- cli
- Kunden
- Cloud
- Code
- kombinieren
- gemeinsam
- Unternehmen
- Komplex
- Komponente
- Bedenken
- Vertrauen
- Konfiguration
- Verbindung
- konsistent
- besteht
- Container
- Behälter
- enthält
- Inhalt
- Kontext
- kontinuierlich
- Beitrag
- Abdeckung
- erstellen
- erstellt
- schafft
- Erstellen
- Schaffung
- wichtig
- Original
- Kunden
- maßgeschneiderte
- TAG
- technische Daten
- Datenwissenschaft
- Datenwissenschaftler
- datengesteuerte
- Datensätze
- , erklärt
- Standard
- definieren
- definiert
- Definiert
- Lieferanten
- zeigen
- Abhängigkeiten
- Abhängigkeit
- einsetzen
- Bereitstellen
- Einsatz
- beschreiben
- Detail
- detailliert
- Details
- entwickeln
- Entwicklung
- Entwicklung
- Diagramm
- anders
- gerichtet
- Verzeichnisse
- Verzeichnis
- entdecken
- diskutieren
- angezeigt
- unterscheiden
- verteilt
- verteilte Systeme
- verteiltes Training
- Docker
- die
- Domain
- im
- dynamisch
- dynamisch
- jeder
- effizient
- Anstrengung
- befähigt
- ermöglichen
- ermöglicht
- ermöglichen
- Ende
- Energie
- Ingenieur
- Ingenieure
- gewährleisten
- Unternehmen
- Ganz
- Eintrag
- Arbeitsumfeld
- Umgebungen
- Fehler
- insbesondere
- bewerten
- Bewerten
- Auswerten
- Auswertung
- Jedes
- Beispiel
- Beispiele
- beschleunigen
- ERFAHRUNGEN
- explizit
- exportieren
- verlängert
- Gesicht
- FAIL
- falsch
- beschleunigt
- Feld
- Abbildung
- Reichen Sie das
- Mappen
- Endlich
- Finden Sie
- Flexibilität
- flexibel
- Fluss
- Setzen Sie mit Achtsamkeit
- konzentriert
- konzentriert
- Folgende
- folgt
- Aussichten für
- unten stehende Formular
- vorausschau
- Unser Ansatz
- Gerüste
- Francisco cisco~~POS=HEADCOMP
- für
- Funktion
- Außerdem
- Erzeugung
- generativ
- Generative KI
- Git
- Global
- Governance
- Graph
- mehr
- Gruppe an
- Gruppen
- Haben
- mit
- he
- hilft
- hier
- versteckt
- seine
- Geschichte
- Hosting
- Gehäuse
- Ultraschall
- Hilfe
- HTML
- http
- HTTPS
- Nabe
- Kennzeichnung
- Identitätsschutz
- ids
- if
- Image
- Implementierung
- Umsetzung
- zu unterstützen,
- in
- In anderen
- Dazu gehören
- Einschließlich
- zeigen
- zeigt
- Branchen
- gefolgert
- Information
- Infrastruktur
- Initiativen
- Innovation
- innovativ
- Varianten des Eingangssignals:
- innerhalb
- installieren
- Instanz
- Anleitung
- Integration
- Interaktionen
- Intervention
- in
- IT
- SEINE
- Job
- Beitritt
- jpg
- JSON
- Wesentliche
- Tasten
- Label
- Sprache
- grosse
- Nachname
- später
- lernen
- geführt
- links
- Bibliotheken
- Gefällt mir
- Line
- Liste
- LLM
- Belastung
- Belastungen
- aus einer regionalen
- örtlich
- Protokollierung
- aussehen
- aussehen wie
- Verlust
- Maschine
- Maschinelles Lernen
- um
- MACHT
- Making
- Management
- flächendeckende Gesundheitsprogramme
- manuell
- viele
- Markt
- Spiel
- Metrisch
- Metrik
- minimal
- minimieren
- ML
- MLOps
- Model
- Modell
- Modellieren
- für
- Modul
- mehr
- mehrere
- Name
- notwendig,
- Need
- erforderlich
- Bedürfnisse
- Vernetzung
- weiter
- nicht
- Roman
- Objekt
- of
- Angebote
- on
- EINEM
- einzige
- Optimierung
- or
- orchestriert
- orchestrieren
- Orchesterbearbeitung
- Andere
- Andernfalls
- Möglichkeiten für das Ausgangssignal:
- Ausgänge
- aussen
- Gesamt-
- Override
- Pakete
- Parameter
- Parameter
- leidenschaftlich
- Weg
- Pfade
- für
- Leistung
- durchgeführt
- Fotografie
- Pipeline
- Plato
- Datenintelligenz von Plato
- PlatoData
- spielend
- Points
- Post
- Praktiken
- vordefiniert
- vorhersagen
- Prognosen
- Voraussetzungen
- Gegenwart
- vorgeführt
- Preis
- Principal
- Vor
- privat
- Prozessdefinierung
- anpassen
- Verarbeitung
- Produziert
- Produktion
- Professionell
- Projekt
- fördert
- Die Förderung der
- vorgeschlage
- vorausgesetzt
- bietet
- Kauf
- Python
- schnell
- Angebot
- Lesen Sie mehr
- leicht
- Lesebrillen
- empfehlen
- empfohlen
- Veteran
- reduziert
- Reduktion
- siehe
- Region
- Registrieren
- eingetragen
- Registrieren
- Registrierung:
- Registratur
- verbleibenden
- wiederholen
- berichten
- Quelle
- Darstellung
- falls angefordert
- Voraussetzungen:
- Ressourcen
- Downloads
- diejenigen
- REST
- Die Ergebnisse
- Einnahmen
- Überprüfen
- Rollen
- Rollen
- Führen Sie
- Laufen
- läuft
- Laufzeit
- sagemaker
- SageMaker-Pipelines
- gleich
- San
- San Francisco
- skalierbaren
- Skalieren
- Wissenschaft
- wissenschaftlich
- Wissenschaftler
- Wissenschaftler
- Skript
- Skripte
- Abschnitt
- Abschnitte
- Sicherheitdienst
- Reihenfolge
- Dienstleistungen
- kompensieren
- Sets
- mehrere
- sollte
- Konzerte
- Einfacher
- SIX
- glätten
- So
- Lösung
- Lösungen
- LÖSEN
- Quelle
- Quellcode
- spezialisiert
- spezialisiert
- angegeben
- gespalten
- Spagat
- beginnt
- Schritt
- Shritte
- Stoppen
- Lagerung
- Speicherung
- rationalisieren
- Rationalisierung
- Struktur
- Studio Adressen
- Fach
- Subnetze
- Folge
- Erfolg
- Erfolgreich
- so
- geliefert
- Syntax
- Systeme und Techniken
- Nehmen
- nimmt
- Techniken
- Technologies
- Tensorfluss
- Terminal
- Test
- Testen
- Text
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- Das Register
- ihr
- Sie
- dann
- deswegen
- Diese
- fehlen uns die Worte.
- nach drei
- Durch
- während
- Zeit
- zu
- Top
- Tracking
- Training
- trainiert
- Ausbildung
- Transformieren
- Baum
- was immer dies auch sein sollte.
- XNUMX
- Typen
- ui
- für
- Einheit
- Bereiche
- Aktualisierung
- -
- Anwendungsfall
- benutzt
- Mitglied
- Benutzererfahrung
- verwendet
- Verwendung von
- Nutzen
- Werte
- Variable
- Versionen
- Assistent
- visuell
- we
- Netz
- Web-Services
- GUT
- wann
- ob
- welche
- WHO
- breit
- Große Auswahl
- werden wir
- mit
- .
- ohne
- Arbeiten
- Arbeitsablauf.
- XGBoost
- YAML
- Du
- Ihr
- Zephyrnet