Da immer mehr Unternehmen auf maschinelles Lernen (ML) umsteigen, um tiefere Einblicke zu gewinnen, sind zwei wichtige Stolpersteine, auf die sie stoßen, die Kennzeichnung und das Lebenszyklusmanagement. Labeling ist die Identifizierung von Daten und das Hinzufügen von Labels, um Kontext bereitzustellen, damit ein ML-Modell daraus lernen kann. Etiketten können auf einen Satz in einer Audiodatei, ein Auto in einem Foto oder ein Organ in einem MRT hinweisen. Die Datenkennzeichnung ist erforderlich, damit ML-Modelle gegen die Daten arbeiten können. Das Lebenszyklusmanagement hat mit dem Prozess der Einrichtung eines ML-Experiments und der Dokumentation des Datensatzes, der Bibliothek, der Version und des Modells zu tun, die zum Erzielen von Ergebnissen verwendet werden. Ein Team kann Hunderte von Experimenten durchführen, bevor es sich für einen Ansatz entscheidet. Zurückzugehen und diesen Ansatz neu zu erstellen, kann ohne Aufzeichnungen der Elemente dieses Experiments schwierig sein.
Viele ML-Beispiele und Tutorials beginnen mit einem Datensatz, der einen Zielwert enthält. Allerdings haben reale Daten nicht immer einen solchen Zielwert. Beispielsweise kann eine Person in der Stimmungsanalyse normalerweise beurteilen, ob eine Bewertung positiv, negativ oder gemischt ist. Rezensionen bestehen jedoch aus einer Sammlung von Texten, denen kein Wert beigemessen wird. Um eine zu erstellen überwachtes Lernen Um dieses Problem zu lösen, ist ein qualitativ hochwertiger, beschrifteter Datensatz unerlässlich. Amazon Sagemaker Ground Truth ist ein vollständig verwalteter Datenkennzeichnungsdienst, der es einfach macht, hochpräzise Trainingsdatensätze für ML zu erstellen.
Für Organisationen, die Databricks als ihre Daten- und Analyseplattform auf AWS verwenden, um Aufgaben zum Extrahieren, Transformieren und Laden (ETL) auszuführen, besteht das ultimative Ziel häufig darin, ein überwachtes Lernmodell zu trainieren. In diesem Beitrag zeigen wir, wie sich Databricks in Ground Truth integrieren lässt und Amazon Sage Maker für die Datenkennzeichnung und Modellverteilung.
Lösungsüberblick
Ground Truth ist ein vollständig verwalteter Datenkennzeichnungsdienst, der es einfach macht, hochpräzise Trainingsdatensätze für ML zu erstellen. Über die Ground Truth-Konsole können wir in wenigen Minuten benutzerdefinierte oder integrierte Datenkennzeichnungs-Workflows erstellen. Diese Workflows unterstützen eine Vielzahl von Anwendungsfällen, darunter 3D-Punktwolken, Videos, Bilder und Text. Darüber hinaus bietet Ground Truth eine automatische Datenkennzeichnung an, die ein ML-Modell verwendet, um unsere Daten zu kennzeichnen.
Wir trainieren unser Modell auf dem öffentlich zugänglichen Datensatz Amazon Customer Reviews. Auf hoher Ebene sind die Schritte wie folgt:
- Extrahieren Sie einen zu beschriftenden Rohdatensatz und verschieben Sie ihn dorthin Amazon Simple Storage-Service (Amazon S3).
- Führen Sie die Beschriftung durch, indem Sie einen Beschriftungsauftrag in SageMaker erstellen.
- Erstellen und trainieren Sie ein einfaches Scikit-learn-Modell für lineare Lernende, um die Stimmung des Bewertungstexts auf der Databricks-Plattform mithilfe eines Beispiels zu klassifizieren Notizbuch.
- Verwenden Sie die MLflow Komponenten zum Erstellen und Ausführen von MLOps und zum Speichern der Modellartefakte.
- Stellen Sie das Modell mithilfe von als SageMaker-Endpunkt bereit MLflow SageMaker-Bibliothek für Echtzeit-Inferenz.
Das folgende Diagramm veranschaulicht die Kennzeichnungs- und ML-Reise mit Ground Truth und MLflow.
Erstellen Sie einen Beschriftungsauftrag in SageMaker
Aus dem Amazon-Kundenrezensionsdatensatz extrahieren wir nur die Textteile, da wir ein Stimmungsanalysemodell erstellen. Nach dem Extrahieren legen wir den Text in einen S3-Bucket und erstellen dann über die SageMaker-Konsole einen Ground-Truth-Labeling-Job.
Auf dem Beschriftungsjob erstellen Seite, füllen Sie alle erforderlichen Felder aus. Als Teil des Schritts auf dieser Seite können Sie mit Ground Truth die Auftragsmanifestdatei generieren. Ground Truth verwendet die Eingabemanifestdatei, um die Anzahl der Dateien oder Objekte im Kennzeichnungsauftrag zu identifizieren, sodass die richtige Anzahl von Aufgaben erstellt und an menschliche (oder maschinelle) Kennzeichnungsersteller gesendet werden. Die Datei wird automatisch im S3-Bucket gespeichert. Im nächsten Schritt legen Sie die Aufgabenkategorie und die Aufgabenauswahl fest. In diesem Anwendungsfall wählen wir Text als Aufgabenkategorie und Textklassifizierung mit einem einzigen Label für die Aufgabenauswahl, was bedeutet, dass ein Rezensionstext eine einzige Stimmung hat: positiv, negativ oder neutral.
Abschließend schreiben wir einfache, aber prägnante Anweisungen für Labeler, wie die Textdaten zu beschriften sind. Die Anweisungen werden im Beschriftungstool angezeigt, und Sie können zu diesem Zeitpunkt optional die Ansicht des Annotators überprüfen. Schließlich übergeben wir den Job und überwachen den Fortschritt auf der Konsole.
Während der Beschriftungsauftrag läuft, können wir uns auch die beschrifteten Daten auf dem ansehen Output Tab. Wir können jeden Bewertungstext und jedes Etikett überwachen und ob die Arbeit von einem Menschen oder einer Maschine erledigt wurde. Wir können auswählen, dass 100 % der Etikettierungsarbeiten von Menschen ausgeführt werden, oder uns für maschinelle Annotation entscheiden, was die Arbeit beschleunigt und die Arbeitskosten senkt.
Wenn der Job abgeschlossen ist, enthält die Zusammenfassung des Labeling-Auftrags Links zum Ausgabemanifest und zum Dataset mit Labels. Wir können auch zu Amazon S3 gehen und beides aus unserem S3-Bucket-Ordner herunterladen.
In den nächsten Schritten verwenden wir ein Databricks-Notebook, MLflow, und von Ground Truth gekennzeichnete Datensätze, um a Scikit-lernen Modell.
Laden Sie einen beschrifteten Datensatz von Amazon S3 herunter
Wir beginnen mit dem Herunterladen des beschrifteten Datensatzes von Amazon S3. Das Manifest wird im JSON-Format gespeichert und wir laden es in Databricks in einen Spark DataFrame. Für das Training des Stimmungsanalysemodells benötigen wir nur den Bewertungstext und die Stimmung, die durch den Labeling-Job Ground Truth kommentiert wurden. Wir verwenden select(), um diese beiden Merkmale zu extrahieren. Dann konvertieren wir den Datensatz von einem PySpark-DataFrame in einen Pandas-DataFrame, da der Scikit-learn-Algorithmus das Pandas-DataFrame-Format erfordert.
Als nächstes verwenden wir Scikit-learn CountVectorizer
um den Überprüfungstext in einen Bigramm-Vektor umzuwandeln, indem Sie die ngram_range
Maximalwert auf 2. CountVectorizer
wandelt Text in eine Matrix von Token-Zählungen um. Dann verwenden wir TfidfTransformer
um den Bigramm-Vektor in ein Term-Frequency-Inverse-Document-Frequency(TF-IDF)-Format umzuwandeln.
Wir vergleichen die Genauigkeitswerte für das Training mit einem Bigramm-Vektor vs. Bigramm mit TF-IDF. TF-IDF ist ein statistisches Maß, das auswertet, wie relevant ein Wort für ein Dokument in einer Sammlung von Dokumenten ist. Da der Übersichtstext tendenziell relativ kurz ist, können wir beobachten, wie sich TF-IDF auf die Leistung des Vorhersagemodells auswirkt.
Richten Sie ein MLflow-Experiment ein
MLflow wurde von Databricks entwickelt und ist jetzt ein Open-Source-Projekt. MLflow verwaltet den ML-Lebenszyklus, sodass Sie Experimente einfach nachverfolgen, neu erstellen und veröffentlichen können.
Um MLflow-Experimente einzurichten, verwenden wir mlflow.sklearn.autolog()
um die automatische Protokollierung von Hyperparametern, Metriken und Modellartefakten jederzeit zu aktivieren estimator.fit()
, estimator.fit_predict()
, und estimator.fit_transform()
werden genannt. Alternativ können Sie dies manuell tun, indem Sie anrufen mlflow.log_param()
und mlflow.log_metric()
.
Wir passen den transformierten Datensatz an einen linearen Klassifikator mit Stochastic Gradient Descent (SGD)-Lernen an. Bei SGD wird der Gradient des Verlusts stichprobenweise geschätzt, und das Modell wird währenddessen mit einem abnehmenden Festigkeitsplan aktualisiert.
Diese beiden Datensätze, die wir zuvor vorbereitet haben, werden an die übergeben train_and_show_scores()
Funktion für das Training. Nach dem Training müssen wir ein Modell registrieren und seine Artefakte speichern. Wir gebrauchen mlflow.sklearn.log_model()
dies zu tun.
Vor der Bereitstellung sehen wir uns die Ergebnisse des Experiments an und wählen zwei Experimente (eines für Bigramm und das andere für Bigramm mit TF-IDF) zum Vergleich aus. In unserem Anwendungsfall schnitt das zweite mit Bigram TF-IDF trainierte Modell etwas besser ab, daher wählen wir dieses Modell für die Bereitstellung aus. Nachdem das Modell registriert wurde, stellen wir das Modell bereit und ändern die Modellphase in die Produktion. Wir können dies auf der MLflow-Benutzeroberfläche oder im Code mithilfe von erreichen transition_model_version_stage()
.
Stellen Sie das Modell als SageMaker-Endpunkt bereit und testen Sie es
Bevor wir das trainierte Modell bereitstellen, müssen wir einen Docker-Container erstellen, um das Modell in SageMaker zu hosten. Dazu führen wir einen einfachen MLflow-Befehl aus, der den Container erstellt und dorthin pusht Amazon Elastic Container-Registrierung (Amazon ECR) in unserem AWS-Konto.
Wir können jetzt den Bild-URI auf der Amazon ECR-Konsole finden. Wir übergeben den Bild-URI als an image_url
Parameter und Verwendung DEPLOYMENT_MODE_CREATE
für den Modusparameter, wenn es sich um eine neue Bereitstellung handelt. Wenn Sie einen vorhandenen Endpunkt mit einer neuen Version aktualisieren, verwenden Sie DEPLOYMENT_MODE_REPLACE
.
Um den SageMaker-Endpunkt zu testen, erstellen wir eine Funktion, die den Namen des Endpunkts und Eingabedaten als Parameter verwendet.
Zusammenfassung
In diesem Beitrag haben wir Ihnen gezeigt, wie Sie Ground Truth verwenden, um einen Rohdatensatz zu kennzeichnen, und wie Sie die gekennzeichneten Daten verwenden, um einen einfachen linearen Klassifikator mit Scikit-learn zu trainieren. In diesem Beispiel verwenden wir MLflow, um Hyperparameter und Metriken zu verfolgen, ein produktionstaugliches Modell zu registrieren und das trainierte Modell als Endpunkt in SageMaker bereitzustellen. Zusammen mit Databricks zur Verarbeitung der Daten können Sie diesen gesamten Anwendungsfall automatisieren, sodass neue Daten, die eingeführt werden, beschriftet und im Modell verarbeitet werden können. Durch die Automatisierung dieser Pipelines und Modelle können sich Data-Science-Teams auf neue Anwendungsfälle konzentrieren und mehr Erkenntnisse gewinnen, anstatt ihre Zeit mit der täglichen Verwaltung von Datenaktualisierungen zu verbringen.
Um zu beginnen, check out Verwenden Sie Amazon SageMaker Ground Truth, um Daten zu kennzeichnen und melde dich an für a 14-tägige kostenlose Testversion von Databricks auf AWS. Um mehr darüber zu erfahren, wie sich Databricks in SageMaker sowie andere AWS-Dienste wie z AWS-Kleber und Amazon RedShift, Besuch Databricks auf AWS.
Sehen Sie sich außerdem die folgenden Ressourcen an, die in diesem Beitrag verwendet werden:
Verwenden Sie Folgendes Notizbuch um zu starten.
Über die Autoren
Rumi Olsen ist ein Lösungsarchitekt im AWS-Partnerprogramm. In ihrer derzeitigen Position ist sie auf serverlose und maschinelle Lernlösungen spezialisiert und hat einen Hintergrund in Technologien zur Verarbeitung natürlicher Sprache. Sie verbringt den größten Teil ihrer Freizeit mit ihrer Tochter, um die Natur des pazifischen Nordwestens zu erkunden.
Igor Alekseev ist Partner Solution Architect bei AWS im Bereich Data and Analytics. Igor arbeitet mit strategischen Partnern zusammen und hilft ihnen beim Aufbau komplexer, AWS-optimierter Architekturen. Bevor er zu AWS kam, implementierte er als Data/Solution Architect viele Projekte in Big Data, darunter mehrere Data Lakes im Hadoop-Ökosystem. Als Data Engineer war er an der Anwendung von KI/ML zur Betrugserkennung und Büroautomatisierung beteiligt. Igors Projekte fanden in einer Vielzahl von Branchen statt, darunter Kommunikation, Finanzen, öffentliche Sicherheit, Fertigung und Gesundheitswesen. Zuvor arbeitete Igor als Full Stack Engineer/Tech Lead.
Naseer Ahmed ist Sr. Partner Solutions Architect bei Databricks und unterstützt dessen AWS-Geschäft. Naseer ist spezialisiert auf Data Warehousing, Business Intelligence, App-Entwicklung, Container, Serverless, Machine Learning-Architekturen auf AWS. Er wurde bei Databricks zum KMU des Jahres 2021 gewählt und ist ein begeisterter Krypto-Enthusiast.
- 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/build-an-mlops-sentiment-analysis-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- Über uns
- Konto
- genau
- Zusatz
- Algorithmus
- Alle
- Amazon
- Analyse
- Analytik
- App
- App-Entwicklung
- Anwendung
- Ansatz
- Audio-
- Auto
- Automation
- verfügbar
- AWS
- Hintergrund
- Grundlage
- Big Data
- bauen
- Building
- baut
- eingebaut
- Geschäft
- Business Intelligence
- Auto
- Fälle
- Kategorie
- Auswählen
- Einstufung
- Code
- Sammlung
- Kommunikation
- Komplex
- Konsul (Console)
- Container
- enthält
- Kosten
- erstellt
- Erstellen
- Krypto
- Strom
- Original
- technische Daten
- Datenwissenschaft
- tiefer
- einsetzen
- Bereitstellen
- Einsatz
- Entdeckung
- entwickelt
- Entwicklung
- schwer
- Verteilung
- Docker
- Unterlagen
- Tut nicht
- Antrieb
- leicht
- Ökosystem
- ermöglichen
- Endpunkt
- Ingenieur
- essential
- geschätzt
- Beispiel
- Experiment
- Eigenschaften
- Felder
- Endlich
- Finanzen
- passen
- Setzen Sie mit Achtsamkeit
- Folgende
- Format
- Betrug
- Frei
- voller
- Funktion
- erzeugen
- Kundenziele
- gehen
- Gesundheitswesen
- High
- hoch
- Ultraschall
- Hilfe
- HTTPS
- human
- Humans
- hunderte
- Login
- identifizieren
- Image
- umgesetzt
- Einschließlich
- Branchen
- Eingangsmöglichkeiten:
- Einblicke
- Intelligenz
- beteiligt
- IT
- Job
- Jobs
- Wesentliche
- Beschriftung
- Etiketten
- Arbeit
- Sprache
- führen
- LERNEN
- lernen
- Niveau
- Bibliothek
- Links
- Belastung
- Maschine
- Maschinelles Lernen
- gemacht
- MACHT
- verwaltet
- Management
- flächendeckende Gesundheitsprogramme
- manuell
- Herstellung
- Matrix
- messen
- Metrik
- gemischt
- ML
- Modell
- für
- Überwachen
- mehr
- vor allem warme
- schlauer bewegen
- Natürliche
- Natur
- Notizbuch
- Anzahl
- Angebote
- Auftrag
- Organisationen
- Andere
- Pazifik
- Partner
- Leistung
- person
- Plattform
- Points
- positiv
- Aufgabenstellung:
- Prozessdefinierung
- Produktion
- Programm
- Projekte
- die
- Öffentlichkeit
- veröffentlichen
- Roh
- Echtzeit
- Aufzeichnungen
- Registrieren
- eingetragen
- relevant
- falls angefordert
- Downloads
- Die Ergebnisse
- Überprüfen
- Bewertungen
- Führen Sie
- Laufen
- Sicherheit
- Wissenschaft
- Gefühl
- Serverlos
- Leistungen
- kompensieren
- Einstellung
- Short
- Einfacher
- So
- Lösung
- Lösungen
- LÖSEN
- spezialisiert
- Ausgabe
- Stapel
- Stufe
- Anfang
- begonnen
- statistisch
- Lagerung
- Strategisch
- Support
- Unterstützung
- Target
- und Aufgaben
- Team
- Technologies
- Test
- Durch
- Zeit
- Zeichen
- Werkzeug
- verfolgen sind
- Ausbildung
- Transformieren
- Versuch
- Tutorials
- ui
- letzte
- aufdecken
- Updates
- -
- gewöhnlich
- Wert
- Vielfalt
- Video
- Anzeigen
- ob
- ohne
- Arbeiten
- gearbeitet
- Werk
- Jahr