Per eseguire in modo efficiente i workload di intelligenza artificiale (AI) o machine learning (ML), devi selezionare sia un orchestratore di workload sia una piattaforma di deployment. Questi componenti funzionano come segue:
Un orchestratore pianifica ed esegue i job.
Un'opzione di deployment gestisce un orchestratore.
Dopo aver identificato l'infrastruttura GPU (GPU in cluster o GPU generali) da utilizzare per eseguire i workload, segui le indicazioni riportate in questo documento per identificare l'orchestratore e il deployment più adatti al tuo workload e al tuo livello di gestione.
Per esaminare i tipi di macchine GPU che puoi utilizzare per eseguire i workload, consulta Macchine GPU.
Confrontare gli orchestratori e le opzioni di deployment
AI Hypercomputer offre diversi orchestratori e opzioni di deployment per le tue istanze di computing. Queste opzioni vanno dai cluster completamente gestiti che ti consentono di concentrarti sui tuoi workload agli ambienti autogestiti che offrono un controllo granulare su come mantenere e aggiornare le istanze di computing.
La seguente tabella confronta gli orchestratori e le opzioni di deployment che puoi utilizzare quando esegui i workload di AI:
| Prodotto | Orchestratore | Complessità tecnica | Consigliato per | Vantaggio principale |
|---|---|---|---|---|
| Cluster Director | Slurm | Bassa | Ricercatori di AI, data scientist | Ciclo di vita gestito per i cluster Slurm |
| Google Kubernetes Engine (GKE) | Kubernetes | Da medio ad alto | ML engineer, platform engineer | Orchestrazione e scalabilità dei container |
| Cluster Toolkit | Slurm, Kubernetes | Media | ML dZevOps, platform engineer | Progetti iniziali di Infrastructure as Code convalidati |
| Compute Engine | Personalizzato / Nessuno | Alta | Architetti dell'infrastruttura | Controllo granulare del sistema operativo e della rete |
Scegliere un orchestratore e un'opzione di deployment
Per scegliere un orchestratore e un'opzione di deployment, utilizza il seguente diagramma di flusso:
Il diagramma di flusso precedente pone le seguenti domande:
Vuoi l'orchestrazione dei cluster per i tuoi workload?
- Sì: vai alla domanda 2.
- No: utilizza Compute Engine.
Vuoi eseguire app containerizzate standard?
- Sì: utilizza GKE.
- No: vai alla domanda 3.
Vuoi che Google gestisca il ciclo di vita del cluster?
- Sì: utilizza Cluster Director.
- No: utilizza Cluster Toolkit.
Orchestratori supportati
Un orchestratore automatizza la gestione dei cluster ed elimina la necessità di gestire ogni istanza di computing individualmente. Orchestratori come Slurm o Kubernetes gestiscono l'accodamento dei job, l'allocazione delle risorse e la scalabilità automatica.
Slurm: un orchestratore open source comunemente utilizzato per i workload di AI, ML, e HPC. Puoi utilizzare Slurm con Cluster Toolkit o Cluster Director.
Kubernetes: una piattaforma di orchestrazione dei container open source. Puoi eseguire il deployment di Kubernetes utilizzando GKE direttamente o tramite Cluster Toolkit.
Personalizzato o nessuno: utilizza Compute Engine se preferisci un orchestratore diverso o se vuoi gestire le istanze di computing senza un orchestratore. Questa opzione offre il massimo livello di controllo, ma richiede di configurare, gestire e aggiornare manualmente le istanze di computing.
Piattaforme di deployment supportate
Dopo aver identificato l'orchestratore e l'opzione di deployment consigliati per il tuo caso d'uso, esamina le relative descrizioni di seguito per verificare che i livelli di gestione e le funzionalità soddisfino i requisiti del tuo workload.
Piattaforme gestite e automatizzate
Se vuoi evitare il sovraccarico della gestione di un cluster e concentrarti invece sull'esecuzione dei workload, utilizza una delle seguenti piattaforme gestite:
Cluster Director: un servizio completamente gestito che automatizza il ciclo di vita dei cluster Slurm. Utilizza Cluster Director per semplificare la configurazione dei cluster Slurm. Cluster Director automatizza il ciclo di vita dei cluster in modo che tu possa concentrarti sull'esecuzione dei workload di AI, ML o HPC. Per saperne di più, consulta la panoramica di Cluster Director.
GKE: un ambiente Kubernetes gestito ottimizzato per i workload di AI e ML. Utilizza GKE per orchestrare i workload containerizzati, integrare l'hardware specializzato di Compute Engine e sfruttare le funzionalità specifiche di GKE, come la pianificazione con riconoscimento della topologia (TAS). Per saperne di più, consulta la panoramica di GKE.
Piattaforme semi-gestite e autogestite
Se hai bisogno di un controllo granulare sul sistema operativo, sulle configurazioni del kernel o sulle versioni dei driver, utilizza una piattaforma semi-gestita o autogestita:
Cluster Toolkit: un toolkit open source che fornisce progetti iniziali convalidati e personalizzabili per il deployment di ambienti di AI e ML riproducibili. Offre elevata flessibilità e controllo utilizzando i principi di Infrastructure as Code (IaC). Per saperne di più, consulta la panoramica di Cluster Toolkit.
Compute Engine: un servizio di computing personalizzabile che offre il massimo controllo per la creazione di ambienti personalizzati da zero. Sebbene non sia un orchestratore autonomo, Compute Engine funge da base per gli utenti che preferiscono creare e gestire i propri stack personalizzati specializzati. Per saperne di più, consulta la panoramica di Compute Engine.
Passaggi successivi
- Per ottenere la capacità, consulta Opzioni di consumo.
- Per eseguire il deployment del cluster, consulta la panoramica della creazione di cluster.