- Prodotto›
- Machine learning›
- AWS Neuron
AWS Neuron
SDK per ottimizzare l’IA e il deep learning su AWS Trainium e AWS Inferentia
Cos’è AWS Neuron?
AWS Neuron è uno stack per sviluppatori che consente l’esecuzione di carichi di lavoro di deep learning e di IA generativa su AWS Trainium e AWS Inferentia. Sviluppato su una base open source, Neuron permette agli sviluppatori di creare, implementare ed esplorare in modo nativo con i framework PyTorch e JAX e con le librerie ML come HuggingFace, vLLM, PyTorch Lightning e altre, senza la necessità di modificare il codice. Include un compilatore, un runtime, librerie di addestramento e inferenza, e strumenti di sviluppo per il monitoraggio, la profilazione e il debug. Neuron supporta l’intero ciclo di vita dello sviluppo del machine learning (ML), dalla creazione e implementazione di modelli di deep learning e IA, all’ottimizzazione per ottenere le massime prestazioni e i costi più bassi, fino all’acquisizione di informazioni più approfondite sul comportamento dei modelli.
Neuron rende possibile una rapida sperimentazione, l’addestramento su scala di produzione di modelli all’avanguardia, l’ottimizzazione delle prestazioni a basso livello tramite la Neuron Kernel Interface (NKI) per kernel personalizzati, l’implementazione dell’inferenza a costi ottimizzati per i carichi di lavoro di IA agentica e di apprendimento per rinforzo, nonché la profilazione e il debug completi con Neuron Explorer.
Sviluppato per i ricercatori
Neuron consente di effettuare rapidamente una ricerca tramite IA, eseguendo codice PyTorch nativo invariato su Trainium. I ricercatori possono testare nuove idee e iterare rapidamente con il supporto della modalità PyTorch Eager. La scalatura è semplice con le librerie distribuite PyTorch, come FSDP, DDP e DTensor, che permettono di suddividere i modelli su chip o di scalare su più nodi. Neuron supporta torch.compile e librerie come TorchTitan e HuggingFace Transformers, che ora funzionano direttamente su Trainium senza alcuna modifica. Inoltre, gli sviluppatori JAX possono avvalersi di Neuron per sviluppare, ottimizzare e implementare in modo semplice i propri modelli su Inferentia e Trainium.
Progettato per la produttività
Neuron ottimizza l’economia dell’inferenza per i carichi di lavoro di IA agentica e di apprendimento per rinforzo. Le API vLLM V1 standard operano su Trainium e Inferentia con prestazioni elevate e sono pronte all’uso con funzionalità quali parallelismo tra esperti, inferenza disaggregata, decodifica speculativa e kernel ottimizzati dalla Neuron Kernel Library, in modo da massimizzare l’economia dei token su larga scala. Gli sviluppatori di ML possono addestrare con HuggingFace Optimum Neuron, PyTorch Lightning e TorchTitan, quindi implementare l’inferenza con le API vLLM standard.
Progettato per l’innovazione
La creazione di modelli di IA richiede sia una rapida innovazione che l’ottimizzazione delle prestazioni. I framework standard come PyTorch semplificano la sperimentazione su larga scala, ma per superare i limiti delle prestazioni è necessario ottimizzare l’intero stack (chip, server e UltraServer). Neuron offre agli ingegneri ML un accesso senza precedenti ai nostri chip IA di AWS tramite la Neuron Kernel Interface (NKI), approfondimenti mediante Neuron Explorer e la nostra libreria di kernel ottimizzata: la Neuron Kernel Library (NKILib). NKI fornisce API per l’allocazione della memoria, la pianificazione dell’esecuzione e l’accesso diretto a Trainium ISA, che consentono di esercitare un controllo a livello di istruzioni sulla programmazione. NKI Compiler è open source, basato su MLIR e offre agli sviluppatori una visione d’insieme dell’intera pipeline del compilatore. La libreria open source di Neuron Kernel mette a disposizione implementazioni ottimizzate con codice sorgente, documentazione e benchmark. Neuron Explorer offre una suite di strumenti unificata che supporta gli sviluppatori nell’ottimizzazione delle prestazioni e nel processo di debug. I tecnici delle prestazioni possono tracciare l’esecuzione del codice sorgente fino alle operazioni hardware, profilare applicazioni a nodo singolo e distribuite, nonché ricevere approfondimenti basati sull’IA e consigli pratici per l’ottimizzazione del kernel e il miglioramento delle prestazioni.
Progettato per l’open source
L’innovazione nell’ambito dell’IA prospera nelle community aperte, in cui gli sviluppatori sono liberi di ispezionare, modificare e contribuire. Neuron sostiene la community open source e promuove l’innovazione. Mentre spostiamo più parti del nostro stack verso l’open source, le integrazioni NKI Compiler, Neuron Kernel Driver, Neuron Kernel Library, NxD Inference, Neuron Explorer e PyTorch, JAX e vLLM sono oggi disponibili con licenza open source. Le librerie e gli strumenti open source permettono agli sviluppatori di esaminare le implementazioni dei compilatori, apportare ottimizzazioni e adattare il codice del kernel senza alcuna limitazione. Insieme è più facile!
Presentazione di Neuron
Neuron offre un’integrazione nativa con PyTorch, che consente ai ricercatori e agli sviluppatori di ML di eseguire il codice esistente senza apportare modifiche su Trainium. Le API standard, tra cui FSDP, DDP e DTensor, garantiscono un funzionamento ottimale per l’addestramento distribuito su configurazioni multinodo. Le librerie ML più utilizzate, come TorchTitan, HuggingFace Optimum Neuron, PyTorch Lightning e altre, possono essere eseguite direttamente con modifiche minime. Addestra i modelli con flussi di lavoro e strumenti familiari, dal pre-addestramento al post-addestramento con l’apprendimento per rinforzo, sfruttando al contempo i vantaggi in termini di prestazioni e costi di Trainium, sia per la sperimentazione che per l’addestramento su scala di produzione.
Neuron permette l’implementazione dell’inferenza di produzione con framework e API standard su Trainium e Inferentia. L’integrazione di vLLM con le API standard consente di usufruire di un servizio ad alte prestazioni con kernel ottimizzati della Neuron Kernel Library. Le funzionalità avanzate, come il parallelismo tra esperti, l’inferenza disaggregata e la decodifica speculativa, massimizzano i token al secondo, riducendo al minimo il costo per token. Implementa carichi di lavoro di IA agentica e di apprendimento per rinforzo su larga scala con ottimizzazioni delle prestazioni pronte all’uso.
Pensata per gli ingegneri delle prestazioni che cercano la massima efficienza hardware, Neuron offre il controllo completo tramite la Neuron Kernel Interface (NKI), che garantisce l’accesso diretto al set di istruzioni NeuronISA, all’allocazione della memoria e alla programmazione dell’esecuzione. Gli sviluppatori possono creare nuove operazioni che non sono disponibili nei framework standard e ottimizzare il codice critico per le prestazioni con kernel personalizzati. Il compilatore NKI open source, basato su MLIR, garantisce la trasparenza dei processi di compilazione. La Neuron Kernel Library fornisce kernel pronti per la produzione e ottimizzati, corredati di codice sorgente completo, documentazione e benchmark.
Neuron Explorer offre una suite di strumenti unificata che supporta gli sviluppatori nell’ottimizzazione delle prestazioni e nel processo di debug. Consolidando la profilazione, il debug, l’implementazione delle ottimizzazioni e la convalida dei miglioramenti in un unico ambiente, Neuron Explorer elimina il tempo sprecato a causa di strumenti disorganizzati. La profilazione gerarchica con collegamento del codice per PyTorch, JAX e NKI traccia l’esecuzione del codice sorgente fino alle operazioni hardware. I suggerimenti basati sull’IA analizzano i profili per individuare i colli di bottiglia e fornire informazioni utili per le strategie di sharding e le ottimizzazioni del kernel. L’interfaccia utente è open source su GitHub.
Neuron fornisce funzionalità complete di monitoraggio e osservabilità che permettono agli sviluppatori di ML e ai team MLOps di mantenere l’eccellenza operativa delle implementazioni in fase di produzione. L’integrazione nativa di Amazon CloudWatch consente il monitoraggio centralizzato di tutta l’infrastruttura ML, con supporto per le applicazioni containerizzate su Kubernetes e Amazon EKS. Le integrazioni delle piattaforme dei partner con strumenti come Datadog, consentono di ampliare l’osservabilità con monitoraggio, registrazione e avvisi unificati. Neuron fornisce diverse funzionalità, tra cui Neuron-top per il monitoraggio in tempo reale, Neuron Monitor per la raccolta delle metriche, Neuron-ls per l’elenco dei dispositivi e Neuron Sysfs per informazioni dettagliate sul sistema.
Neuron semplifica le implementazioni per gli sviluppatori di ML e dei team MLOps, fornendo ambienti e strumenti di infrastruttura preconfigurati. Le Deep Learning AMI (DLAMI) e i Container per il Deep Learning (DLC) di Neuron sono pronti con lo stack software Neuron, i framework più diffusi e le librerie essenziali. Per quanto riguarda le implementazioni Kubernetes, il plugin Neuron Device gestisce l’allocazione delle risorse, l’estensione Neuron Scheduler fornisce un posizionamento intelligente del carico di lavoro e il driver Dynamic Resource Allocation (DRA) astrae la complessità della topologia hardware con una selezione intuitiva delle risorse basata sulle dimensioni. I grafici Helm semplificano l’orchestrazione delle implementazioni containerizzate.