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.
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.
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.
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.
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.