AWS Neuron
AWS Neuron è un SDK con compilatore, runtime e strumenti di profilazione che sblocca l'accelerazione del deep learning (DL) ad alte prestazioni e a costi contenuti. Supporta la formazione ad alte prestazioni sulle istanze Trn1 di Amazon Elastic Compute Cloud (Amazon EC2) basate su AWS Trainium. Per l'implementazione del modello, supporta l'inferenza ad alte prestazioni e bassa latenza su istanze Inf1 di Amazon EC2 basate su AWS Inferentia e istanze Inf2 di Amazon EC2 basate su AWS Inferentia2. Con Neuron, puoi utilizzare i framework più diffusi, come TensorFlow e PyTorch, e addestrare e implementare in modo ottimale modelli di machine learning (ML) su istanze Trn1, Inf1 e Inf2 di Amazon EC2 e Neuron è progettato per ridurre al minimo le modifiche al codice e collegare soluzioni specifiche del fornitore.
Vantaggi
Crea con il supporto nativo per framework e librerie ML
L'SDK AWS Neuron, che supporta acceleratori Inferentia e Trainium, è nativamente integrato con PyTorch e TensorFlow. Questa integrazione garantisce che tu possa continuare a utilizzare i flussi di lavoro esistenti in questi framework popolari e iniziare a lavorare con solo poche righe di modifiche al codice. Per l'addestramento del modello distribuito, l'SDK Neuron supporta librerie, come Megatron-LM e PyTorch Fully Sharded Data Parallel (FSDP).
Ottimizza le prestazioni per l'addestramento e l'inferenza
L'SDK AWS Neuron consente una programmazione efficiente e un accesso runtime agli acceleratori Trainium e Inferentia. Supporta un'ampia gamma di tipi di dati, nuove modalità di arrotondamento, flusso di controllo e operatori personalizzati, per aiutarti a scegliere la configurazione ottimale per i tuoi carichi di lavoro di DL. Per l'addestramento distribuito, Neuron consente un uso efficiente di Trn1 UltraClusters con supporto strettamente accoppiato per operazioni di calcolo collettive su rete Elastic Fabric Adapter (EFA).
Ottieni strumenti di debug e monitoraggio migliorati
Neuron offre la compilazione Just-In-Time (JIT) per velocizzare i flussi di lavoro degli sviluppatori. Offre strumenti di debug e profilazione con il supporto del plug-in TensorBoard. Neuron supporta la modalità di debug desideroso, che puoi utilizzare per scorrere facilmente il codice e valutare gli operatori uno per uno. Puoi utilizzare gli strumenti di supporto di Neuron per seguire le best practice per l'onboarding del modello e l'ottimizzazione delle prestazioni. Inoltre, Neuron include strumenti che forniscono informazioni dettagliate sulle prestazioni e sull'utilizzo.
Facile integrazione con altri servizi AWS
Le AMI di AWS Deep Learning e i container di AWS Deep Learning sono forniti preconfigurati con AWS Neuron. Se utilizzi applicazioni in container, puoi implementare Neuron utilizzando Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) o il tuo motore di container nativo preferito. Neuron supporta anche Amazon SageMaker, che può essere utilizzato da data scientist e sviluppatori per creare, addestrare e implementare modelli di ML.
Caratteristiche
Partizionamento intelligente
Per aumentare le prestazioni complessive, AWS Neuron ottimizza automaticamente l'elaborazione della rete neurale per eseguire attività intensive su acceleratori Trainium e Inferentia e altre attività sulla CPU.
Ampia gamma di tipi di dati di ML
AWS Neuron supporta FP32, TF32, BF16, FP16, INT8 e il nuovo FP8 configurabile. L'utilizzo dei tipi di dati corretti per i carichi di lavoro consente di ottimizzare le prestazioni raggiungendo obiettivi precisi.
Autocasting FP32
AWS Neuron acquisisce i modelli FP32 ad alta precisione e li converte automaticamente in tipi di dati a bassa precisione, ottimizzando la precisione e le prestazioni. Il lancio automatico riduce il time to market eliminando la necessità di riqualificare i prodotti di precisione inferiore.
Supporto nativo per l'arrotondamento stocastico
AWS Neuron consente l'arrotondamento stocastico accelerato dell'hardware. L'arrotondamento stocastico consente l'addestramento a velocità BF16, con una precisione quasi FP32 durante il lancio automatico da FP32 a BF16.
Pipeline NeuronCore
La pipeline NeuronCore consente il parallelismo del modello a velocità di trasmissione effettiva elevata per le applicazioni sensibili alla latenza, come l'elaborazione del linguaggio naturale. La pipeline esegue questa operazione partizionando un grafo di calcolo su più NeuronCore, memorizzando nella cache i parametri del modello nella memoria su chip di ciascun core. Esegue quindi lo streaming dei carichi di lavoro di addestramento e inferenza nei i core in modalità pipeline.
Operazioni di comunicazione collettiva
AWS Neuron supporta l'esecuzione di varie operazioni di comunicazione collettiva e di calcolo in parallelo su hardware dedicato. In questo modo si ottiene una latenza inferiore e prestazioni complessive più elevate sui carichi di lavoro distribuiti.
Operatori personalizzati
AWS Neuron supporta gli operatori personalizzati. Puoi scrivere nuovi operatori personalizzati in C++ e Neuron li eseguirà sui core Trainium e Inferentia2 inline a istruzioni singole e dati multipli (SIMD).
Modalità di debug eager
AWS Neuron supporta la modalità di debug eager che puoi utilizzare per scorrere facilmente il codice e valutare gli operatori uno per uno.
Come funziona
Ingrandisci e leggi la descrizione dell'immagineAcceleratori di machine learning AWS
Acceleratori AWS Trainium
AWS Trainium è un acceleratore di formazione per il ML che AWS ha creato appositamente per la formazione di DL a basso costo e ad alte prestazioni. Ogni acceleratore AWS Trainium ha due NeuronCore di seconda generazione e supporta i tipi di dati FP32, TF32, BF16, FP16 e INT8 e anche FP8 (cFP8) configurabile, che consente di ottenere il giusto equilibrio tra portata e precisione. Per supportare dati efficienti e parallelismo dei modelli, ogni acceleratore Trainium dispone di 32 GB di memoria a larghezza di banda elevata, fornisce fino a 210 TFLOPS di potenza di calcolo FP16/BF16 e presenta NeuronLink, una tecnologia di interconnessione non bloccante tra istanze ad altissima velocità.
Acceleratori AWS Inferentia
AWS Inferentia e AWS Inferentia2 sono acceleratori di inferenza per il machine learning che AWS ha progettato e realizzato per fornire inferenza ad alte prestazioni e a basso costo. Ogni acceleratore AWS Inferentia dispone di quattro NeuronCore di prima generazione e supporta tipi di dati FP16, BF16 e INT8. Ogni acceleratore AWS Inferentia2 dispone di due NeuronCore di seconda generazione e aggiunge il supporto per FP32, TF32 e il nuovo tipo di dati FP8 configurabile (cFP8).
Istanze ML di Amazon EC2
Istanze Trn1 di Amazon EC2
Le istanze Trn1 di Amazon EC2, con acceleratori AWS Trainium, sono costruite appositamente per l'addestramento di DL ad alte prestazioni. Offrono fino al 50% di risparmi sui costi di formazione rispetto alle istanze Amazon EC2 paragonabili. Trn1 instances feature up to 16 AWS Trainium accelerators and support up to 1600 Gbps (Trn1n) of second-generation Elastic Fabric Adapter (EFA) network bandwidth.
Istanze Inf2 di Amazon EC2
Le istanze Inf2 di Amazon EC2 sono alimentate da un massimo di 12 acceleratori AWS Inferentia2 e offrono una velocità di trasmissione effettiva fino a 4 volte superiore e una latenza fino a 10 volte inferiore rispetto alle istanze Inf1. Le istanze Inf2 sono le prime istanze ottimizzate per l'inferenza in Amazon EC2 e supportano l'inferenza distribuita su scala con connettività ad altissima velocità tra gli acceleratori.
Istanze Inf1 di Amazon EC2
Le istanze Inf1 di Amazon EC2 sono alimentate da un massimo di 16 acceleratori AWS Inferentia. Queste istanze garantiscono una velocità di trasmissione effettiva fino a 2,3 volte superiore e costi fino al 70% più bassi per inferenza rispetto alle istanze Amazon EC2 paragonabili.
Nozioni di base
Per ulteriore assistenza, visita il forum degli sviluppatori, disponibile anche attraverso la console di gestione AWS.