Raccomandazioni sulla rete per i carichi di lavoro di intelligenza artificiale nell'infrastruttura di Azure (IaaS)
Questo articolo fornisce raccomandazioni di rete per le organizzazioni che eseguono carichi di lavoro di intelligenza artificiale nell'infrastruttura di Azure (IaaS). La progettazione di una rete ben ottimizzata può migliorare la velocità di elaborazione dei dati, ridurre la latenza e garantire la scalabilità dell'infrastruttura di rete insieme alle crescenti richieste di intelligenza artificiale.
Assicurarsi una larghezza di banda sufficiente
La larghezza di banda sufficiente si riferisce alla capacità di una rete per gestire grandi volumi di dati senza ritardi o interruzioni. La larghezza di banda elevata garantisce il trasferimento rapido e ininterrotto dei dati tra i sistemi locali e Azure, supportando il training rapido del modello di intelligenza artificiale e riducendo i tempi di inattività nella pipeline. Per le organizzazioni che trasferiscono set di dati di grandi dimensioni dall'ambiente locale al cloud per il training del modello di intelligenza artificiale, è essenziale una connessione a larghezza di banda elevata. Usare Azure ExpressRoute per stabilire una connessione ad alta velocità dedicata, sicura e affidabile tra la rete locale e Azure.
Ridurre al minimo la latenza
Ridurre al minimo la latenza comporta la riduzione dei ritardi nel trasferimento dei dati tra le risorse di rete. Una latenza inferiore offre un'elaborazione dei dati più rapida, l'abilitazione di informazioni dettagliate in tempo reale e il miglioramento delle prestazioni dei carichi di lavoro sensibili alla latenza.
Ottimizzare il posizionamento delle risorse. Per ridurre al minimo la latenza per i carichi di lavoro di intelligenza artificiale, ad esempio la pre-elaborazione dei dati, il training del modello e l'inferenza, distribuire macchine virtuali (VM) nella stessa area di Azure o nella stessa zona di disponibilità. La localizzazione delle risorse riduce la distanza fisica, migliorando così le prestazioni di rete.
Usare gruppi di posizionamento di prossimità (PPG). Per i carichi di lavoro sensibili alla latenza che richiedono l'elaborazione in tempo reale o la comunicazione tra processi veloci, usare i gruppi di disponibilità per la condivisione fisica delle risorse all'interno di un data center di Azure. I gruppi di disponibilità assicurano che le risorse di calcolo, archiviazione e rete rimangano vicine, riducendo al minimo la latenza per i carichi di lavoro esigenti. Le soluzioni di orchestrazione e la prossimità dei nodi infiniBand vengono gestite automaticamente.
Usare immagini del sistema operativo Linux preconfigurate. Semplificare la distribuzione del cluster selezionando immagini del sistema operativo Linux dal marketplace di Azure preconfezionato con driver InfiniBand, driver NVIDIA, librerie di comunicazione e strumenti di monitoraggio. Queste immagini sono ottimizzate per le prestazioni e possono essere distribuite con Azure CycleCloud per la creazione di cluster rapida ed efficiente.
Implementare una rete ad alte prestazioni
La rete ad alte prestazioni usa funzionalità di rete avanzate per supportare calcoli di intelligenza artificiale su larga scala, in particolare per le attività con accelerazione GPU. Le reti ad alte prestazioni garantiscono scambi di dati rapidi ed efficienti tra GPU, che ottimizzano il training del modello e accelerano i cicli di sviluppo di intelligenza artificiale.
Usare InfiniBand per i carichi di lavoro GPU. Per i carichi di lavoro dipendenti dall'accelerazione GPU e dal training distribuito tra più GPU, usare la rete InfiniBand di Azure. La funzionalità GPUDirect remote memory access (RDMA) di InfiniBand supporta la comunicazione diretta da GPU a GPU. Migliora la velocità di trasferimento dei dati e l'efficienza di training del modello. Le soluzioni di orchestrazione come Azure CycleCloud e Azure Batch gestiscono la configurazione di rete InfiniBand quando si usano gli SKU di macchina virtuale appropriati.
Scegliere le macchine virtuali ottimizzate per GPU di Azure. Selezionare macchine virtuali che usano InfiniBand, ad esempio macchine virtuali serie ND, progettate per la comunicazione tra GPU a larghezza di banda elevata e a bassa latenza. Questa configurazione è essenziale per il training e l'inferenza distribuiti scalabili, consentendo uno scambio di dati più rapido tra GPU.
Ottimizzare l'elaborazione dei dati su larga scala
L'ottimizzazione per l'elaborazione dei dati su larga scala prevede strategie per gestire trasferimenti di dati estesi e carichi di calcolo elevati. Usando il parallelismo dei dati e del modello, è possibile ridimensionare i carichi di lavoro di intelligenza artificiale e migliorare la velocità di elaborazione. Usare le macchine virtuali ottimizzate per GPU di Azure per gestire carichi di lavoro di intelligenza artificiale complessi e a elevato utilizzo di dati.
Applicare tecniche di parallelismo di dati o modelli. Per gestire trasferimenti di dati estesi tra più GPU, implementare il parallelismo dei dati o il parallelismo del modello a seconda delle esigenze del carico di lavoro di intelligenza artificiale. Assicurarsi che l'uso di memoria a larghezza di banda elevata (HBM), ideale per carichi di lavoro ad alte prestazioni grazie alla larghezza di banda elevata, al consumo di energia insufficiente e alla progettazione compatta. HBM supporta l'elaborazione rapida dei dati, essenziale per i carichi di lavoro di intelligenza artificiale che richiedono l'elaborazione di set di dati di grandi dimensioni.
Usare funzionalità di rete GPU avanzate. Per scenari di intelligenza artificiale impegnativi, scegliere macchine virtuali di Azure come NDH100v5 e NDMI300Xv5. Azure configura queste macchine virtuali con connessioni NVIDIA Quantum-2 CX7 InfiniBand dedicate da 400 GB/s all'interno di set di scalabilità di macchine virtuali. Queste connessioni supportano GPU Direct RDMA, consentendo trasferimenti diretti di dati da GPU a GPU che riducono la latenza e migliorano le prestazioni complessive del sistema.