Was ist AWS Neuron?
AWS Neuron ist das Software Development Kit (SDK), das zur Ausführung von Deep-Learning- und generativen KI-Workloads auf Instances von Amazon Elastic Compute Cloud (Amazon EC2) von AWS Inferentia und AWS Trainium verwendet wird. AWS Neuron umfasst einen Compiler, Laufzeit-, Trainings- und Inferenzbibliotheken sowie Entwicklertools für Überwachung, Profilerstellung und Debugging. Neuron unterstützt Ihren durchgängigen Entwicklungszyklus für Machine Learning (ML), einschließlich der Erstellung und Bereitstellung von Deep-Learning- und KI-Modellen, der Optimierung für höchste Leistung und niedrigste Kosten und der Gewinnung tieferer Einblicke in das Modellverhalten.
Native Integration in gängige ML-Frameworks und -Bibliotheken
Neuron lässt sich nativ in PyTorch und JAX sowie in wichtige ML-Bibliotheken wie Hugging Face Optimum Neuron, PyTorch Lightning und AXLearn integrieren. Neuron unterstützt auch OpenXLA, einschließlich StableHLO und GSPMD, sodass PyTorch-, XLA- und JAX-Entwickler die Compiler-Optimierungen von Neuron für Inferentia und Trainium verwenden können. Mit Neuron können Sie Trainium- und Inferentia-basierte Instances mit Services wie Amazon SageMaker, Amazon EKS, Amazon ECS, AWS ParallelCluster und AWS Batch sowie mit Services von Drittanbietern wie Ray (Anyscale), Domino Data Lab, Datadog und Weights & Biases verwenden.
Verteilte Trainings- und Inferenzbibliotheken
Neuron beinhaltet sofort einsatzbereite Optimierungen für verteiltes Training und Inferenz mit den Open-Source-PyTorch-Bibliotheken NxD Training und NxD Inference. NxD Training vereinfacht und optimiert groß angelegte verteilte Trainings und unterstützt verschiedene Modellarchitekturen, Parallelitätsstrategien und Trainings-Workflows. NxD Inference bietet eine umfassende Lösung für optimierte Modellinferenz mit wichtigen Features wie Probenentnahme auf dem Gerät, QKV-Gewichtsfusion, kontinuierliches Batching, spekulative Dekodierung, dynamisches Bucketing und verteilte Inferenz. NxD Inference lässt sich auch in Serverlösungen wie vLLM und Hugging Face TGI integrieren. Beide enthalten einen Modell-Hub für verschiedene Modellarchitekturen.
Fortgeschrittene Fähigkeiten in der angewandten Wissenschaft
Neuron verfügt über mehrere angewandte wissenschaftliche Fähigkeiten, die es Wissenschaftlern und Forschern ermöglichen, die Grenzen der Open-Source-KI-Forschung und -Innovation auf Trainium und Inferentia zu erweitern. Neuron Kernel Interface (NKI) bietet direkten Zugriff auf Hardware-Primitive und Anweisungen, die für Trainium und Inferentia verfügbar sind. So können Forschende Compute-Kernel erstellen und optimieren, um die bestmögliche Leistung zu erzielen. Es handelt sich dabei um eine Python-basierte Programmierumgebung, die häufig verwendete Triton-ähnliche Syntax und Semantik auf Kachelebene nutzt. Mit NKI können Forschende Deep-Learning-Modelle um neue Funktionen, Optimierungen und wissenschaftliche Innovationen erweitern. Die benutzerdefinierten C++-Operatoren von Neuron ermöglichen es Entwicklern, die Funktionalität des SDK zu erweitern, indem sie ihre eigenen Operatoren erstellen, die für Inferentia und Trainium optimiert sind.
Leistungsstarke Entwicklertools
Das AWS Neuron SDK bietet ein umfassendes Toolset, das tiefe Einblicke in die Überwachung, Verwaltung und Optimierung von Deep-Learning-Modellen auf AWS-Inferentia- und Trainium-basierten EC2-Instances bietet. AWS Neuron SDK bietet Dienstprogramme wie Neuron-Top, Neuron-Monitor und Neuron Sysfs zur Überwachung von Hardwareressourcen, Modellausführung und Systemdetails. Für containerisierte Anwendungen auf Kubernetes und EKS vereinfacht Neuron die Überwachung durch die Amazon-CloudWatch-Integration und andere beliebte Beobachtbarkeits-Tools wie Data Dog und Weights & Biases. Darüber hinaus hilft das Neuron-Profile-Tool dabei, Leistungsengpässe sowohl in Einzelknotenanwendungen als auch in verteilten Anwendungen zu identifizieren und zu beheben, und bietet native Profilerstellungsfunktionen für beliebte ML-Frameworks.