Der Inhalt und die Meinungen in diesem Beitrag sind die des Drittautors und AWS ist nicht für den Inhalt oder die Richtigkeit dieses Beitrags verantwortlich.
Da immer mehr Organisationen Deep-Learning-Techniken wie Computer Vision und Natural Language Processing einsetzen, benötigt die Entwicklerpersönlichkeit für maschinelles Lernen (ML) skalierbare Tools rund um Experiment-Tracking, Abstammung und Zusammenarbeit. Das Experiment-Tracking umfasst Metadaten wie Betriebssystem, verwendete Infrastruktur, Bibliothek sowie Ein- und Ausgabedatensätze, die häufig manuell in einer Tabelle nachverfolgt werden. Die Herkunft umfasst das Nachverfolgen der Datensätze, Transformationen und Algorithmen, die zum Erstellen eines ML-Modells verwendet werden. Die Zusammenarbeit umfasst ML-Entwickler, die an einem einzelnen Projekt arbeiten, und ML-Entwickler, die ihre Ergebnisse teamübergreifend und mit Geschäftsbeteiligten teilen – ein Prozess, der üblicherweise per E-Mail, Screenshots und PowerPoint-Präsentationen durchgeführt wird.
In diesem Beitrag trainieren wir ein Modell, um Objekte für einen Anwendungsfall eines autonomen Fahrzeugs mithilfe von Weights & Biases (W&B) und zu identifizieren Amazon Sage Maker. Wir zeigen, wie die gemeinsame Lösung manuelle Arbeit für den ML-Entwickler reduziert, mehr Transparenz im Modellentwicklungsprozess schafft und Teams die Zusammenarbeit an Projekten ermöglicht.
Wir führen dieses Beispiel weiter Amazon SageMaker-Studio damit Sie es selbst ausprobieren können.
Überblick über Gewichtungen und Verzerrungen
Weights & Biases hilft ML-Teams, schneller bessere Modelle zu erstellen. Mit nur wenigen Codezeilen in Ihrem SageMaker-Notebook können Sie Ihre Modelle – Architektur, Hyperparameter, Git-Commits, Modellgewichtungen, GPU-Nutzung, Datensätze und Vorhersagen – sofort debuggen, vergleichen und reproduzieren, während Sie mit Ihren Teamkollegen zusammenarbeiten.
Mehr als 200,000 ML-Experten aus einigen der innovativsten Unternehmen und Forschungseinrichtungen der Welt vertrauen W&B. Melden Sie sich an, um es kostenlos zu testen Gewichte & VorurteileOder besuchen Sie die W&B AWS Marketplace-Auflistung.
Erste Schritte mit SageMaker Studio
SageMaker Studio ist die erste vollständig integrierte Entwicklungsumgebung (IDE) für ML. Studio bietet eine einzige webbasierte Schnittstelle, über die ML-Experten und Datenwissenschaftler Modelle mit wenigen Klicks an einem Ort erstellen, trainieren und bereitstellen können.
Um mit Studio beginnen zu können, benötigen Sie ein AWS-Konto und eine AWS Identity and Access Management and (IAM)-Benutzer oder -Rolle mit Berechtigungen zum Erstellen einer Studio-Domain. Beziehen auf Integrieren in die Amazon SageMaker-Domäne um eine Domäne zu erstellen, und die Studiodokumentation für einen Überblick über die Verwendung der visuellen Benutzeroberfläche und der Notebooks von Studio.
Richten Sie die Umgebung ein
Für diesen Beitrag sind wir daran interessiert, unseren eigenen Code auszuführen, also importieren wir einige Notebooks von GitHub. Wir verwenden Folgendes GitHub Repo als Beispiel, also lasst uns laden dieses Notizbuch.
Sie können ein Repository entweder über das Terminal oder die Studio-Benutzeroberfläche klonen. Um ein Repository über das Terminal zu klonen, öffnen Sie ein Systemterminal (auf der Reichen Sie das Menü, wählen Sie Neu und Terminal) und geben Sie den folgenden Befehl ein:
Informationen zum Klonen eines Repositorys über die Studio-Benutzeroberfläche finden Sie unter Klonen Sie ein Git-Repository in SageMaker Studio.
Wählen Sie zunächst die aus 01_data_processing.ipynb Notizbuch. Sie werden mit einer Kernel-Switcher-Eingabeaufforderung aufgefordert. Dieses Beispiel verwendet PyTorch, sodass wir das vorgefertigte auswählen können PyTorch 1.10 Python 3.8 GPU-optimiert Bild, um unser Notizbuch zu starten. Sie können sehen, wie die App gestartet wird, und wenn der Kernel bereit ist, werden der Instanztyp und der Kernel oben rechts auf Ihrem Notebook angezeigt.
Unser Notebook benötigt einige zusätzliche Abhängigkeiten. Dieses Repository stellt eine requirements.txt mit den zusätzlichen Abhängigkeiten bereit. Führen Sie die erste Zelle aus, um die erforderlichen Abhängigkeiten zu installieren:
Sie können auch eine Lebenszykluskonfiguration erstellen, um die Pakete bei jedem Start der PyTorch-App automatisch zu installieren. Sehen Passen Sie Amazon SageMaker Studio mithilfe von Lebenszykluskonfigurationen an für Anweisungen und eine Beispielimplementierung.
Verwenden Sie Gewichtungen und Verzerrungen in SageMaker Studio
Gewichtungen & Verzerrungen (wandb
) ist eine Standard-Python-Bibliothek. Nach der Installation müssen Sie nur ein paar Codezeilen zu Ihrem Trainingsskript hinzufügen und schon können Sie Experimente protokollieren. Wir haben es bereits über unsere requirements.txt-Datei installiert. Sie können es auch manuell mit dem folgenden Code installieren:
Fallstudie: Semantische Segmentierung autonomer Fahrzeuge
Datensatz
Wir nutzen die Cambridge-fahrende Videodatenbank mit Label (CamVid) für dieses Beispiel. Es enthält eine Sammlung von Videos mit semantischen Bezeichnungen für Objektklassen, komplett mit Metadaten. Die Datenbank stellt Ground-Truth-Etiketten bereit, die jedes Pixel einer von 32 semantischen Klassen zuordnen. Wir können unseren Datensatz als versionieren wandb.Artefakt, auf diese Weise können wir später darauf verweisen. Siehe folgenden Code:
Sie können im folgen 01_data_processing.ipynb Notebook.
Wir protokollieren auch a Tabelle des Datensatzes. Tabellen sind umfangreiche und leistungsstarke DataFrame-ähnliche Entitäten, mit denen Sie Tabellendaten abfragen und analysieren können. Sie können Ihre Datensätze verstehen, Modellvorhersagen visualisieren und Erkenntnisse in einem zentralen Dashboard teilen.
Gewichtungs- und Verzerrungstabellen unterstützen viele Rich-Media-Formate wie Bilder, Audio und Wellenformen. Eine vollständige Liste der Medienformate finden Sie unter Datentypen.
Der folgende Screenshot zeigt eine Tabelle mit Rohbildern mit den Ground-Truth-Segmentierungen. Sie können auch eine anzeigen interaktive Version dieser Tabelle.
Trainiere ein Modell
Wir können jetzt ein Modell erstellen und es auf unserem Datensatz trainieren. Wir gebrauchen PyTorch und Fastai um schnell eine Baseline zu prototypisieren und dann zu verwenden wandb.Sweeps
um unsere Hyperparameter zu optimieren. Folgen Sie in der 02_semantische_segmentierung.ipynb Notizbuch. Wenn Sie beim Öffnen des Notebooks nach einem Kernel gefragt werden, wählen Sie denselben Kernel aus unserem ersten Notebook aus. PyTorch 1.10 Python 3.8 GPU-optimiert. Ihre Pakete sind bereits installiert, da Sie dieselbe App verwenden.
Das Modell soll eine pixelgenaue Annotation einer aus Sicht des autonomen Agenten aufgenommenen Szene lernen. Das Modell muss jedes Pixel einer bestimmten Szene in 32 relevante Kategorien wie Straße, Fußgänger, Bürgersteig oder Autos kategorisieren oder segmentieren. Sie können jedes der segmentierten Bilder in der Tabelle auswählen und auf diese interaktive Schnittstelle zugreifen, um auf die Segmentierungsergebnisse und -kategorien zuzugreifen.
Da die Fastai Bibliothek hat Integration mit wandb
, die kannst du einfach weitergeben WandbCallback
an den Lernenden:
Für die Basisexperimente haben wir uns für eine einfache Architektur entschieden, die von der inspiriert ist UNet Papier mit unterschiedlichen Backbones aus Timm. Wir haben unsere Modelle mit trainiert Fokusverlust als Kriterium. Mit Weights & Biases können Sie ganz einfach Dashboards mit Zusammenfassungen Ihrer Experimente erstellen, um Trainingsergebnisse schnell zu analysieren, wie im folgenden Screenshot gezeigt. Du kannst auch Zeigen Sie dieses Dashboard interaktiv an.
Hyperparametersuche mit Sweeps
Um die Leistung des Basismodells zu verbessern, müssen wir das beste Modell und den besten Satz von Hyperparametern zum Trainieren auswählen. W&B macht uns das einfach fegt.
Wir führen ein Bayessche Hyperparametersuche mit dem Ziel, die Vordergrundgenauigkeit des Modells auf dem Validierungsdatensatz zu maximieren. Um den Sweep durchzuführen, definieren wir die Konfigurationsdatei Sweep.yaml. Innerhalb dieser Datei übergeben wir die gewünschte zu verwendende Methode: bayes und die zu durchsuchenden Parameter und ihre entsprechenden Werte. In unserem Fall probieren wir verschiedene Backbones, Batchgrößen und Verlustfunktionen aus. Wir untersuchen auch verschiedene Optimierungsparameter wie Lernrate und Gewichtsabnahme. Da es sich um kontinuierliche Werte handelt, nehmen wir Stichproben aus einer Verteilung. Es gibt mehrere Konfigurationsoptionen für Sweeps verfügbar.
Anschließend starten Sie in einem Terminal den Sweep mit dem wandb-Befehlszeile:
Starten Sie dann einen Sweep-Agenten auf diesem Computer mit dem folgenden Code:
Wenn der Sweep beendet ist, können wir ein paralleles Koordinatendiagramm verwenden, um die Leistung der Modelle mit verschiedenen Backbones und verschiedenen Sätzen von Hyperparametern zu untersuchen. Auf dieser Grundlage können wir sehen, welches Modell am besten abschneidet.
Der folgende Screenshot zeigt die Ergebnisse der Sweeps, einschließlich eines parallelen Koordinatendiagramms und Parameterkorrelationsdiagrammen. Du kannst auch Sehen Sie sich dieses Sweep-Dashboard interaktiv an.
Aus dem Sweep können wir folgende zentrale Erkenntnisse ableiten:
- Eine niedrigere Lernrate und ein geringerer Gewichtsabfall führen zu einer besseren Vordergrundgenauigkeit und Würfelergebnissen.
- Die Stapelgröße hat starke positive Korrelationen mit den Metriken.
- Das VGG-basierte Backbones möglicherweise keine gute Option, um unser endgültiges Modell zu trainieren, da sie dazu neigen, zu a zu führen verschwindender Gradient. (Sie werden herausgefiltert, wenn der Verlust auseinandergeht.)
- Das ResNet Backbones ergeben die beste Gesamtleistung in Bezug auf die Metriken.
- Das ResNet34- oder ResNet50-Backbone sollte aufgrund ihrer starken Leistung in Bezug auf die Metriken für das endgültige Modell ausgewählt werden.
Daten- und Modellabstammung
W&B-Artefakte wurden entwickelt, um die Versionierung Ihrer Datensätze und Modelle mühelos zu gestalten, unabhängig davon, ob Sie Ihre Dateien mit W&B speichern möchten oder ob Sie bereits einen Bucket haben, den W&B verfolgen soll. Nachdem Sie Ihre Datensätze oder Modelldateien nachverfolgt haben, protokolliert W&B automatisch jede Änderung, sodass Sie einen vollständigen und überprüfbaren Verlauf der Änderungen an Ihren Dateien erhalten.
In unserem Fall werden das Dataset, die Modelle und verschiedene Tabellen, die während des Trainings generiert wurden, im Arbeitsbereich protokolliert. Sie können diese Abstammung schnell anzeigen und visualisieren, indem Sie zu gehen Artifacts
Modellvorhersagen interpretieren
Weight & Biases ist besonders nützlich, wenn die Modellleistung anhand der Stärke von bewertet wird wandb.Tabellen um zu visualisieren, wo unser Modell schlecht abschneidet. In diesem Fall sind wir besonders daran interessiert, gefährdete Benutzer wie Fahrräder und Fußgänger korrekt zu erkennen.
Wir haben die vorhergesagten Masken zusammen mit dem Würfelpunktzahlkoeffizienten pro Klasse in eine Tabelle eingetragen. Wir haben dann nach Zeilen gefiltert, die die gewünschten Klassen enthalten, und nach aufsteigender Reihenfolge nach Würfelpunktzahl sortiert.
In der folgenden Tabelle filtern wir zuerst, indem wir auswählen, wo der Dice-Score positiv ist (Fußgänger sind im Bild vorhanden). Dann sortieren wir in aufsteigender Reihenfolge, um unsere am schlechtesten erkannten Fußgänger zu identifizieren. Denken Sie daran, dass ein Würfelwert von 1 bedeutet, dass die Fußgängerklasse korrekt segmentiert wurde. Du kannst auch Sehen Sie sich diese Tabelle interaktiv an.
Wir können diese Analyse mit anderen anfälligen Klassen wie Fahrrädern oder Ampeln wiederholen.
Diese Funktion ist eine sehr gute Möglichkeit, Bilder zu identifizieren, die nicht korrekt beschriftet sind, und sie mit Tags zu versehen, um sie erneut mit Anmerkungen zu versehen.
Zusammenfassung
Dieser Beitrag zeigte die Weights & Biases MLOps-Plattform, wie man W&B in SageMaker Studio einrichtet und wie man ein Einführungs-Notebook für die gemeinsame Lösung betreibt. Anschließend haben wir einen Anwendungsfall für die semantische Segmentierung autonomer Fahrzeuge durchgespielt und Tracking-Trainingsläufe mit W&B-Experimenten, Hyperparameteroptimierung mit W&B-Sweeps und die Interpretation der Ergebnisse mit W&B-Tabellen demonstriert.
Wenn Sie mehr erfahren möchten, können Sie auf das Live zugreifen W&B-Bericht. Um Weights & Biases kostenlos zu testen, melden Sie sich an unter Gewichte & VorurteileOder besuchen Sie die W&B AWS Marketplace-Auflistung.
Über die Autoren
Thomas Kapell ist Machine Learning Engineer bei Weights and Biases. Er ist dafür verantwortlich, das www.github.com/wandb/examples-Repository live und auf dem neuesten Stand zu halten. Er baut auch Inhalte auf MLOPS, Anwendungen von W&B auf Branchen und unterhaltsames Deep Learning im Allgemeinen auf. Zuvor nutzte er Deep Learning, um kurzfristige Prognosen für Solarenergie zu lösen. Er hat einen Hintergrund in Stadtplanung, kombinatorischer Optimierung, Verkehrsökonomie und angewandter Mathematik.
Durga Sury ist ML Solutions Architect im Team von Amazon SageMaker Service SA. Sie setzt sich leidenschaftlich dafür ein, maschinelles Lernen für alle zugänglich zu machen. In ihren 3 Jahren bei AWS hat sie beim Aufbau von KI/ML-Plattformen für Unternehmenskunden geholfen. Wenn sie nicht arbeitet, liebt sie Motorradfahrten, Krimis und Wanderungen mit ihrem vierjährigen Husky.
Karthik Bharathy ist der Produktführer für Amazon SageMaker mit über einem Jahrzehnt Erfahrung in den Bereichen Produktmanagement, Produktstrategie, Ausführung und Markteinführung.
- 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/improve-ml-developer-productivity-with-weights-biases-a-computer-vision-example-on-amazon-sagemaker/
- "
- &
- 000
- 10
- 100
- a
- Über uns
- Zugang
- zugänglich
- Zugriff
- Konto
- über
- Zusätzliche
- AI
- Algorithmen
- Alle
- bereits
- Amazon
- Analyse
- analysieren
- App
- Anwendungen
- angewandt
- Architektur
- um
- Partnerschaftsräte
- Audio-
- Im Prinzip so, wie Sie es von Google Maps kennen.
- Autonom
- verfügbar
- AWS
- Hintergrund
- Baseline
- weil
- BESTE
- bauen
- baut
- Geschäft
- Autos
- Häuser
- Hauptgeschäftsstelle
- Charts
- Auswählen
- gewählt
- Klasse
- Unterricht
- Code
- zusammenarbeiten
- Zusammenarbeit
- Zusammenarbeit
- Sammlung
- Unternehmen
- abschließen
- Computer
- Konfiguration
- enthält
- Inhalt
- Dazugehörigen
- erstellen
- schafft
- Kunden
- Armaturenbrett
- technische Daten
- Datenbase
- Jahrzehnte
- entschieden
- tief
- weisen nach, dass
- einsetzen
- entworfen
- Entwickler:in / Unternehmen
- Entwickler
- Entwicklung
- anders
- Verteilung
- Domain
- im
- jeder
- leicht
- Wirtschaftskunde
- ermöglichen
- ermöglicht
- Energie
- Ingenieur
- Enter
- Unternehmen
- Entitäten
- Arbeitsumfeld
- insbesondere
- jedermann
- Beispiel
- Ausführung
- ERFAHRUNGEN
- Experiment
- ERKUNDEN
- FAST
- beschleunigt
- Merkmal
- Vorname
- folgen
- Folgende
- Frei
- für
- voller
- Spaß
- Funktionen
- Allgemeines
- erzeugt
- Git
- GitHub
- Unterstützung
- Kundenziele
- gehen
- gut
- GPU
- dazu beigetragen,
- hilft
- Geschichte
- Ultraschall
- Hilfe
- HTTPS
- identifizieren
- Identifizierung
- Identitätsschutz
- Image
- Bilder
- Implementierung
- zu unterstützen,
- Dazu gehören
- Einschließlich
- Branchen
- Infrastruktur
- innovativ
- Varianten des Eingangssignals:
- Einblicke
- inspirierte
- installieren
- Instanz
- integriert
- Integration
- interaktive
- interessiert
- Schnittstelle
- einleitend
- IT
- Behalten
- Aufbewahrung
- Wesentliche
- Etiketten
- Sprache
- starten
- Führer
- LERNEN
- lernen
- Bibliothek
- Linien
- Liste
- leben
- Belastung
- Maschine
- Maschinelles Lernen
- um
- MACHT
- Making
- Management
- manuell
- Handarbeit
- manuell
- Marktplatz
- Masken
- Mathe
- Mittel
- Medien
- Metrik
- könnte
- Geist / Bewusstsein
- ML
- Modell
- für
- mehr
- vor allem warme
- Motorrad
- mehrere
- Mystery
- Natürliche
- Bedürfnisse
- Notizbuch
- XNUMXh geöffnet
- Eröffnung
- die
- Betriebssystem
- Meinungen
- Optimierung
- Optimieren
- Option
- Optionen
- Auftrag
- Organisationen
- Andere
- Gesamt-
- besitzen
- Papier
- besonders
- leidenschaftlich
- Leistung
- Leistungen
- Planung
- Plattform
- Plattformen
- Points
- Perspektive
- positiv
- Werkzeuge
- größte treibende
- Prognosen
- Gegenwart
- Presentations
- Prozessdefinierung
- Verarbeitung
- Produkt
- Produktmanagement
- PRODUKTIVITÄT
- Projekt
- Projekte
- bietet
- schnell
- Roh
- relevant
- wiederholen
- Quelle
- falls angefordert
- Voraussetzungen:
- Forschungsprojekte
- für ihren Verlust verantwortlich.
- was zu
- Die Ergebnisse
- Straße
- Rollen
- Führen Sie
- Laufen
- gleich
- skalierbaren
- Szene
- Wissenschaftler
- Suche
- Segment
- Segmentierung
- kompensieren
- Teilen
- ,,teilen"
- kurzfristig
- Vitrine
- gezeigt
- Schild
- Einfacher
- Single
- Größe
- So
- Solar-
- Solarenergie
- Lösung
- Lösungen
- LÖSEN
- einige
- Standard
- Anfang
- begonnen
- speichern
- Strategie
- stark
- Studio Adressen
- Studie
- Support
- Sweep
- System
- Team
- Teams
- Techniken
- Terminal
- AGB
- Das
- das Gelenk
- die Welt
- basierte Online-to-Offline-Werbezuordnungen von anderen gab.
- Durch
- Zeit
- Top
- verfolgen sind
- Tracking
- der Verkehr
- Ausbildung
- Transformationen
- Transparenz
- vertraut
- ui
- verstehen
- URBAN
- us
- -
- Nutzer
- Bestätigung
- Wert
- verschiedene
- Fahrzeug
- Version
- Video
- Videos
- Anzeigen
- Seh-
- Verwundbar
- Webbasiert
- ob
- während
- Wikipedia
- Arbeiten
- arbeiten,
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- Jahr
- Ihr