Zephyrnet-Logo

Veranschaulichende Notizbücher in Amazon SageMaker JumpStart

Datum:

Amazon SageMaker-JumpStart ist der Hub für maschinelles Lernen (ML) von SageMaker, der vortrainierte, öffentlich verfügbare Modelle für eine Vielzahl von Problemtypen bereitstellt, um Ihnen den Einstieg in maschinelles Lernen zu erleichtern.

JumpStart bietet auch Beispiel-Notebooks an, die verwenden Amazon Sage Maker Funktionen wie Spot-Instance-Training und Experimente für eine Vielzahl von Modelltypen und Anwendungsfällen. Diese Beispiel-Notebooks enthalten Code, der zeigt, wie ML-Lösungen mithilfe von SageMaker und JumpStart angewendet werden. Sie lassen sich an die eigenen Bedürfnisse anpassen und können so die Anwendungsentwicklung beschleunigen.

Vor Kurzem haben wir JumpStart in 10 neue Notebooks hinzugefügt Amazon SageMaker-Studio. Dieser Beitrag konzentriert sich auf diese neuen Notebooks. Zum jetzigen Zeitpunkt bietet JumpStart 56 Notebooks an, die von der Verwendung modernster NLP-Modelle (Natural Language Processing) bis hin zur Behebung von Verzerrungen in Datensätzen beim Trainieren von Modellen reichen.

Die 10 neuen Notizbücher können Ihnen auf folgende Weise helfen:

  • Sie bieten Beispielcode, den Sie unverändert über die JumpStart-Benutzeroberfläche in Studio ausführen und sehen können, wie der Code funktioniert
  • Sie zeigen die Verwendung verschiedener SageMaker- und JumpStart-APIs
  • Sie bieten eine technische Lösung, die Sie je nach Bedarf weiter anpassen können

Die Anzahl der über JumpStart angebotenen Notebooks nimmt regelmäßig zu, wenn weitere Notebooks hinzugefügt werden. Diese Notizbücher sind auch auf verfügbar github.

Notizbücher Übersicht

Die 10 neuen Notizbücher sind wie folgt:

  • Kontextbezogenes Lernen mit AlexaTM 20B – Demonstriert die Verwendung von AlexaTM 20B für kontextbezogenes Lernen mit Zero-Shot- und Few-Shot-Lernen an fünf Beispielaufgaben: Textzusammenfassung, Generierung natürlicher Sprache, maschinelle Übersetzung, extraktive Beantwortung von Fragen sowie Inferenz und Klassifizierung natürlicher Sprache.
  • Linearer Fairness-Lerner in SageMaker – In letzter Zeit gab es Bedenken hinsichtlich der Verzerrung von ML-Algorithmen als Folge der Nachahmung bestehender menschlicher Vorurteile. Dieses Notebook wendet Fairnesskonzepte an, um Modellvorhersagen entsprechend anzupassen.
  • Verwalten Sie ML-Experimente mit der SageMaker-Suche – Mit der Amazon SageMaker-Suche können Sie schnell die relevantesten Modelltrainingsläufe aus potenziell Hunderten und Tausenden von SageMaker-Modelltrainingsjobs finden und bewerten.
  • SageMaker Neuronales Themenmodell – SageMaker Neural Topic Model (NTM) ist ein unüberwachter Lernalgorithmus, der versucht, eine Reihe von Beobachtungen als eine Mischung verschiedener Kategorien zu beschreiben.
  • Fahrgeschwindigkeitsüberschreitungen vorhersagen – Der SageMaker DeepAR-Algorithmus kann verwendet werden, um ein Modell für mehrere Straßen gleichzeitig zu trainieren und Verstöße für mehrere Straßenkameras vorherzusagen.
  • Brustkrebsvorhersage – Dieses Notebook verwendet UCIs Brustkrebs-Diagnosedatensatz, um ein Vorhersagemodell dafür zu erstellen, ob ein Brustmassenbild auf einen gutartigen oder bösartigen Tumor hinweist.
  • Ensemble-Vorhersagen aus mehreren Modellen – Durch Kombinieren oder Mitteln von Vorhersagen aus mehreren Quellen und Modellen erhalten wir in der Regel eine verbesserte Vorhersage. Dieses Notizbuch veranschaulicht dieses Konzept.
  • SageMaker asynchrone Inferenz – Asynchrone Inferenz ist eine neue Inferenzoption für Inferenzanforderungen nahezu in Echtzeit. Die Verarbeitung von Anfragen kann bis zu 15 Minuten dauern und Nutzlastgrößen von bis zu 1 GB haben.
  • TensorFlow bringt Ihr eigenes Modell mit – Erfahren Sie, wie Sie mit diesem Notebook ein TensorFlow-Modell lokal trainieren und auf SageMaker bereitstellen.
  • Scikit-learn bringen Sie Ihr eigenes Modell mit – Dieses Notebook zeigt, wie Sie ein vortrainiertes Scikit-learn-Modell mit dem SageMaker-Scikit-learn-Container verwenden, um schnell einen gehosteten Endpunkt für dieses Modell zu erstellen.

Voraussetzungen:

Um diese Notebooks zu verwenden, stellen Sie sicher, dass Sie Zugriff auf Studio mit einer Ausführungsrolle haben, mit der Sie die SageMaker-Funktionalität ausführen können. Das kurze Video unten hilft Ihnen bei der Navigation zu JumpStart-Notebooks.

In den folgenden Abschnitten gehen wir jede der 10 neuen Lösungen durch und diskutieren einige ihrer interessanten Details.

Kontextbezogenes Lernen mit AlexaTM 20B

AlexaTM 20B ist ein multitaskingfähiges, mehrsprachiges, groß angelegtes Sequence-to-Sequence (seq2seq)-Modell, das mit einer Mischung aus Common Crawl (mC4)- und Wikipedia-Daten in 12 Sprachen trainiert wurde und Entrauschungs- und Causal Language Modeling (CLM)-Aufgaben verwendet. Es erreicht eine hochmoderne Leistung bei gängigen kontextbezogenen Sprachaufgaben wie One-Shot-Zusammenfassung und One-Shot-Maschinenübersetzung und übertrifft reine Decodermodelle wie GPT3 von Open AI und PaLM von Google, die über achtmal größer sind.

In-Kontext-Lernen, auch bekannt als Auffordern, bezieht sich auf eine Methode, bei der Sie ein NLP-Modell für eine neue Aufgabe verwenden, ohne es verfeinern zu müssen. Einige Aufgabenbeispiele werden dem Modell nur als Teil der Inferenzeingabe bereitgestellt, einem Paradigma, das als bekannt ist kontextbezogenes Lernen mit wenigen Aufnahmen. In manchen Fällen kann das Modell auch ohne jegliche Trainingsdaten gute Leistungen erbringen, nur wenn erklärt wird, was vorhergesagt werden sollte. Das nennt man Zero-Shot-Lernen im Kontext.

Dieses Notebook zeigt, wie Sie AlexaTM 20B über die JumpStart-API bereitstellen und Inferenz ausführen. Es zeigt auch, wie AlexaTM 20B für kontextbezogenes Lernen mit fünf Beispielaufgaben verwendet werden kann: Textzusammenfassung, Generierung natürlicher Sprache, maschinelle Übersetzung, extraktive Beantwortung von Fragen sowie Inferenz und Klassifizierung natürlicher Sprache.

Das Notebook zeigt Folgendes:

  • One-Shot-Textzusammenfassung, Generierung natürlicher Sprache und maschinelle Übersetzung mit einem einzigen Trainingsbeispiel für jede dieser Aufgaben
  • Zero-Shot-Fragebeantwortung und Inferenz in natürlicher Sprache plus Klassifizierung unter Verwendung des Modells in unveränderter Form, ohne dass Schulungsbeispiele bereitgestellt werden müssen.

Versuchen Sie, Ihren eigenen Text mit diesem Modell zu vergleichen, und sehen Sie, wie es Text zusammenfasst, Fragen und Antworten extrahiert oder von einer Sprache in eine andere übersetzt.

Linearer Fairness-Lerner in SageMaker

In letzter Zeit gab es Bedenken hinsichtlich der Verzerrung von ML-Algorithmen als Folge der Nachahmung bestehender menschlicher Vorurteile. Heutzutage haben mehrere ML-Methoden starke soziale Auswirkungen, zum Beispiel werden sie verwendet, um Bankkredite, Versicherungstarife oder Werbung vorherzusagen. Leider erbt ein Algorithmus, der aus historischen Daten lernt, natürlicherweise frühere Vorurteile. Dieses Notebook zeigt, wie dieses Problem durch die Verwendung von SageMaker und fairen Algorithmen im Zusammenhang mit linear Lernenden überwunden werden kann.

Es beginnt mit der Einführung einiger der Konzepte und der Mathematik hinter Fairness, lädt dann Daten herunter, trainiert ein Modell und wendet schließlich Fairnesskonzepte an, um Modellvorhersagen entsprechend anzupassen.

Das Notebook zeigt Folgendes:

  • Ausführen eines standardmäßigen linearen Modells auf dem Adult-Datensatz von UCI.
  • Unfairness in Modellvorhersagen zeigen
  • Korrigieren von Daten, um Vorurteile zu beseitigen
  • Modell umschulen

Versuchen Sie, Ihre eigenen Daten mit diesem Beispielcode auszuführen, und erkennen Sie, ob es Voreingenommenheit gibt. Versuchen Sie danach, eventuelle Verzerrungen in Ihrem Datensatz zu entfernen, indem Sie die bereitgestellten Funktionen in diesem Beispiel-Notebook verwenden.

Verwalten Sie ML-Experimente mit der SageMaker-Suche

Mit der SageMaker-Suche können Sie schnell die relevantesten Modelltrainingsläufe aus potenziell Hunderten und Tausenden von SageMaker-Modelltrainingsjobs finden und bewerten. Die Entwicklung eines ML-Modells erfordert kontinuierliche Experimente, das Ausprobieren neuer Lernalgorithmen und das Anpassen von Hyperparametern, während die Auswirkungen solcher Änderungen auf die Modellleistung und -genauigkeit beobachtet werden müssen. Diese iterative Übung führt oft zu einer Explosion von Hunderten von Modelltrainingsexperimenten und Modellversionen, was die Konvergenz und Entdeckung eines erfolgreichen Modells verlangsamt. Darüber hinaus macht es die Informationsexplosion sehr schwierig, die Abstammung einer Modellversion zurückzuverfolgen – die einzigartige Kombination von Datensätzen, Algorithmen und Parametern, die dieses Modell überhaupt erst hervorgebracht haben.

Dieses Notebook zeigt, wie Sie die SageMaker-Suche verwenden, um Ihre Modelltrainingsjobs auf SageMaker schnell und einfach zu organisieren, zu verfolgen und auszuwerten. Sie können nach allen definierenden Attributen aus dem verwendeten Lernalgorithmus, den Hyperparametereinstellungen, den verwendeten Trainingsdatensätzen und sogar den Tags suchen, die Sie den Modelltrainingsjobs hinzugefügt haben. Sie können Ihre Trainingsläufe auch schnell anhand ihrer Leistungsmetriken wie Trainingsverlust und Validierungsgenauigkeit vergleichen und einordnen und so Bestenlisten erstellen, um die Gewinnermodelle zu identifizieren, die in Produktionsumgebungen eingesetzt werden können. SageMaker Search kann schnell die vollständige Herkunft einer Modellversion zurückverfolgen, die in einer Live-Umgebung bereitgestellt wird, bis hin zu den Datensätzen, die beim Training und der Validierung des Modells verwendet werden.

Das Notebook zeigt Folgendes:

  • Dreimaliges Trainieren eines linearen Modells
  • Verwenden der SageMaker-Suche zum Organisieren und Auswerten dieser Experimente
  • Visualisierung der Ergebnisse in einer Bestenliste
  • Bereitstellen eines Modells auf einem Endpunkt
  • Verfolgen der Abstammung des Modells ausgehend vom Endpunkt

Bei Ihrer eigenen Entwicklung von Vorhersagemodellen führen Sie möglicherweise mehrere Experimente durch. Versuchen Sie, die SageMaker-Suche in solchen Experimenten zu verwenden, und erfahren Sie, wie sie Ihnen auf vielfältige Weise helfen kann.

SageMaker Neuronales Themenmodell

SageMaker Neural Topic Model (NTM) ist ein unüberwachter Lernalgorithmus, der versucht, eine Reihe von Beobachtungen als eine Mischung verschiedener Kategorien zu beschreiben. NTM wird am häufigsten verwendet, um eine benutzerdefinierte Anzahl von Themen zu entdecken, die von Dokumenten innerhalb eines Textkorpus gemeinsam genutzt werden. Hier ist jede Beobachtung ein Dokument, die Merkmale sind das Vorhandensein (oder die Anzahl der Vorkommen) jedes Wortes und die Kategorien sind die Themen. Da die Methode nicht überwacht wird, werden die Themen nicht im Voraus festgelegt und es ist nicht garantiert, dass sie damit übereinstimmen, wie ein Mensch Dokumente normalerweise kategorisieren kann. Die Themen werden als Wahrscheinlichkeitsverteilung über die Wörter gelernt, die in jedem Dokument vorkommen. Jedes Dokument wiederum wird als Mischung von Themen beschrieben.

Dieses Notebook verwendet den SageMaker NTM-Algorithmus, um ein Modell auf dem 20NewsGroups-Datensatz zu trainieren. Dieser Datensatz wurde häufig als Benchmark für die Themenmodellierung verwendet.

Das Notebook zeigt Folgendes:

  • Erstellen eines SageMaker-Trainingsjobs für einen Datensatz, um ein NTM-Modell zu erstellen
  • Verwenden des Modells zum Durchführen von Inferenzen mit einem SageMaker-Endpunkt
  • Untersuchen des trainierten Modells und Visualisieren von erlernten Themen

Sie können dieses Notizbuch einfach so ändern, dass es auf Ihren Textdokumenten ausgeführt wird, und sie in verschiedene Themen unterteilen.

Verstöße gegen die Fahrgeschwindigkeit vorhersagen

Dieses Notebook demonstriert die Zeitreihenvorhersage mit dem SageMaker DeepAR-Algorithmus durch die Analyse des Datensatzes zu Radarkameraverstößen der Stadt Chicago. Der Datensatz wird von Data.gov gehostet und vom Technology Transformation Service der US General Services Administration verwaltet.

Diese Verstöße werden von Kamerasystemen erfasst und stehen über das Datenportal der Stadt Chicago zur Verfügung, um das Leben der Öffentlichkeit zu verbessern. Das Dataset „Radarkameraverstoß“ kann verwendet werden, um Muster in den Daten zu erkennen und aussagekräftige Erkenntnisse zu gewinnen.

Der Datensatz enthält mehrere Kamerastandorte und tägliche Verstöße. Jede tägliche Anzahl von Verstößen für eine Kamera kann als separate Zeitreihe betrachtet werden. Sie können den SageMaker DeepAR-Algorithmus verwenden, um ein Modell für mehrere Straßen gleichzeitig zu trainieren und Verstöße für mehrere Straßenkameras vorherzusagen.

Das Notebook zeigt Folgendes:

  • Trainieren des SageMaker DeepAR-Algorithmus auf dem Zeitreihendatensatz mithilfe von Spot-Instances
  • Rückschlüsse auf das trainierte Modell ziehen, um Verkehrsverstöße vorherzusagen

Mit diesem Notebook können Sie lernen, wie Zeitreihenprobleme mit dem DeepAR-Algorithmus in SageMaker gelöst werden können, und versuchen, ihn auf Ihre eigenen Zeitreihendatensätze anzuwenden.

Brustkrebsvorhersage

Dieses Notizbuch enthält ein Beispiel für die Brustkrebsvorhersage unter Verwendung des Brustkrebs-Diagnosedatensatzes von UCI. Es verwendet diesen Datensatz, um ein Vorhersagemodell dafür zu erstellen, ob ein Brustmassenbild auf einen gutartigen oder bösartigen Tumor hinweist.

Das Notebook zeigt Folgendes:

  • Grundlegende Einrichtung für die Verwendung von SageMaker
  • Konvertieren von Datensätzen in das von den SageMaker-Algorithmen verwendete Protobuf-Format und Hochladen in Amazon Simple Storage-Service (Amazon S3)
  • Trainieren eines linearen SageMaker-Lernmodells auf dem Datensatz
  • Hosten des trainierten Modells
  • Scoring mit dem trainierten Modell

Sie können dieses Notebook durchgehen, um zu erfahren, wie Sie ein Geschäftsproblem mit SageMaker lösen, und die Schritte verstehen, die zum Trainieren und Hosten eines Modells erforderlich sind.

Ensemble-Vorhersagen aus mehreren Modellen

Bei praktischen Anwendungen von ML auf Vorhersageaufgaben reicht ein Modell oft nicht aus. Die meisten Vorhersagewettbewerbe erfordern normalerweise das Kombinieren von Vorhersagen aus mehreren Quellen, um eine verbesserte Vorhersage zu erhalten. Durch Kombinieren oder Mitteln von Vorhersagen aus mehreren Quellen oder Modellen erhalten wir in der Regel eine verbesserte Vorhersage. Dies liegt daran, dass bei der Wahl des Modells erhebliche Unsicherheit besteht und es in vielen praktischen Anwendungen kein einzig wahres Modell gibt. Daher ist es vorteilhaft, Vorhersagen aus verschiedenen Modellen zu kombinieren. In der Bayes-Literatur wird diese Idee als Bayes-Modellmittelung bezeichnet, und es hat sich gezeigt, dass sie viel besser funktioniert, als nur ein Modell auszuwählen.

Dieses Notizbuch stellt ein anschauliches Beispiel dar, um vorherzusagen, ob eine Person über 50,000 $ pro Jahr verdient, basierend auf Informationen über ihre Ausbildung, Berufserfahrung, ihr Geschlecht und mehr.

Das Notebook zeigt Folgendes:

  • Vorbereiten Ihres SageMaker-Notebooks
  • Laden eines Datensatzes aus Amazon S3 mit SageMaker
  • Untersuchen und Transformieren der Daten, damit sie SageMaker-Algorithmen zugeführt werden können
  • Schätzen eines Modells mit dem SageMaker XGBoost-Algorithmus (Extreme Gradient Boosting).
  • Hosten des Modells auf SageMaker, um fortlaufende Vorhersagen zu treffen
  • Schätzen eines zweiten Modells mit der linearen Lernmethode von SageMaker
  • Kombinieren der Vorhersagen aus beiden Modellen und Auswerten der kombinierten Vorhersage
  • Generieren endgültiger Vorhersagen für den Testdatensatz

Versuchen Sie, dieses Notebook auf Ihrem Dataset auszuführen und mehrere Algorithmen zu verwenden. Versuchen Sie, mit verschiedenen Kombinationen von Modellen zu experimentieren, die von SageMaker und JumpStart angeboten werden, und sehen Sie, welche Kombination von Modell-Ensembling bei Ihren eigenen Daten die besten Ergebnisse liefert.

SageMaker asynchrone Inferenz

Die asynchrone Inferenz von SageMaker ist eine neue Funktion in SageMaker, die eingehende Anforderungen in eine Warteschlange stellt und sie asynchron verarbeitet. SageMaker bietet derzeit zwei Inferenzoptionen für Kunden zur Bereitstellung von ML-Modellen: eine Echtzeitoption für Workloads mit geringer Latenz und eine Batch-Transformation, eine Offline-Option zur Verarbeitung von Inferenzanforderungen für im Voraus verfügbare Datenstapel. Echtzeit-Inferenz eignet sich für Workloads mit Nutzlastgrößen von weniger als 6 MB und erfordert, dass Inferenzanforderungen innerhalb von 60 Sekunden verarbeitet werden. Die Stapeltransformation eignet sich für Offline-Inferenzen von Datenstapeln.

Asynchrone Inferenz ist eine neue Inferenzoption für Inferenzanforderungen nahezu in Echtzeit. Die Verarbeitung von Anfragen kann bis zu 15 Minuten dauern und Nutzlastgrößen von bis zu 1 GB haben. Asynchrone Inferenz eignet sich für Workloads, die keine Latenzanforderungen von weniger als einer Sekunde und weniger Latenzanforderungen haben. Beispielsweise müssen Sie möglicherweise eine Inferenz für ein großes Bild mit mehreren MB innerhalb von 5 Minuten verarbeiten. Darüber hinaus können Sie mit asynchronen Inferenzendpunkten die Kosten kontrollieren, indem Sie die Anzahl der Endpunktinstanzen auf null herunterskalieren, wenn sie inaktiv sind, sodass Sie nur bezahlen, wenn Ihre Endpunkte Anforderungen verarbeiten.

Das Notebook zeigt Folgendes:

  • Erstellen eines SageMaker-Modells
  • Erstellen eines Endpunkts mit diesem Modell und der asynchronen Rückschlusskonfiguration
  • Vorhersagen für diesen asynchronen Endpunkt treffen

Dieses Notebook zeigt Ihnen ein funktionierendes Beispiel für die Zusammenstellung eines asynchronen Endpunkts für ein SageMaker-Modell.

TensorFlow bringt Ihr eigenes Modell mit

Ein TensorFlow-Modell wird lokal für eine Klassifizierungsaufgabe trainiert, in der dieses Notebook ausgeführt wird. Dann wird es auf einem SageMaker-Endpunkt bereitgestellt.

Das Notebook zeigt Folgendes:

  • Lokales Training eines TensorFlow-Modells auf dem IRIS-Datensatz
  • Importieren dieses Modells in SageMaker
  • Hosten Sie es auf einem Endpunkt

Wenn Sie TensorFlow-Modelle haben, die Sie selbst entwickelt haben, kann Ihnen dieses Beispiel-Notebook dabei helfen, Ihr Modell auf einem von SageMaker verwalteten Endpunkt zu hosten.

Scikit-learn bringen Sie Ihr eigenes Modell mit

SageMaker enthält Funktionen zur Unterstützung einer gehosteten Notebook-Umgebung, verteiltes, serverloses Training und Echtzeit-Hosting. Am besten funktioniert es, wenn alle drei Dienste zusammen verwendet werden, sie können aber auch unabhängig voneinander verwendet werden. Einige Anwendungsfälle erfordern möglicherweise nur das Hosting. Möglicherweise wurde das Modell in einem anderen Dienst trainiert, bevor SageMaker existierte.

Das Notebook zeigt Folgendes:

  • Verwenden eines vortrainierten Scikit-learn-Modells mit dem SageMaker-Scikit-learn-Container, um schnell einen gehosteten Endpunkt für dieses Modell zu erstellen

Wenn Sie Scikit-learn-Modelle haben, die Sie selbst entwickelt haben, kann Ihnen dieses Beispielnotebook dabei helfen, Ihr Modell auf einem von SageMaker verwalteten Endpunkt zu hosten.

Ressourcen bereinigen

Nachdem Sie ein Notebook in JumpStart ausgeführt haben, stellen Sie sicher, dass Sie dies tun Löschen Sie alle Ressourcen damit alle Ressourcen, die Sie dabei erstellt haben, gelöscht und Ihre Abrechnung gestoppt wird. Die letzte Zelle in diesen Notebooks löscht normalerweise erstellte Endpunkte.

Zusammenfassung

Dieser Beitrag führte Sie durch 10 neue Beispiel-Notebooks, die kürzlich zu JumpStart hinzugefügt wurden. Obwohl sich dieser Beitrag auf diese 10 neuen Notebooks konzentrierte, gibt es zum jetzigen Zeitpunkt insgesamt 56 verfügbare Notebooks. Wir empfehlen Ihnen, sich bei Studio anzumelden, die JumpStart-Notebooks selbst zu erkunden und sofort damit zu beginnen, Nutzen aus ihnen zu ziehen. Weitere Informationen finden Sie unter Amazon SageMaker-Studio und SageMaker-JumpStart.


Über den Autor

Dr. Raju Penmatcha ist ein AI/ML Specialist Solutions Architect für AI-Plattformen bei AWS. Er promovierte an der Stanford University. Er arbeitet eng an den Low/No-Code-Suite-Services in SageMaker, die Kunden dabei helfen, Modelle und Lösungen für maschinelles Lernen einfach zu erstellen und bereitzustellen.

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?