Amazon SageMaker Neo
ML-Modelle mit bis zu 25x besserer Leistung ausführen
Mit Amazon SageMaker Neo können Entwickler ML-Modelle (Machine Learning) für Inferenz auf SageMaker in der Cloud und unterstützte Geräte optimieren.
ML-Inferenz ist der Prozess der Verwendung eines trainierten Machine Learning-Modells, um Prognosen zu treffen. Nach dem Training eines Modells für hohe Genauigkeit verbringen Entwickler häufig viel Zeit und Mühe damit, das Modell auf hohe Leistung abzustimmen. Für Inferenz in der Cloud wenden sich Entwickler häufig großen Instanzen mit viel Speicher und leistungsstarken Verarbeitungsfunktionen zu höheren Kosten zu, um einen besseren Durchsatz zu erzielen. Für Inferenz auf Edge-Geräte mit begrenztem Rechenaufwand und Speicher benötigen Entwickler häufig Monate, um das Modell von Hand zu optimieren und eine akzeptable Leistung innerhalb der Hardwarebeschränkungen des Geräts zu erzielen.
Amazon SageMaker Neo optimiert automatisch Machine Learning-Modelle für Inferenz in Cloud-Instances und Edge-Geräte, damit diese schneller und ohne Genauigkeitsverlust ausgeführt werden können. Sie beginnen mit einem Modell für Machine Learning, das bereits mit DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX oder XGBoost erstellt und in Amazon SageMaker oder anderswo geschult wurde. Dann wählen Sie Ihre Ziel-Hardwareplattform, die eine SageMaker-Hosting-Instance oder ein Edge-Gerät sein kann, das auf Prozessoren von Ambarella, Apple, ARM, Intel, MediaTek, Nvidia, NXP, Qualcomm, RockChip oder Texas Instruments basiert. Mit nur einem Klick optimiert SageMaker Neo das trainierte Modell und kompiliert es dann zu einer ausführbaren Datei. Der Compiler verwendet ein Modell für Machine Learning, um die Leistungsoptimierungen anzuwenden, mit denen die beste verfügbare Leistung für Ihr Modell auf der Cloud-Instanz oder dem Edge-Gerät ermittelt wird. Anschließend stellen Sie das Modell als SageMaker-Endpunkt oder auf unterstützten Edge-Geräten bereit und beginnen mit Prognosen.
Für Inferenzen in der Cloud beschleunigt SageMaker Neo die Inferenz und spart Kosten, indem beim SageMaker-Hosting ein inferenzoptimierter Container erstellt wird. SageMaker Neo spart Entwicklern monatelange manuelle Optimierung, indem das Modell automatisch für das ausgewählte Betriebssystem und die ausgewählte Prozessorhardware optimiert wird.
Amazon SageMaker Neo verwendet Apache TVM und von Partnern bereitgestellte Compiler und Beschleunigungsbibliotheken, um die beste verfügbare Leistung für ein bestimmtes Modell und Hardwareziel zu erzielen. AWS liefert den Compiler-Code im Rahmen der Apache-Softwarelizenz an das Apache-TVM-Projekt und den Laufzeitcode an das Neo-AI-Open-Source-Projekt, damit Prozessoranbieter und Gerätehersteller auf Grundlage einer gemeinsamen kompakten Laufzeit schnell Innovationen entwickeln können.
Funktionsweise
Vorteile
Leistung um bis zu 25x verbessern
Amazon SageMaker Neo optimiert Modelle für Machine Learning automatisch, um bis zu 25-mal schneller und ohne Genauigkeitsverlust zu arbeiten. SageMaker Neo verwendet die für Ihr Modell und Ihre Zielhardwareplattform am besten geeignete Toolkette und bietet gleichzeitig eine einfache Standard-API für die Modellkompilierung.
Weniger als 1/10 des Laufzeit-Footprints
Die Laufzeit von Amazon SageMaker Neo beansprucht nur 1/10 des Footprints eines Deep Learning-Frameworks wie TensorFlow oder PyTorch. Anstatt den Rahmen auf Ihrer Zielhardware zu installieren, laden Sie die kompakte Neo-Laufzeitbibliothek in Ihre ML-Anwendung. Und im Gegensatz zu einem kompakten Framework wie TensorFlow-Lite kann die Neo-Laufzeit ein Modell ausführen, das in einem der vom Neo-Compiler unterstützten Rahmen trainiert ist.
Schnellere Produktionszeit
Mit Amazon SageMaker Neo können Sie Ihr Modell mit nur wenigen Klicks in der Amazon SageMaker-Konsole einfach für die Bereitstellung auf praktisch allen Hardwareplattformen vorbereiten. Sie erhalten alle Vorteile der manuellen Abstimmung – ohne den Aufwand.
Wichtige Funktionen
Optimiert die Inferenz, ohne die Genauigkeit zu beeinträchtigen
Amazon SageMaker Neo verwendet forschungsgeleitete Techniken in Compilern für Machine Learning, um Ihr Modell für die Zielhardware zu optimieren. Durch die automatische Anwendung dieser systematischen Optimierungstechniken beschleunigt SageMaker Neo Ihre Modelle ohne Genauigkeitsverlust.
Unterstützt alle wichtigen Machine Learning-Frameworks
Amazon SageMaker Neo konvertiert ein Modell aus dem Framework-spezifischen Format von DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX oder XGBoost in eine gemeinsame Darstellung, optimiert die Berechnungen und generiert eine hardwarespezifische ausführbare Datei für das Ziel SageMaker-Hosting-Instance oder Edge-Gerät.
Bietet eine kompakte Laufzeit mit Standard-APIs
Die Amazon SageMaker Neo-Laufzeit belegt 1 MB Speicher und 2 MB Speicher, was um ein Vielfaches kleiner ist als der Speicher- und Speicherbedarf eines Rahmens, und bietet gleichzeitig eine einfache gemeinsame API zum Ausführen eines kompilierten Modells, das aus einem beliebigen Rahmen stammt.
Unterstützt beliebte Zielplattformen
Die Laufzeitumgebung von Amazon SageMaker Neo wird von den Betriebssystemen Android, Linux und Windows sowie von Prozessoren von Ambarella, ARM, Intel, Nvidia, NXP, Qualcomm und Texas Instruments unterstützt. Die Laufzeit von Amazon SageMaker Neo wird unter Android-, Linux- und Windows-Betriebssystemen sowie auf Prozessoren von Ambarella, ARM, Intel, Nvidia, NXP, Qualcomm, Texas Instruments und Xilinx unterstützt.
Inferenz-optimierte Container für Amazon SageMaker-Hosting-Instances
Für Inferenzen in der Cloud bietet Amazon SageMaker Neo Inferenz-optimierte Container mit MXNet, PyTorch und TensorFlow, die in die Neo-Laufzeit integriert sind. Bisher konnte SageMaker Neo keine Modelle kompilieren, die nicht unterstützte Operatoren verwendeten. Jetzt optimiert SageMaker Neo jedes Modell so weit, dass der Compiler die Operatoren im Modell unterstützt und den Rahmen verwendet, um den Rest des nicht kompilierten Modells auszuführen. Infolgedessen können Sie jedes MXNet-, PyTorch- oder TensorFlow-Modell in den Inferenz-optimierten Containern ausführen und gleichzeitig eine bessere Leistung für die Modelle erzielen, die kompiliert werden können.
Modellpartitionierung für heterogene Hardware
Amazon SageMaker Neo nutzt die von Partnern bereitgestellten Beschleunigerbibliotheken, um die beste verfügbare Leistung für ein Deep-Learning-Modell auf heterogenen Hardwareplattformen mit einem Hardwarebeschleuniger sowie einer CPU bereitzustellen. Beschleunigungsbibliotheken wie Ambarella CV Tools, Nvidia Tensor RT und Texas Instruments TIDL unterstützen jeweils einen bestimmten Satz von Funktionen und Operatoren. SageMaker Neo partitioniert Ihr Modell automatisch, sodass das Teil mit den vom Beschleuniger unterstützten Operatoren auf dem Beschleuniger ausgeführt werden kann, während der Rest des Modells auf der CPU ausgeführt wird. Auf diese Weise nutzt SageMaker Neo den Hardwarebeschleuniger am meisten, erhöht die Modelltypen, die auf der Hardware ausgeführt werden können, und verbessert gleichzeitig die Leistung des Modells in dem Maße, in dem seine Bediener vom Beschleuniger unterstützt werden.
Support für Amazon SageMaker INF1-Instances
Amazon SageMaker Neo kompiliert jetzt Modelle für Amazon SageMaker INF1-Instance-Ziele. Das SageMaker-Hosting bietet einen verwalteten Service für Inferenzen auf den INF1-Instances, die auf dem AWS Inferentia-Chip basieren. SageMaker Neo bietet die Standard-API zur Modellkompilierung unter Verwendung des für den Inferentia-Prozessor spezifischen Neuron-Compilers unter der Haube. Dies vereinfacht die Vorbereitung eines Modells für die Bereitstellung auf der SageMaker INF1-Instance und bietet gleichzeitig die beste verfügbare Leistung und Kostenersparnis der INF1-Instance.
Blogs
Erfolg mit Amazon SageMaker für die digitale Landwirtschaft von Bayer
Marisa Messina | 05. AUG 2019
Amazon SageMaker Neo ermöglicht das Machine Learning von Pioneer in Autos
Satadal Bhattacharjee | 11. JUN 2019
Satadal Bhattacharjee | 12. JUN 2019
Sukwon Kim und Vin Sharma | 23. JAN 2019