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.
Optimierung der Modellleistung mit SageMaker Neo
Neo ist eine Funktion von Amazon SageMaker AI, mit der Modelle für maschinelles Lernen einmal trainiert und dann überall in der Cloud und am Edge ausgeführt werden können.
Wenn Sie SageMaker Neo zum ersten Mal verwenden, empfehlen wir Ihnen, den Abschnitt Erste Schritte mit Edge-Geräten zu lesen, um step-by-step Anweisungen zur Kompilierung und Bereitstellung auf einem Edge-Gerät zu erhalten.
Was ist SageMaker Neo?
Normalerweise ist es äußerst 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. Dies zwingt Sie zu einem manuellen trial-and-error Prozess, der unzuverlässig und unproduktiv ist.
Neo optimiert automatisch Gluon-, Keras-,, MXNet PyTorch TensorFlow, TensorFlow -Lite- und ONNX-Modelle für Inferenz auf Android-, Linux- und Windows-Computern, die auf Prozessoren von Ambarella, ARM, Intel, Nvidia, NXP, Qualcomm, Texas Instruments und Xilinx basieren. Neo wird mit Computer-Vision-Modellen getestet, die in den Modellzoos aller 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 Type, auf denen Sie bereitstellen können, finden Sie unter Unterstützte Instance-Typen und Frameworks Cloud-Instances.
Weitere Informationen zu unterstützten Frameworks, Edge-Geräten, Betriebssystemen, Chip-Architekturen und gängigen Modellen für maschinelles Lernen, die von SageMaker AI Neo für Edge-Geräte getestet wurden, finden Sie unter Unterstützte Frameworks, Geräte, Systeme und Architekturen fü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.
![Wie Neo in SageMaker KI funktioniert.](images/neo/neo_how_it_works.png)
Sie können einen Neo-Kompilierungsjob entweder über die SageMaker AI-Konsole, die AWS Command Line Interface (AWS CLI), ein Python-Notebook oder das SageMaker AI-SDK erstellen. Informationen zum Kompilieren eines Modells finden Sie unter. Modellkompilierung mit Neo 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 schnell auf einem SageMaker KI-Endpunkt oder auf einem AWS IoT Greengrass Gerät bereitstellen.
Neo kann Modelle mit Parametern optimieren, die entweder in FP32 Bitbreite oder in FP16 Bitbreite quantisiert sind. INT8