Kompilieren und Bereitstellen von Modellen mit Neo - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kompilieren und Bereitstellen von Modellen mit Neo

Neo ist eine Funktion von Amazon SageMaker, die das einmalige Trainieren von Machine Learning-Modellen ermöglicht, um sie anschließend überall in der Cloud und an der Grenze auszuführen.

Wenn Sie zum ersten Mal Benutzer von SageMaker Neo sind, empfehlen wir Ihnen, sich dieErste Schritte mit Edge-Gerätenum Schritt-für-Schritt-Anleitungen zum Kompilieren und Bereitstellen auf einem Edge-Gerät zu erhalten.

Was ist SageMaker Neo?

Im Allgemeinen ist es schwierig, ML-Modelle für die Inferenz auf mehreren Plattformen zu optimieren, da Sie die Modelle für die jeweilige Hardware- und Softwarekonfiguration jeder Plattform manuell anpassen müssen. Um optimale Leistung für eine bestimme Workload zu erreichen, müssen Sie verschiedene Faktoren kennen, beispielsweise die Hardwarearchitektur, den Befehlssatz, die Speicherzugriffsmuster und die Formen von Eingabedaten. Bei der herkömmlichen Softwareentwicklung vereinfachen Tools wie Compiler und Profiler den Prozess. Im maschinellen Lernen sind die meisten Tools aber speziell auf das Framework oder die Hardware ausgerichtet. Das zwingt Sie dazu, Verschiedenes manuell nacheinander auszuprobieren, was unzuverlässig und unproduktiv ist.

Neo optimiert Gluon-, Keras-, MXNet-, PyTorch-, TensorFlow-, TensorFlow-Lite- und ONNX-Modelle automatisch für die Inferenz auf Android-, Linux- und Windows-Computern, die mit Prozessoren von Ambarella, ARM, Intel, Nvidia, NXP, Qualcomm, Texas Instruments und Xilinx arbeiten. Neo wird mit Computervisionsmodellen getestet, die in den Modellzoos in den verschiedenen Frameworks verfügbar sind. SageMaker Neo unterstützt die Kompilierung und Bereitstellung für zwei Hauptplattformen: Cloud-Instanzen (einschließlich Inferentia) und Edge-Geräte.

Weitere Informationen zu unterstützten Frameworks und Cloud-Instance-Typen, auf denen Sie bereitstellen können, finden Sie unterUnterstützte Instance-Typen und Frameworksfür Cloud-Instanzen.

Weitere Informationen zu unterstützten Frameworks, Edge-Geräten, Betriebssystemen, Chikarchitekturen und gängigen Machine Learning-Modellen, die von SageMaker Neo für Edge-Geräte getestet wurden, finden Sie unterUnterstützte Frameworks, Geräte, Systeme und Architekturenfür Edge-Geräte.

Funktionsweise

Neo besteht aus einem Compiler und einer Laufzeit. Zuerst liest die Neo-Kompilierungs-API Modelle, die von unterschiedlichen Frameworks exportiert wurden. Anschließend wandelt sie die Framework-spezifischen Funktionen und Operationen in eine Framework-unabhängige Zwischenrepräsentation um. Danach führt sie eine Reihe von Optimierungen aus. Daraufhin generiert sie den Binärcode für die optimierten Operationen, schreibt sie in eine gemeinsame Objektbibliothek und speichert die Modelldefinition und die Parameter in separaten Dateien. Neo bietet außerdem eine Laufzeit für jede Zielplattform, die das kompilierte Modell lädt und ausführt.

Sie können einen Neo-Kompilierungsauftrag über die SageMaker-Konsole, dieAWS Command Line Interface(AWS CLI), ein Python-Notizbuch oder das SageMaker SDK.Informationen zum Kompilieren eines Modells finden Sie unterVerwendung von Neo zum Kompilieren eines Modellsaus. Sie können mit nur wenigen CLI-Befehlen, einem API-Aufruf oder einigen Klicks ein Modell für die gewünschte Plattform konvertieren. Sie können das Modell auf einem SageMaker-Endpunkt oder auf einemAWS IoT Greengrass-Gerät schnell.

Neo kann Modelle mit Parametern entweder in FP32 oder quantifiziert nach INT8- oder FP16-Bitbreite optimieren.

Neo-Beispielnotebooks

Informationen zu Beispielnotebooks, die SageMaker Neo zum Trainieren, Kompilieren, Optimieren und Bereitstellen von ML-Modellen für Inferenzen verwenden, finden Sie in den folgenden Ressourcen:

Anleitungen zum Ausführen dieser Beispiel-Notebooks in SageMaker finden Sie unterBeispiel-Notebooksaus. Wenn Sie Anweisungen zum Erstellen einer Notebook-Instance benötigen, um diese Beispiele auszuführen, lesen Sie bitte unterVerwenden von Amazon SageMaker Notebook-aus. Um zu dem entsprechenden Beispiel in Ihrer Notebook-Instance zu navigieren, wählen Sie dieAmazon SageMaker SageMaker-Beispiele-Registerkarte, um eine Liste aller SageMaker-Beispiele anzuzeigen. Zum Öffnen eines Notebooks wählen Sie die Registerkarte Use (Verwenden) und dann Create copy (Kopie erstellen).