Smetti di sprecare budget con le GPU inattive. Scopri come implementare l'allocazione dinamica, la multitenancy e la scalabilità automatica efficace per i carichi di lavoro di IA.

La necessità di GPUaaS su Red Hat OpenShift AI

Per le organizzazioni che investono molto nell'IA, il costo dell'hardware specializzato è una delle principali preoccupazioni. Le GPU/gli acceleratori sono costosi e, se non vengono utilizzati e rimangono inattivi, comportano un notevole spreco di budget, rendendo più difficile la scalabilità dei progetti di IA. Una soluzione è l'adozione di GPU-as-a-Service (GPUaaS), un modello operativo progettato per massimizzare il ritorno sull'investimento (ROI) dell'hardware.

Red Hat OpenShift AI è una piattaforma basata su Kubernetes che può essere utilizzata per implementare soluzioni GPUaaS multiutente. Il primo passo è il provisioning dell'hardware, ma per ottenere una vera GPUaaS è necessaria un'allocazione dinamica aggiuntiva in base alla domanda dei carichi di lavoro, in modo che le GPU vengano recuperate più rapidamente per ridurre al minimo i tempi di inattività.

La GPUaaS richiede anche la multitenancy. È qui che strumenti avanzati per l'accodamento come Kueue (Kubernetes Elastic Unit Execution) diventano indispensabili. Kueue suddivide le risorse condivise e applica la multitenancy tramite quote, garantendo un accesso equo e prevedibile a più team e progetti. Una volta implementata questa governance, la sfida principale si sposta sulla creazione di una pipeline di scalabilità automatica per i carichi di lavoro di IA.

Integrazione e scalabilità automatica dei carichi di lavoro di IA

L'obiettivo di una piattaforma GPUaaS è integrare i framework di IA più diffusi e raggiungere la scalabilità automatica delle risorse in base alla domanda dei carichi di lavoro. OpenShift AI semplifica il deployment dei framework di IA più comuni.

Questi carichi di lavoro si dividono in tre categorie principali, tutte supportate da Kueue.

  • Inferenza: framework come KServe e vLLM gestiscono i modelli di distribuzione in modo efficiente, soprattutto per i modelli linguistici di grandi dimensioni (LLM).
  • Addestramento (distribuito): strumenti come KubeFlow Training e KubeRay gestiscono processi di addestramento complessi e distribuiti su più nodi.
  • Scienza dei dati interattiva: gli ambienti di lavoro, ovvero gli ambienti per notebook per la scienza dei dati di OpenShift AI, si integrano anche con Kueue in modo che i notebook vengano avviati solo quando le risorse sono disponibili, riducendo lo spreco di risorse.

Gestione delle code con Kueue

La sfida principale in un cluster di IA multitenant è gestire il flusso di richieste di processi GPU. Questo è esattamente il ruolo di Kueue. Kueue offre funzionalità essenziali per la gestione delle code e dei batch per questi processi ad alta intensità di elaborazione.

Invece di non rispondere immediatamente a una richiesta di risorse quando un cluster è momentaneamente saturo, Kueue conserva e gestisce in modo intelligente una lista di attesa. Questa funzionalità è fondamentale per mantenere l'equità e l'efficienza, evitando che le richieste vengano respinte arbitrariamente e contribuendo a prevenire la monopolizzazione delle risorse.

Scalabilità automatica efficace con KEDA

Kueue e KEDA (Kubernetes Event-driven Autoscaling) collaborano per ottimizzare l'utilizzo delle risorse attraverso la scalabilità automatica verso l'alto e verso il basso.

Scalabilità automatica verso l'alto: KEDA monitora le metriche di Kueue, in particolare la lunghezza della coda dei processi GPU. Osservando questo backlog, KEDA può avviare in modo proattivo la scalabilità dei nuovi nodi GPU. Ciò significa che il provisioning delle nuove risorse viene effettuato prima che la capacità corrente venga sovraccaricata dalla domanda, il che si traduce in un'alta disponibilità e in una maggiore efficienza in termini di costi. Questa integrazione trasforma la coda di Kueue in un segnale di scalabilità fondamentale, consentendo una gestione proattiva delle risorse basata sulla domanda.

Scalabilità automatica verso il basso: KEDA facilita il rilascio automatico della quota recuperandola dai carichi di lavoro inattivi. Quando un carico di lavoro (ad esempio un RayCluster) termina la sua attività ma non viene eliminato, una metrica personalizzata (esposta tramite Prometheus o simile) ne segnala lo stato di inattività. KEDA monitora questa metrica inattiva e, tramite uno ScaledObject, attiva lo strumento di scalabilità automatica per ridurre i componenti di lavoro del carico di lavoro inattivo a zero repliche. In questo modo si riducono significativamente i costi operativi.

Metodi simili possono essere applicati ai cluster di inferenza, utilizzando KEDA per ridurre a zero i componenti di KServe durante i periodi di inattività. La riduzione dei componenti di lavoro libera le risorse dei nodi sottostanti. L'oggetto Kueue Workload e la relativa quota riservata rimangono invariati, quindi i team mantengono la prenotazione della quota per il processo successivo senza un processo di riaccodamento completo, riducendo al contempo lo spreco di risorse di elaborazione costose e inattive.

Ottimizzazione basata sull'osservabilità

Il monitoraggio continuo è fondamentale per migliorare l'efficienza e massimizzare il ROI delle GPUaaS. Gli amministratori devono monitorare costantemente l'integrità, la temperatura e i tassi di utilizzo delle GPU.

Lo stack Prometheus/Grafana integrato in OpenShift AI consente agli amministratori di creare dashboard personalizzate per tenere traccia dell'utilizzo della GPU, suddivise per tenant, per progetto e per GPU. Queste metriche vengono inviate al sistema, consentendo agli amministratori di perfezionare le quote GPU, regolare le policy di condivisione equa applicate da Kueue e confermare l'ottimizzazione del ROI.

Conclusioni 

GPUaaS su OpenShift AI offre vantaggi diretti per le aziende. Consente di risparmiare sui costi attraverso l'allocazione dinamica della GPU, una governance migliorata grazie alla multitenancy applicata dalle code e dalle quote di Kueue e attraverso una scalabilità migliorata grazie alla scalabilità automatica integrata per tutti i carichi di lavoro di IA.

Red Hat OpenShift AI è la soluzione di livello enterprise in grado di trasformare l'hardware GPU costoso e spesso sottoutilizzato in una piattaforma GPUaaS multitenant ad alta efficienza. Visita la pagina di OpenShift AI per saperne di più. 

Risorsa

L'adattabilità enterprise: predisporsi all'IA per essere pronti a un'innovazione radicale

Questo ebook, redatto da Michael Ferris, COO e CSO di Red Hat, illustra il ritmo del cambiamento e dell'innovazione tecnologica radicale con l'IA che i leader IT devono affrontare nella realtà odierna.

Sugli autori

Ana Biazetti is a senior architect at Red Hat Openshift AI product organization, focusing on Model Customization, Fine Tuning and Distributed Training.

Lindani Phiri is a Senior Principal Engineer and Architect for the OpenShift AI Core Platform.

UI_Icon-Red_Hat-Close-A-Black-RGB

Ricerca per canale

automation icon

Automazione

Novità sull'automazione IT di tecnologie, team e ambienti

AI icon

Intelligenza artificiale

Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque

open hybrid cloud icon

Hybrid cloud open source

Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido

security icon

Sicurezza

Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti

edge icon

Edge computing

Aggiornamenti sulle piattaforme che semplificano l'operatività edge

Infrastructure icon

Infrastruttura

Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale

application development icon

Applicazioni

Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili

Virtualization icon

Virtualizzazione

Il futuro della virtualizzazione negli ambienti aziendali per i carichi di lavoro on premise o nel cloud