Vai al contenuto
AI.info

The Pulse

NVIDIA illustra Workload Map per i carichi di lavoro IA su Kubernetes

Un post tecnico di NVIDIA del 2 novembre spiega come il suo Workload Map open source consenta agli strumenti Kubernetes di interpretare diversi tipi di carichi di lavoro IA attraverso definizioni riutilizzabili. Il progetto include 16 defin

NVIDIA illustra Workload Map per i carichi di lavoro IA su Kubernetes

AI.info Team · Scritto con l’IA · verificato ·

Un post tecnico di NVIDIA del 2 novembre illustra come Workload Map possa aiutare gli strumenti Kubernetes a interpretare job IA realizzati con framework diversi, usando una descrizione condivisa anziché un adattatore programmato separatamente per ciascuno. Il componente open source è stato incluso nella più ampia pubblicazione open source di Run:ai da parte di NVIDIA il 13 ottobre; il nuovo post ne spiega la progettazione e mostra come una sola definizione possa servire più strumenti.

«NVIDIA Workload Map fornisce una descrizione comune della struttura dei carichi di lavoro Kubernetes che gli utenti possono riutilizzare tra framework diversi», scrivono Alon Lavian, Yuval Grauer e Ron Lev, autori del post. Il sistema affronta un problema pratico per i team che eseguono addestramento e inferenza distribuiti: un carico di lavoro spesso si estende su più pod e risorse, ma ogni framework Kubernetes descrive queste parti, i loro ruoli e il loro stato in modo diverso.

Una definizione al posto di un altro adattatore

Secondo NVIDIA, gli sviluppatori che realizzano scheduler, controller, dashboard o strumenti per i costi spesso scrivono un adattatore per la definizione di risorse personalizzate per ogni framework che vogliono supportare. Ogni adattatore deve individuare i template dei pod, determinare il numero di repliche, interpretare lo stato e apportare modifiche senza compromettere il carico di lavoro. Il lavoro si ripete quando un cliente introduce un altro framework.

Workload Map trasferisce queste istruzioni in definizioni dichiarative YAML. Viene distribuito come definizione di risorsa personalizzata di Kubernetes e come libreria Go che traduce gli oggetti dei carichi di lavoro in una vista strutturale condivisa. Il progetto si chiamava in precedenza Karta e, secondo NVIDIA, il tipo della sua risorsa personalizzata si chiama ancora Karta.

Il README del progetto elenca 16 definizioni predefinite incluse nella distribuzione, che coprono JobSet, PyTorchJob, RayCluster, RayJob, RayService, KServe, Knative, MPIJob, NVIDIA NIM, LeaderWorkerSet, Milvus, Grove PodCliqueSet e NVIDIA Dynamo. Gli sviluppatori possono aggiungere altri tipi di carichi di lavoro scrivendo una definizione YAML che ne descriva struttura e stato.

Un JobSet diventa un unico carico di lavoro da 12 GPU

L’esempio di NVIDIA usa un JobSet distribuito con un job leader e due job worker. Ciascuno richiede quattro GPU, per un totale di 12 GPU nell’esempio. Senza una definizione che descriva come il JobSet organizza quei job, gli strumenti della piattaforma potrebbero mostrare i componenti separatamente anziché riepilogarli come un unico carico di lavoro.

La definizione del JobSet mappa i campi del framework in una rappresentazione comune: identifica i ruoli leader e worker, indica i template dei pod e il numero di repliche e traduce le condizioni di stato native in stati condivisi del carico di lavoro. Lo strumento a riga di comando di NVIDIA mostra quindi i componenti, il loro stato di disponibilità e la richiesta complessiva di GPU. I numeri descrivono il manifest dell’esempio, non un benchmark né un’affermazione sui carichi di lavoro tipici.

Ispezione, scheduling e Run:ai usano la stessa mappa

NVIDIA mostra tre utilizzatori della definizione. La CLI di Workload Map può ispezionare un carico di lavoro; KAI Scheduler di NVIDIA può usare le definizioni per le istruzioni di raggruppamento e gang scheduling; NVIDIA Run:ai può registrare il tipo di carico di lavoro e gestire il JobSet come un unico carico di lavoro. NVIDIA afferma che le stesse definizioni supportano la sua piattaforma Run:ai in produzione.

Lo scheduler resta responsabile delle decisioni di scheduling: Workload Map fornisce la descrizione e le informazioni di raggruppamento, mentre KAI Scheduler applica l’ammissione di gruppo e decide il posizionamento. NVIDIA afferma che KAI usa Workload Map come soluzione di ripiego per i tipi di carichi di lavoro privi di un plugin nativo; i plugin nativi hanno la precedenza. Il post cita anche Nova di Elotl tra gli utilizzatori di Workload Map per interpretare la struttura dei carichi di lavoro e i requisiti di risorse nella scelta di un cluster.

La pubblicazione open source è avvenuta a ottobre

NVIDIA distribuisce Workload Map con licenza Apache 2.0 e ne rende disponibile il codice attraverso l’organizzazione GitHub NVIDIA DSX AI Factory. L’annuncio del 13 ottobre lo presentava tra i quattro componenti adottabili indipendentemente nella versione open source di Run:ai, insieme a KAI Scheduler, GPU Fractioning Operator e KAI Resource Management.

Il post del 2 novembre è dunque una guida tecnica, non la data in cui NVIDIA ha reso open source il componente per la prima volta. La sua proposta concreta è più circoscritta rispetto a un nuovo scheduler o a un formato universale per i carichi di lavoro: descrivere una sola volta un tipo di carico di lavoro Kubernetes supportato, per poi consentire agli strumenti compatibili di riutilizzare quella definizione anziché mantenere un proprio parser strutturale specifico per il framework.

Fonti

Esplora

Altri articoli