Das Ausführen von Machine Learning (ML)-Experimenten in der Cloud kann sich über viele Dienste und Komponenten erstrecken. Die Fähigkeit, ML-Experimente zu strukturieren, zu automatisieren und zu verfolgen, ist unerlässlich, um eine schnelle Entwicklung von ML-Modellen zu ermöglichen. Mit den neuesten Fortschritten auf dem Gebiet des automatisierten maschinellen Lernens (AutoML), nämlich dem ML-Bereich, der der Automatisierung von ML-Prozessen gewidmet ist, können Sie genaue Modelle zur Entscheidungsfindung erstellen, ohne tiefgreifende ML-Kenntnisse zu benötigen. In diesem Beitrag sehen wir uns AutoGluon an, ein Open-Source-AutoML-Framework, mit dem Sie genaue ML-Modelle mit nur wenigen Python-Zeilen erstellen können.
AWS bietet eine breite Palette von Services zum Verwalten und Ausführen von ML-Workflows, sodass Sie eine Lösung basierend auf Ihren Fähigkeiten und Ihrer Anwendung auswählen können. Zum Beispiel, wenn Sie bereits verwenden AWS Step-Funktionen Um die Komponenten verteilter Anwendungen zu orchestrieren, können Sie denselben Dienst verwenden, um Ihre ML-Workflows zu erstellen und zu automatisieren. Andere von AWS angebotene MLOps-Tools umfassen Amazon SageMaker-Pipelines, mit der Sie ML-Modelle erstellen können Amazon SageMaker-Studio mit MLOps-Funktionen (wie CI/CD-Kompatibilität, Modellüberwachung und Modellzulassungen). Open-Source-Tools, wie z Apache-Luftstrom—verfügbar auf AWS durch Von Amazon verwaltete Workflows für Apache Airflow-und KubeFlow, sowie hybride Lösungen werden ebenfalls unterstützt. Beispielsweise können Sie die Datenaufnahme und -verarbeitung mit Step Functions verwalten, während Sie Ihre ML-Modelle mit SageMaker-Pipelines trainieren und bereitstellen.
In diesem Beitrag zeigen wir, wie selbst Entwickler ohne ML-Expertise mithilfe von AutoGluon einfach hochmoderne ML-Modelle erstellen und warten können Amazon Sage Maker und Step Functions zur Orchestrierung von Workflow-Komponenten.
Nach einem Überblick über den AutoGluon-Algorithmus präsentieren wir die Workflow-Definitionen zusammen mit Beispielen und a Code-Tutorial die Sie auf Ihre eigenen Daten anwenden können.
AutoGluon
AutoGluon ist ein Open-Source-AutoML-Framework, das die Einführung von ML beschleunigt, indem genaue ML-Modelle mit nur wenigen Zeilen Python-Code trainiert werden. Obwohl sich dieser Beitrag auf tabellarische Daten konzentriert, können Sie mit AutoGluon auch hochmoderne Modelle für die Bildklassifizierung, Objekterkennung und Textklassifizierung trainieren. AutoGluon tabellarisch erstellt und kombiniert verschiedene Modelle, um die optimale Lösung zu finden.
Das AutoGluon-Team bei AWS hat a Krepppapier die die Prinzipien darstellt, die die Bibliothek strukturieren:
- Einfache Bedienung – Sie können Klassifikations- und Regressionsmodelle direkt aus Rohdaten erstellen, ohne die Daten analysieren oder Feature-Engineering durchführen zu müssen
- Robustheit – Der gesamte Trainingsprozess soll auch dann gelingen, wenn einzelne Modelle versagen
- Vorhersehbarer Zeitpunkt – Sie können innerhalb der Zeit, die Sie für das Training investieren möchten, optimale Ergebnisse erzielen
- Fehlertoleranz – Sie können das Training jederzeit stoppen und fortsetzen, was die Kosten optimiert, wenn der Prozess auf Spot-Bildern in der Cloud läuft
Weitere Einzelheiten zum Algorithmus finden Sie unter Krepppapier veröffentlicht vom AutoGluon-Team bei AWS.
Nachdem Sie die installiert haben AutoGluon-Paket und seinen Abhängigkeiten ist das Trainieren eines Modells so einfach wie das Schreiben von drei Codezeilen:
Das AutoGluon-Team bewies die Stärke des Frameworks, indem es bei mehreren Kaggle-Wettbewerben die Top-10-Bestenliste erreichte.
Lösungsüberblick
Wir verwenden Step Functions, um einen ML-Workflow zu implementieren, der Training, Evaluierung und Bereitstellung umfasst. Das Pipelinedesign ermöglicht schnelle und konfigurierbare Experimente, indem die Eingabeparameter geändert werden, die Sie zur Laufzeit in die Pipeline eingeben.
Sie können die Pipeline konfigurieren, um verschiedene Workflows zu implementieren, z. B. die folgenden:
- Trainieren Sie ein neues ML-Modell und speichern Sie es in der SageMaker-Modellregistrierung, wenn zu diesem Zeitpunkt keine Bereitstellung erforderlich ist
- Stellen Sie ein vortrainiertes ML-Modell bereit, entweder für Online (SageMaker-Endpunkt) oder offline (SageMaker-Batch-Transformation) Inferenz
- Führen Sie eine vollständige Pipeline aus, um ein ML-Modell von Grund auf zu trainieren, zu bewerten und bereitzustellen
Die Lösungen bestehen aus einem allgemeinen Zustandsmaschine (siehe folgendes Diagramm), das die auszuführenden Aktionen basierend auf einer Reihe von Eingabeparametern orchestriert.
Die Schritte der Zustandsmaschine sind wie folgt:
- Der erste Schritt
IsTraining
entscheidet, ob wir ein vortrainiertes Modell verwenden oder ein Modell von Grund auf neu trainieren. Wenn Sie ein vortrainiertes Modell verwenden, springt die Zustandsmaschine zu Schritt 7. - Wenn ein neues ML-Modell erforderlich ist,
TrainSteps
löst einen zweiten Zustandsautomaten aus, der alle erforderlichen Aktionen ausführt und das Ergebnis an den aktuellen Zustandsautomaten zurückgibt. Im nächsten Abschnitt gehen wir näher auf die Trainingszustandsmaschine ein. - Wenn das Training beendet ist,
PassModelName
speichert den Namen des Trainingsjobs an einem bestimmten Ort des Zustandsmaschinenkontexts, um in den folgenden Zuständen wiederverwendet zu werden. - Wird eine Evaluationsphase gewählt,
IsEvaluation
leitet die Zustandsmaschine zum Auswertungszweig um. Andernfalls springt es zu Schritt 7. - Die Evaluierungsphase wird dann mit einem implementiert AWS Lambda Funktion, die von aufgerufen wird
ModelValidation
Schritt. Die Lambda-Funktion ruft Modellleistungen auf einem Testsatz ab und vergleicht sie mit einem benutzerkonfigurierbaren Schwellenwert, der in den Eingabeparametern angegeben ist. Der folgende Code ist ein Beispiel für Bewertungsergebnisse: - Wenn die Modellbewertung bei
EvaluationResults
erfolgreich ist, fährt die Zustandsmaschine mit eventuellen Bereitstellungsschritten fort. Wenn die Leistung des Modells unter einem benutzerdefinierten Kriterium liegt, stoppt die Zustandsmaschine und die Bereitstellung wird übersprungen. - Wenn Bereitstellung ausgewählt ist,
IsDeploy
startet eine dritte Zustandsmaschine durchDeploySteps
, die wir später in diesem Beitrag beschreiben. Wenn die Bereitstellung nicht erforderlich ist, stoppt die Zustandsmaschine hier.
Eine Reihe von Beispielen für Eingabeparameter ist auf der verfügbar GitHub Repo.
Trainingszustandsmaschine
Der Zustandsautomat zum Trainieren eines neuen ML-Modells mit AutoGluon besteht aus zwei Schritten, wie im folgenden Diagramm dargestellt. Der erste Schritt ist ein SageMaker-Trainingsjob, der das Modell erstellt. Die zweite speichert die Einträge in der SageMaker-Modellregistrierung.
Sie können diese Schritte entweder automatisch als Teil des Hauptzustandsautomaten oder als eigenständigen Prozess ausführen.
Bereitstellungszustandsmaschine
Sehen wir uns nun den Zustandsautomaten an, der der Bereitstellungsphase gewidmet ist (siehe folgendes Diagramm). Wie bereits erwähnt, unterstützt die Architektur sowohl die Online- als auch die Offline-Bereitstellung. Ersteres besteht aus der Bereitstellung eines SageMaker-Endpunkts, während letzteres einen SageMaker-Batch-Transformationsjob ausführt.
Die Umsetzungsschritte sind wie folgt:
ChoiceDeploymentMode
untersucht die Eingabeparameter, um zu definieren, welcher Bereitstellungsmodus benötigt wird, und leitet die Zustandsmaschine zum entsprechenden Zweig.- Wenn ein Endpunkt ausgewählt wird, wird die
EndpointConfig
step definiert seine Konfiguration, währendCreateEndpoint
startet den Prozess der Zuweisung der erforderlichen Rechenressourcen. Diese Zuordnung kann mehrere Minuten dauern, daher hält die Zustandsmaschine bei anWaitForEndpoint
und verwendet eine Lambda-Funktion, um den Endpunktstatus abzufragen. - Während der Endpunkt konfiguriert wird,
ChoiceEndpointStatus
kehrt zurück zumWaitForEndpoint
Zustand, andernfalls fährt es mit beiden fortDeploymentFailed
orDeploymentSucceeded
. - Wenn die Offline-Bereitstellung ausgewählt ist, führt die Zustandsmaschine einen SageMaker-Batch-Transformationsjob aus, wonach die Zustandsmaschine anhält.
Zusammenfassung
Dieser Beitrag stellt eine benutzerfreundliche Pipeline vor, um AutoML-Workflows zu orchestrieren und schnelle Experimente in der Cloud zu ermöglichen, die genaue ML-Lösungen ermöglichen, ohne dass fortgeschrittene ML-Kenntnisse erforderlich sind.
Wir bieten eine allgemeine Pipeline sowie zwei modulare Pipelines, die es Ihnen ermöglichen, Training und Bereitstellung bei Bedarf separat durchzuführen. Darüber hinaus ist die Lösung vollständig in SageMaker integriert und profitiert von dessen Funktionen und Rechenressourcen.
Beginnen Sie jetzt damit Code-Tutorial um die in diesem Beitrag vorgestellten Ressourcen in Ihrem AWS-Konto bereitzustellen und Ihre ersten AutoML-Experimente durchzuführen.
Über die Autoren
Federico Piccinini ist Deep Learning Architect für das Amazon Machine Learning Solutions Lab. Er interessiert sich leidenschaftlich für maschinelles Lernen, erklärbare KI und MLOps. Er konzentriert sich auf die Entwicklung von ML-Pipelines für AWS-Kunden. Außerhalb der Arbeit mag er Sport und Pizza.
Paolo Irrera ist Data Scientist im Amazon Machine Learning Solutions Lab, wo er Kunden hilft, geschäftliche Probleme mit ML- und Cloud-Funktionen zu lösen. Er promovierte in Computer Vision an der Telecom ParisTech, Paris.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/manage-automl-workflows-with-aws-step-functions-and-autogluon-on-amazon-sagemaker/
- "
- 10
- 100
- 7
- a
- Fähigkeit
- Über uns
- Konto
- genau
- über
- Aktionen
- Adresse
- Adoption
- advanced
- Fortschritte
- AI
- Algorithmus
- Alle
- Zuteilung
- Zulassen
- erlaubt
- bereits
- Obwohl
- Amazon
- analysieren
- Anwendung
- Anwendungen
- Jetzt bewerben
- Architektur
- Bereich
- automatisieren
- Automatisiert
- Im Prinzip so, wie Sie es von Google Maps kennen.
- Automation
- verfügbar
- AWS
- Sein
- unten
- bauen
- Geschäft
- Kann bekommen
- Fähigkeiten
- gewählt
- Einstufung
- Cloud
- Code
- Kompatibilität
- Ligen
- abschließen
- Komponenten
- Computer
- Computing
- Konfiguration
- weiter
- Dazugehörigen
- Kosten
- erstellen
- schafft
- Kriterien
- Strom
- Aktuellen Zustand
- Kunden
- technische Daten
- Datenwissenschaftler
- gewidmet
- tief
- einsetzen
- Bereitstellen
- Einsatz
- beschreiben
- Design
- Entwerfen
- Detail
- Details
- Entdeckung
- Entwickler
- Entwicklung
- anders
- Direkt
- verteilt
- leicht
- einfach zu bedienende
- ermöglichen
- ermöglicht
- Endpunkt
- essential
- bewerten
- Auswertung
- Beispiel
- Beispiele
- Expertise
- FAST
- Merkmal
- Eigenschaften
- Vorname
- konzentriert
- Folgende
- folgt
- Unser Ansatz
- für
- Funktion
- Funktionen
- Allgemeines
- mit
- hilft
- hier
- hält
- Ultraschall
- HTTPS
- Hybrid
- Image
- Bilder
- implementieren
- Implementierung
- umgesetzt
- das
- Krankengymnastik
- Eingabe
- installieren
- integriert
- IT
- Job
- Wissen
- Labor
- neueste
- lernen
- Bibliothek
- Linien
- Standorte
- aussehen
- Maschine
- Maschinelles Lernen
- halten
- verwalten
- verwaltet
- erwähnt
- ML
- Modell
- für
- modulare
- Überwachung
- mehr
- mehrere
- nämlich
- notwendig,
- benötigen
- weiter
- angeboten
- Angebote
- Offline-Bereich.
- Online
- Andere
- Andernfalls
- Gesamt-
- besitzen
- Paris
- Teil
- leidenschaftlich
- Leistungen
- Durchführung
- Phase
- Pizza
- Umfrage
- Gegenwart
- Geschenke
- Probleme
- Prozessdefinierung
- anpassen
- Verarbeitung
- die
- Angebot
- Roh
- freigegeben
- falls angefordert
- Downloads
- Die Ergebnisse
- fortsetzen
- Rückgabe
- Führen Sie
- gleich
- Wissenschaftler
- ausgewählt
- Leistungen
- kompensieren
- mehrere
- erklären
- Fähigkeiten
- So
- Lösung
- Lösungen
- einige
- Sports
- Spot
- standalone
- begonnen
- beginnt
- Bundesstaat
- State-of-the-art
- Staaten
- Status
- speichern
- Läden
- Stärke
- erfolgreich
- Unterstützte
- Unterstützt
- Team
- Telekom
- Test
- Das
- nach drei
- Schwelle
- Durch
- Zeit
- Werkzeuge
- Top
- gegenüber
- verfolgen sind
- Training
- Ausbildung
- Transformieren
- -
- Seh-
- ob
- während
- .
- ohne
- Arbeiten
- Workflows
- Schreiben
- Ihr