Amazons Neo-AI-Projekt beschleunigt Machine Learning auch auf Edge-Geräten

Das nun quelloffene SageMaker Neo ermöglicht es, die gleichen Machine-Learning-Modelle sowohl in der Cloud als auch auf Edge-Geräten laufen zu lassen.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Künstliche Intelligenz, Informationsfreiheit

(Bild: iX)

Lesezeit: 3 Min.
Von
  • Alexander Neumann

Auf der re:Invent 2018 hatte Amazon SageMaker Neo vorgestellt, ein Machine-Learning-Feature, mit dem sich Machine-Learning-Modelle trainieren und dann in der Cloud und auf Edge-Geräten ausführen lassen. Nun hat der Cloud-Konzern den Code des dahinter stehenden Neo-AI-Projekts als Open-Source-Software unter der Apache Software License veröffentlicht. Prozessor- und Gerätehersteller sowie Deep-Learning-Entwickler sollen so neue und unabhängige Machine-Learning-Entwicklungen schnell auf eine Vielzahl Hardwareplattformen bringen können.

Sagemaker Neo ist vor dem Hintergrund entstanden, dass es für gewöhnlich schwierig ist, Machine-Learning-Modelle für mehrere Hardwareplattformen zu optimieren, da Entwickler die Modelle manuell und zeitaufwendig für die Hard- und Softwarekonfiguration jeder Plattform anpassen müssen. Das gestaltet sich offenbar besonders schwierig beim Anpassen für Edge-Geräte, die bei Rechenleistung und Speicherplatz normalerweise eingeschränkt sind, wodurch die Größe und Komplexität der Modelle zumeist begrenzt sein muss.

Unterschiede in der Software erschweren den Aufwand wohl zusätzlich. Hier kommt es häufig zu Inkompatibilitäten der Modelle auf den unterschiedliche Geräten. Das führt dazu, dass sich Entwickler gerne auf die Geräte beschränken, die genau den Softwareanforderungen ihres Modells entsprechen.

Im Kern ist Neo-AI ein Machine-Learning-Compiler und eine Runtime-Umgebung, die auf Compiler-Technologien wie LLVM und Halide basiert. Compiler enthält Modifikationen von TVM, einem Deep-Learning-Compiler-Stack, und von Treelite, einem Model-Compiler für Entscheidungsbäume.

Neo-AI soll den Zeit- und Arbeitsaufwand bei der Abstimmung der Modelle für den Einsatz auf mehreren Plattformen durch die automatische Optimierung von Modellen reduzieren, die mit ML-Bibliotheken und- Frameworks wie TensorFlow, MXNet, PyTorch, ONNX und XGBoost erstellt wurden. Dafür konvertiert es Modelle in ein gemeinsames Format, um Probleme mit der Softwarekompatibilität zu vermeiden. Auf der Zielplattform nutzt die Laufzeitumgebung offenbar nur einen kleinen Teil der Ressourcen, die ein Framework typischerweise verbrauchen würde.

Durch die einfachere Optimierung ermöglicht Neo-AI den Betrieb anspruchsvoller Modelle auch auf ressourcenbeschränkten Geräten. Neo-AI unterstützt derzeit Plattformen von Intel, Nvidia und ARM, wobei Xilinx, Cadence und Qualcomm in Kürze unterstützt werden sollen. An der Entwicklung des Projekts sind mehrere Unternehmen involviert, darunter AWS, ARM, Intel, Qualcomm, Xilinx und Cadence.

Durch die Zusammenarbeit mit dem Neo-AI-Projekt können Prozessorhersteller ihren Code schnell in den Compiler integrieren. Das Projekt ermöglicht es Geräteherstellern auch, die Neo-AI-Laufzeit an die jeweilige Soft- und Hardwarekonfiguration ihrer Geräte anzupassen. Sie wird derzeit auf Geräten von beispielsweise ADLINK, Lenovo, Leopard Imaging und Panasonic eingesetzt.

Den Code gibt es auf GitHub, weitere Informationen in der Ankündigung. (ane)