Datenwissenschaftler benötigen eine konsistente und reproduzierbare Umgebung für maschinelles Lernen (ML) und Data-Science-Workloads, die die Verwaltung von Abhängigkeiten ermöglicht und sicher ist. AWS Deep Learning Container Bietet bereits vorgefertigte Docker-Images zum Trainieren und Bereitstellen von Modellen in gängigen Frameworks wie TensorFlow, PyTorch und MXNet. Um dieses Erlebnis zu verbessern, haben wir auf der JupyterCon 2023 eine öffentliche Beta der Open-Source-Distribution SageMaker angekündigt. Dies bietet eine einheitliche End-to-End-ML-Erfahrung für ML-Entwickler mit unterschiedlichem Fachwissen. Entwickler müssen nicht mehr zwischen verschiedenen Framework-Containern wechseln, um zu experimentieren oder von lokalen JupyterLab-Umgebungen und SageMaker-Notebooks zu Produktionsjobs auf SageMaker zu wechseln. Die Open-Source-SageMaker-Distribution unterstützt die gängigsten Pakete und Bibliotheken für Datenwissenschaft, ML und Visualisierung, wie TensorFlow, PyTorch, Scikit-learn, Pandas und Matplotlib. Sie können den Container ab dem verwenden Öffentliche Amazon ECR-Galerie Heute starten.
In diesem Beitrag zeigen wir Ihnen, wie Sie die SageMaker-Open-Source-Distribution nutzen können, um schnell in Ihrer lokalen Umgebung zu experimentieren und sie ganz einfach zu Jobs bei SageMaker zu machen.
Lösungsüberblick
In unserem Beispiel zeigen wir das Training eines Bildklassifizierungsmodells mit PyTorch. Wir benutzen das KMNIST Datensatz öffentlich auf PyTorch verfügbar. Wir trainieren ein neuronales Netzwerkmodell, testen die Leistung des Modells und drucken schließlich den Trainings- und Testverlust aus. Das vollständige Notizbuch für dieses Beispiel ist im verfügbar SageMaker Studio Lab-Beispiel-Repository. Wir beginnen mit dem Experimentieren auf einem lokalen Laptop unter Verwendung der Open-Source-Distribution und verschieben es dorthin Amazon SageMaker-Studio um eine größere Instanz zu verwenden, und planen Sie das Notebook dann als Notebook-Job.
Voraussetzungen:
Sie benötigen folgende Voraussetzungen:
Richten Sie Ihre lokale Umgebung ein
Sie können die Open-Source-Distribution direkt auf Ihrem lokalen Laptop nutzen. Um JupyterLab zu starten, führen Sie die folgenden Befehle auf Ihrem Terminal aus:
Sie können ersetzen ECR_IMAGE_ID
mit einem der in der verfügbaren Bild-Tags Öffentliche Amazon ECR-Galerie, oder wählen Sie die latest-gpu
Tag, wenn Sie einen Computer verwenden, der GPU unterstützt.
Dieser Befehl startet JupyterLab und stellt eine URL auf dem Terminal bereit, z http://127.0.0.1:8888/lab?token=<token>
. Kopieren Sie den Link und geben Sie ihn in Ihren bevorzugten Browser ein, um JupyterLab zu starten.
Studio einrichten
Studio ist eine durchgängige integrierte Entwicklungsumgebung (IDE) für ML, mit der Entwickler und Datenwissenschaftler ML-Modelle im großen Maßstab erstellen, trainieren, bereitstellen und überwachen können. Studio bietet eine umfangreiche Liste von Erstanbieter-Images mit gängigen Frameworks und Paketen wie Data Science, TensorFlow, PyTorch und Spark. Diese Bilder erleichtern Datenwissenschaftlern den Einstieg in ML, indem sie einfach ein Framework und einen Instanztyp ihrer Wahl für die Berechnung auswählen.
Sie können jetzt die SageMaker-Open-Source-Distribution in Studio mit Studio verwenden Bringen Sie Ihr eigenes Bild mit Besonderheit. Um die Open-Source-Distribution zu Ihrer SageMaker-Domäne hinzuzufügen, führen Sie die folgenden Schritte aus:
- Fügen Sie die Open-Source-Distribution Ihrem Konto hinzu Amazon Elastic Container-Registrierung (Amazon ECR)-Repository, indem Sie die folgenden Befehle auf Ihrem Terminal ausführen:
- Erstellen Sie ein SageMaker-Image und hängen Sie das Image an die Studio-Domäne an:
- Starten Sie Studio auf der SageMaker-Konsole, indem Sie Ihre Domäne und das vorhandene Benutzerprofil auswählen.
- Optional können Sie Studio neu starten, indem Sie die Schritte unter befolgen Fahren Sie SageMaker Studio herunter und aktualisieren Sie es.
Laden Sie das Notizbuch herunter
Laden Sie das Beispielnotizbuch lokal von herunter GitHub Repo.
Öffnen Sie das Notebook in der IDE Ihrer Wahl und fügen Sie am Anfang des zu installierenden Notebooks eine Zelle hinzu torchsummary
dem „Vermischten Geschmack“. Seine torchsummary
Das Paket ist nicht Teil der Distribution. Durch die Installation auf dem Notebook wird sichergestellt, dass das Notebook durchgängig läuft. Wir empfehlen die Verwendung conda
or micromamba
um Umgebungen und Abhängigkeiten zu verwalten. Fügen Sie dem Notizbuch die folgende Zelle hinzu und speichern Sie das Notizbuch:
Experimentieren Sie mit dem lokalen Notebook
Laden Sie das Notebook auf die von Ihnen gestartete JupyterLab-Benutzeroberfläche hoch, indem Sie das Upload-Symbol auswählen, wie im folgenden Screenshot gezeigt.
Starten Sie nach dem Hochladen das cv-kmnist.ipynb
Notizbuch. Sie können sofort mit der Ausführung der Zellen beginnen, ohne Abhängigkeiten wie Torch, Matplotlib oder Ipywidgets installieren zu müssen.
Wenn Sie die vorherigen Schritte befolgt haben, sehen Sie, dass Sie die Distribution lokal von Ihrem Laptop aus verwenden können. Im nächsten Schritt verwenden wir dieselbe Distribution in Studio, um die Funktionen von Studio zu nutzen.
Verschieben Sie das Experiment nach Studio (optional)
Optional können wir das Experiment in Studio hochstufen. Einer der Vorteile von Studio besteht darin, dass die zugrunde liegenden Rechenressourcen vollständig elastisch sind, sodass Sie die verfügbaren Ressourcen problemlos erhöhen oder verringern können und die Änderungen automatisch im Hintergrund erfolgen, ohne Ihre Arbeit zu unterbrechen. Wenn Sie dasselbe Notebook von früher auf einem größeren Datensatz und einer größeren Recheninstanz ausführen möchten, können Sie zu Studio migrieren.
Navigieren Sie zur Studio-Benutzeroberfläche, die Sie zuvor gestartet haben, und wählen Sie das Upload-Symbol aus, um das Notizbuch hochzuladen.
Nachdem Sie das Notebook gestartet haben, werden Sie aufgefordert, das Image und den Instanztyp auszuwählen. Wählen Sie im Kernel-Launcher sagemaker-runtime
wie das Bild und ein ml.t3.medium
Beispiel, dann wählen Auswählen.
Sie können das Notebook jetzt End-to-End ausführen, ohne dass Änderungen am Notebook von Ihrer lokalen Entwicklungsumgebung zu Studio-Notebooks erforderlich sind!
Planen Sie das Notebook als Job ein
Wenn Sie mit dem Experimentieren fertig sind, bietet SageMaker mehrere Optionen zur Produktion Ihres Notebooks, z. B. Trainingsjobs und SageMaker-Pipelines. Eine solche Option besteht darin, das Notebook selbst direkt als nicht interaktiven, geplanten Notebook-Job auszuführen SageMaker-Notebook-Jobs. Beispielsweise möchten Sie möglicherweise Ihr Modell regelmäßig neu trainieren oder regelmäßig Rückschlüsse auf eingehende Daten ziehen und Berichte zur Nutzung durch Ihre Stakeholder erstellen.
Wählen Sie in Studio das Notebook-Job-Symbol aus, um den Notebook-Job zu starten. Wenn Sie die Notebook-Jobs-Erweiterung lokal auf Ihrem Laptop installiert haben, können Sie das Notebook auch direkt von Ihrem Laptop aus planen. Sehen Installationsanleitung um die Notebook-Jobs-Erweiterung lokal einzurichten.
Der Notebook-Job verwendet automatisch den ECR-Image-URI der Open-Source-Distribution, sodass Sie den Notebook-Job direkt planen können.
Auswählen Termingerecht ausführen, wählen Sie einen Zeitplan, zum Beispiel jede Woche am Samstag, und wählen Sie Erstellen. Sie können auch wählen Lauf jetzt wenn Sie die Ergebnisse sofort sehen möchten.
Wenn der erste Notebook-Auftrag abgeschlossen ist, können Sie die Notebook-Ausgaben direkt über die Studio-Benutzeroberfläche anzeigen, indem Sie auf „ Notizbuch für Ausgabedateien.
Weitere Überlegungen
Neben der direkten Nutzung des öffentlich verfügbaren ECR-Images für ML-Workloads bietet die Open-Source-Distribution folgende Vorteile:
- Die zum Erstellen des Images verwendete Docker-Datei steht Entwicklern öffentlich zur Verfügung, damit sie ihre eigenen Images erkunden und erstellen können. Sie können dieses Image auch als Basisimage übernehmen und Ihre benutzerdefinierten Bibliotheken installieren, um eine reproduzierbare Umgebung zu erhalten.
- Wenn Sie nicht mit Docker vertraut sind und lieber Conda-Umgebungen in Ihrer JupyterLab-Umgebung verwenden möchten, bieten wir eine an
env.out
Datei für jede der veröffentlichten Versionen. Mithilfe der Anweisungen in der Datei können Sie Ihre eigene Conda-Umgebung erstellen, die dieselbe Umgebung nachahmt. Sehen Sie sich beispielsweise die CPU-Umgebungsdatei an cpu.env.out. - Sie können die GPU-Versionen des Bildes verwenden, um GPU-kompatible Arbeitslasten wie Deep Learning und Bildverarbeitung auszuführen.
Aufräumen
Führen Sie die folgenden Schritte aus, um Ihre Ressourcen zu bereinigen:
- Wenn Sie die Ausführung Ihres Notebooks nach einem Zeitplan geplant haben, pausieren oder löschen Sie den Zeitplan auf Notebook-Auftragsdefinitionen Tab, um zu vermeiden, dass Sie für zukünftige Jobs bezahlen müssen.
- Beenden Sie alle Studio-Apps, um nicht für ungenutzte Rechennutzung bezahlen zu müssen. Sehen Fahren Sie Studio Apps herunter und aktualisieren Sie sie für weitere Instruktionen.
- Löschen Sie optional die Studio-Domäne, falls Sie eine erstellt haben.
Zusammenfassung
Die Aufrechterhaltung einer reproduzierbaren Umgebung über verschiedene Phasen des ML-Lebenszyklus hinweg ist eine der größten Herausforderungen für Datenwissenschaftler und Entwickler. Mit der Open-Source-Distribution SageMaker stellen wir ein Image mit untereinander kompatiblen Versionen der gängigsten ML-Frameworks und -Pakete bereit. Die Distribution ist außerdem Open Source, was Entwicklern Transparenz über die Pakete und Build-Prozesse bietet und es einfacher macht, ihre eigene Distribution anzupassen.
In diesem Beitrag haben wir Ihnen gezeigt, wie Sie die Distribution in Ihrer lokalen Umgebung, in Studio und als Container für Ihre Schulungsaufgaben verwenden. Diese Funktion befindet sich derzeit in der öffentlichen Betaphase. Wir empfehlen Ihnen, dies auszuprobieren und Ihr Feedback und Ihre Probleme dazu mitzuteilen öffentliches GitHub-Repository!
Über die Autoren
Durga Sury ist ein ML Solutions Architect im Amazon SageMaker Service SA-Team. Es liegt ihr am Herzen, maschinelles Lernen für jedermann zugänglich zu machen. In ihren vier Jahren bei AWS hat sie beim Aufbau von KI/ML-Plattformen für Unternehmenskunden geholfen. Wenn sie nicht arbeitet, liebt sie Motorradfahrten, Kriminalromane und lange Spaziergänge mit ihrem 4-jährigen Husky.
Ketan Vijayvargiya ist Senior Software Development Engineer bei Amazon Web Services (AWS). Seine Schwerpunkte sind maschinelles Lernen, verteilte Systeme und Open Source. Außerhalb der Arbeit verbringt er seine Zeit gerne damit, selbst Gastgeber zu sein und die Natur zu genießen.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- EVM-Finanzen. Einheitliche Schnittstelle für dezentrale Finanzen. Hier zugreifen.
- Quantum Media Group. IR/PR verstärkt. Hier zugreifen.
- PlatoAiStream. Web3-Datenintelligenz. Wissen verstärkt. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/get-started-with-the-open-source-amazon-sagemaker-distribution/
- :hast
- :Ist
- :nicht
- $UP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- Über Uns
- zugänglich
- über
- hinzufügen
- Zusatz
- Zusätzliche
- Vorteil
- Vorteilen
- AI / ML
- Alle
- bereits
- ebenfalls
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- und
- angekündigt
- jedem
- App
- Apps
- SIND
- Bereiche
- AS
- At
- anhängen
- Im Prinzip so, wie Sie es von Google Maps kennen.
- verfügbar
- vermeiden
- AWS
- Hintergrund
- Base
- basierend
- BE
- Anfang
- Beta
- zwischen
- Größte
- Browser
- bauen
- by
- CAN
- CAT
- Die Zellen
- Herausforderungen
- Änderungen
- Wahl
- Auswählen
- Auswahl
- Einstufung
- COM
- gemeinsam
- kompatibel
- abschließen
- Berechnen
- Konfiguration
- konsistent
- Konsul (Console)
- Verbrauch
- Container
- Behälter
- erstellen
- erstellt
- Zur Zeit
- Original
- Kunden
- anpassen
- technische Daten
- Datenwissenschaft
- Datensätze
- tief
- tiefe Lernen
- Standard
- einsetzen
- beschreiben
- Entwickler
- Entwicklung
- anders
- Direkt
- verteilt
- verteilte Systeme
- Verteilung
- Docker
- Domain
- erledigt
- nach unten
- jeder
- Früher
- einfacher
- leicht
- ermöglicht
- ermutigen
- Ende
- End-to-End
- Ingenieur
- gewährleisten
- Enter
- Unternehmen
- Arbeitsumfeld
- Umgebungen
- Jedes
- jedermann
- Beispiel
- Beispiele
- vorhandenen
- ERFAHRUNGEN
- Experiment
- Expertise
- ERKUNDEN
- exportieren
- Erweiterung
- umfangreiche
- Merkmal
- Eigenschaften
- Feedback
- Reichen Sie das
- Endlich
- Vorname
- Setzen Sie mit Achtsamkeit
- gefolgt
- Folgende
- Aussichten für
- Unser Ansatz
- Gerüste
- für
- voller
- voll
- Zukunft
- erzeugen
- bekommen
- GitHub
- GPU
- Haben
- mit
- he
- dazu beigetragen,
- hier (auf dänisch)
- seine
- Ultraschall
- Hilfe
- HTML
- HTTPS
- ICON
- if
- Image
- Bildklassifizierung
- Bilder
- sofort
- zu unterstützen,
- in
- Eingehende
- installieren
- installiert
- Installieren
- Instanz
- Anleitung
- integriert
- in
- Probleme
- IT
- selbst
- Job
- Jobs
- jpg
- JSON
- Labor
- Laptop
- größer
- starten
- ins Leben gerufen
- lernen
- Lasst uns
- Cholesterinspiegel
- Bibliotheken
- Lebenszyklus
- Gefällt mir
- Gleichen
- LINK
- Liste
- aus einer regionalen
- örtlich
- login
- Lang
- länger
- Verlust
- liebt
- Maschine
- Maschinelles Lernen
- um
- Making
- verwalten
- flächendeckende Gesundheitsprogramme
- Matplotlib
- könnte
- migriert
- ML
- Modell
- für
- Überwachen
- vor allem warme
- Motorrad
- schlauer bewegen
- mehrere
- gegenseitig
- Mystery
- Name
- Natur
- Need
- benötigen
- Netzwerk
- neuronale Netzwerk
- Neu
- weiter
- nicht
- Notizbuch
- jetzt an
- of
- Angebote
- on
- EINEM
- XNUMXh geöffnet
- Open-Source-
- Option
- Optionen
- or
- UNSERE
- aussen
- besitzen
- Paket
- Pakete
- Pandas
- Teil
- leidenschaftlich
- Pause
- zahlen
- Leistung
- Ort
- Plattformen
- Plato
- Datenintelligenz von Plato
- PlatoData
- Post
- bevorzugen
- bevorzugt
- Voraussetzungen
- privat
- anpassen
- Verarbeitung
- Produktion
- Profil
- fördern
- die
- bietet
- Bereitstellung
- Öffentlichkeit
- öffentlich
- veröffentlicht
- Push
- Python
- Pytorch
- schnell
- empfehlen
- ersetzen
- Meldungen
- Quelle
- Voraussetzungen:
- Downloads
- Die Ergebnisse
- Führen Sie
- Laufen
- s
- SA
- sagemaker
- SageMaker-Pipelines
- gleich
- Samstag
- Speichern
- Skalieren
- Zeitplan
- vorgesehen
- Wissenschaft
- Wissenschaftler
- scikit-lernen
- Verbindung
- sehen
- Senior
- Lösungen
- Dienst
- kompensieren
- Einstellungen
- Teilen
- sie
- erklären
- Vitrine
- zeigte
- gezeigt
- Einfacher
- einfach
- So
- Software
- Software-Entwicklung
- Lösungen
- Quelle
- Spark
- verbringen
- Stufen
- Stakeholder
- Anfang
- begonnen
- Beginnen Sie
- Schritt
- Shritte
- Studio Adressen
- so
- Unterstützt
- Schalter
- Systeme und Techniken
- TAG
- Nehmen
- Team
- Tensorfluss
- Terminal
- Test
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- ihr
- Sie
- dann
- Diese
- vom Nutzer definierten
- fehlen uns die Worte.
- Zeit
- zu
- heute
- Fackel
- Training
- Ausbildung
- Transparenz
- versuchen
- tippe
- ui
- zugrunde liegen,
- einheitlich
- ungenutzt
- Aktualisierung
- hochgeladen
- URL
- Anwendungsbereich
- -
- benutzt
- Mitglied
- verwendet
- Verwendung von
- Version
- Anzeigen
- Visualisierung
- wollen
- wollte
- we
- Netz
- Web-Services
- Woche
- wann
- werden wir
- mit
- ohne
- Arbeiten
- arbeiten,
- Jahr
- Du
- Ihr
- Zephyrnet