AWS Neuron

SDK per ottimizzare l'IA e il deep learning su AWS Trainium e AWS Inferentia

Cos'è AWS Neuron?

AWS Neuron è il Software Development Kit (SDK) utilizzato per eseguire carichi di lavoro di deep learning e IA generativa su istanze Amazon Elastic Compute Cloud (Amazon EC2) basate su AWS Inferentia e AWS Trainium. Include un compilatore, un runtime, librerie di addestramento e inferenza, e strumenti di sviluppo per il monitoraggio, la profilazione e il debug. Neuron supporta il ciclo di vita di sviluppo del machine learning (ML) end-to-end, inclusa la creazione e l'implementazione di modelli di deep learning e intelligenza artificiale, l'ottimizzazione per ottenere le massime prestazioni e i costi più bassi e l'acquisizione di informazioni più approfondite sul comportamento dei modelli.

motivo di sfondo

Integrazione nativa con i framework e le librerie ML più diffusi

Neuron si integra in modo nativo con PyTorch e JAX e con librerie ML essenziali come Hugging Face Optimum Neuron, PyTorch Lightning e AXLearn. Neuron supporta anche OpenXLA, inclusi HLO e GSPMD stabili, consentendo agli sviluppatori PyTorch, XLA e JAX di utilizzare le ottimizzazioni del compilatore di Neuron per Inferentia e Trainium. Neuron consente di utilizzare le istanze basate su Trainium e Inferenza con servizi come Amazon SageMaker, Amazon EKS, Amazon ECS, AWS ParallelCluster e Batch AWS, oltre a servizi di terze parti come Ray (Anyscale), Domino Data Lab, Datadog e Weights & Biases.

motivo di sfondo

Librerie di addestramento e inferenza distribuite

Neuron include ottimizzazioni pronte all'uso per l'addestramento distribuito e l'inferenza con le librerie PyTorch open source NxD Training e NxD Inference. NxD Training semplifica e ottimizza l'addestramento distribuito su larga scala e supporta varie architetture di modelli, strategie di parallelismo e flussi di lavoro di formazione. NxD Inference fornisce una soluzione completa per l'inferenza ottimizzata dei modelli con funzionalità chiave come il campionamento su dispositivo, la fusione del peso QKV, il batching continuo, la decodifica speculativa, il bucketing dinamico e l'inferenza distribuita. NxD Inference si integra anche con soluzioni di servizio come vLLM e Hugging Face TGI. Entrambi includono un hub modello per diverse architetture di modelli.

motivo di sfondo

Funzionalità avanzate di scienze applicate

Neuron dispone di diverse funzionalità di scienze applicate per consentire a scienziati e ricercatori di superare i confini della ricerca e dell'innovazione nell'IA open source su Trainium e Inferentia. Neuron Kernel Interface (NKI) fornisce l'accesso diretto alle primitive hardware e alle istruzioni disponibili su Trainium e Inferentia, consentendo ai ricercatori di creare e ottimizzare i kernel di calcolo per prestazioni ottimali. È un ambiente di programmazione basato su Python che adotta la diffusa sintassi in stile Triton e la semantica a livello di riquadro. I ricercatori possono utilizzare NKI per migliorare i modelli di deep learning con nuove funzionalità, ottimizzazioni e innovazioni scientifiche. Gli operatori C++ personalizzati di Neuron consentono agli sviluppatori di estendere le funzionalità dell'SDK creando i propri operatori ottimizzati per Inferentia e Trainium.

motivo di sfondo

Strumenti potenti per sviluppatori

L'SDK AWS Neuron offre un set di strumenti completo per fornire informazioni approfondite sul monitoraggio, la gestione e l'ottimizzazione dei modelli di deep learning sulle istanze EC2 basate su AWS Inferentia e Trainium. Fornisce utilità come neuron-top, neuron-monitor e Neuron Sysfs per monitorare risorse hardware, esecuzione di modelli e dettagli del sistema. Per le applicazioni containerizzate su Kubernetes ed EKS, Neuron semplifica il monitoraggio tramite l'integrazione di Amazon CloudWatch e altri strumenti di osservabilità noti come Data Dog e Weights & Biases. Inoltre, lo strumento neuron-profile aiuta a identificare e risolvere i colli di bottiglia nelle prestazioni sia nelle applicazioni a nodo singolo che in quelle distribuite e fornisce funzionalità di profilazione native per i framework ML più diffusi.

motivo di sfondo

Nozioni di base

Le Deep Learning Amazon Machine Images di Neuron (DLAMI Neuron) sono preconfigurate con l'SDK, i framework più diffusi e le librerie utili di Neuron, che consentono di iniziare rapidamente l'addestramento e l'esecuzione dell'inferenza su AWS Inferentia. Le DLAMI Neuron semplificano il flusso di lavoro e ottimizzano le prestazioni, eliminando le complessità di configurazione in modo da poterti concentrare sulla creazione e l'implementazione di modelli di IA. Inizia a usare le DLAMI Neuron.

Implementa rapidamente i modelli utilizzando i Container per il Deep Learning di AWS Neuron (DLC Neuron) preconfigurati con framework ottimizzati per Trainium e Inferentia. Per soluzioni personalizzate, crea i tuoi container e sfrutta le funzionalità di Kubernetes come Neuron Device Plugin, Neuron Scheduler Extension e Helm Charts. Si integra perfettamente con servizi AWS come Amazon EKS, Batch AWS e Amazon ECS per implementazioni scalabili. Inizia a usare i DLC Neuron.

Optimum Neuron unisce i trasformatori di Hugging Face con l'SDK AWS Neuron, fornendo API Hugging Face standard per Trainium e Inferentia. Offre soluzioni sia per l'addestramento che per l'inferenza, incluso il supporto per l'addestramento e l'implementazione di modelli su larga scala per i flussi di lavoro di IA. Supportando Amazon SageMaker e i Container per il Deep Learning predefiniti, Optimum Neuron semplifica l'uso di Trainium e Inferentia per il ML. Questa integrazione consente agli sviluppatori di lavorare con le interfacce già conosciute di Hugging Face sfruttando Trainium e Inferentia per i loro progetti basati su trasformatori. Inizia a usare Hugging Face Optimum Neuron.

Puoi utilizzare Amazon SageMaker JumpStart per addestrare e implementare modelli tramite Neuron. JumpStart fornisce supporto per la messa a punto e l'implementazione di modelli popolari come la famiglia di modelli Llama di Meta. Inizia a usare SageMaker JumpStart.