Cluster e workload GKE di inferenza preaddestrata AI

Per creare un'applicazione AI, esegui il provisioning di un cluster Google Kubernetes Engine (GKE) sicuro e privato ottimizzato per i workload AI, quindi esegui il deployment del workload utilizzando un grafico Helm. Questa guida descrive i seguenti modelli, che puoi personalizzare per eseguire il deployment di un'applicazione AI:

  • Cluster GKE di inferenza preaddestrata AI: crea l'infrastruttura di base necessaria per la pubblicazione di modelli ad alte prestazioni. Questo modello configura un cluster GKE privato e sicuro ottimizzato per l'inferenza AI.

  • Workload GKE di inferenza preaddestrata AI (anteprima): esegui il deployment di un grafico Helm che include la configurazione per un workload di AI. Utilizza il grafico Helm per eseguire il deployment di un modello Gemma preaddestrato utilizzando il motore di serving vLLM. Il carico di lavoro è configurato per richieste efficienti di risorse GPU e un Horizontal Pod Autoscaler (HPA) per scalare in base all'utilizzo della cache GPU.

Ad esempio, puoi eseguire il deployment dei modelli di cluster e carichi di lavoro per soddisfare le seguenti esigenze aziendali:

Esempio Esigenza aziendale Implementazione
Analisi video in tempo reale Un'impresa di sicurezza deve elaborare i flussi video di centinaia di videocamere per rilevare anomalie o oggetti specifici in tempo reale. Esegui il deployment di modelli di elaborazione video sul pool di nodi abilitato alla GPU. Le GPU possono elaborare le richieste di velocità effettiva elevata e bassa latenza dei flussi video simultanei.
Elaborazione specializzata dei documenti Una compagnia assicurativa deve estrarre automaticamente informazioni da migliaia di moduli di richiesta di risarcimento giornalieri, che contengono layout e calligrafie diversi. Utilizza il cluster GKE per ospitare modelli personalizzati e assicurati che i dati non escano mai dall'ambiente sicuro durante l'elaborazione.
Motore per suggerimenti ad alto volume Una piattaforma di e-commerce deve fornire suggerimenti sui prodotti personalizzati agli utenti durante i periodi di picco dello shopping festivo. Utilizza l'API Google Kubernetes Engine Gateway per indirizzare volumi elevati di traffico utente ai modelli di consigli. L'API Gateway può gestire picchi di traffico improvvisi senza degradare la latenza.

Architettura

La seguente immagine mostra i componenti e le connessioni nel modello:

Un cluster connesso a un pool di nodi nel canvas di progettazione

Di seguito sono descritte le configurazioni dei componenti in questo modello:

  • Cluster GKE Standard: un cluster sicuro e privato in cui viene eseguito il tuo workload AI.

    La tabella seguente descrive la configurazione del cluster in questo modello:

    Configurazione Finalità
    node_locations è impostato su ["us-central1-a", "us-central1-b", "us-central1-c"]. Garantisce alta affidabilità e resilienza distribuendo i nodi del cluster in tre zone della regione us-central1.
    enable_intranode_visibility è impostato su true. Consente la visibilità del traffico tra pod nello stesso nodo nei log di flusso VPC. Questa visibilità è necessaria per il monitoraggio, la risoluzione dei problemi e l'analisi della sicurezza della rete.
    gateway_api_config è attivato tramite {"channel":"CHANNEL_STANDARD"}. L'API GKE Inference Gateway ti aiuta a gestire il traffico in entrata verso i tuoi servizi Kubernetes. L'API ti aiuta a configurare il routing granulare, il bilanciamento del carico avanzato e l'associazione centralizzata delle policy.
    private_cluster_config.enable_private_endpoint è impostato su false. private_cluster_config.enable_private_nodes è true. control_plane_endpoints_config.dns_endpoint_config.allow_external_traffic è impostato su true. Garantisce che i nodi worker in cui vengono eseguiti i tuoi modelli di AI abbiano indirizzi IP privati. In questo modo i nodi vengono isolati dalla rete internet pubblica. Il control plane GKE è configurato per essere accessibile pubblicamente, in modo da gestire il cluster al di fuori della rete Virtual Private Cloud (VPC).
    release_channel è impostato su {"channel":"REGULAR"}. Garantisce che il cluster GKE riceva aggiornamenti stabili e prevedibili, fornendo un equilibrio tra nuove funzionalità e affidabilità.
  • Pool di nodi GKE: un gruppo di nodi worker che eseguono i container dell'applicazione.

    La tabella seguente descrive le configurazioni del pool di nodi in questo modello:

    Configurazione Finalità
    autoscaling.min_node_count è impostato su 0. autoscaling.max_node_count è impostato su 3 (il valore predefinito è 100). Il pool di nodi può fare lo scale down completamente quando non sono in esecuzione workload di AI, riducendo i costi durante i periodi di inattività. Il limite superiore per lo scaling consente di controllare i costi e il consumo di risorse.
    Viene aggiunto il parametro node_config.guest_accelerator. gpu_driver_installation_config.gpu_driver_version: è impostato su "LATEST". gpu_sharing_config è attivato con TIME_SHARING. max_shared_clients_per_gpu: è impostato su 2. Specifica l'utilizzo delle GPU NVIDIA L4 per le attività di inferenza AI. I driver GPU necessari vengono installati automaticamente. Più workload più piccoli possono condividere una singola GPU.
    node_config.machine_type è stato modificato in "g2-standard-8". Il tipo di macchina è progettato specificamente per integrare le GPU L4. Le vCPU (8) e la memoria (32 GB) sono create per supportare la GPU ed eseguire le applicazioni di inferenza AI.
    node_config.oauth_scopes include https://www.googleapis.com/auth/cloud-platform. Il account di servizio del nodo ha un ampio accesso ai servizi Google Cloud , consentendo l'interazione API per attività come logging, monitoraggio e pull di immagini container.
    node_config.shielded_instance_config.enable_secure_boot è impostato su true. L'avvio protetto aiuta a proteggere i nodi da malware a livello di avvio verificando le firme crittografiche del bootloader e del kernel prima dell'esecuzione.

Configurazione del grafico Helm

La tabella seguente elenca le configurazioni del grafico Helm, che sono state personalizzate per il deployment e lo scaling di un servizio di inferenza AI su GKE.

Configurazione Finalità
replicaCount: 1 Crea una singola replica iniziale.
image.repository: vllm/vllm-openai Utilizza un'immagine vLLM, una libreria ottimizzata per l'inferenza dei modelli linguistici di grandi dimensioni (LLM), esposta utilizzando un'API compatibile con OpenAI.
model.id: google/gemma-7b-it Definisce il modello Gemma 7B ottimizzato per le istruzioni come modello da pubblicare.
model.hfSecret: hf-secret Indica che il modello richiede l'autenticazione utilizzando un secret Kubernetes per la gestione sicura delle credenziali.
resources.limits e requests per nvidia.com/gpu: "1" Garantisce che ogni pod riceva una GPU dedicata.
nodeSelector.cloud.google.com/gke-accelerator: nvidia-l4 Garantisce che i pod del modello di AI siano pianificati esclusivamente sui nodi GKE Standard dotati di GPU NVIDIA L4, ideali per un'inferenza economica e ad alte prestazioni.
hpa.enabled: true Attiva Horizontal Pod Autoscaler, che consente all'applicazione di scalare automaticamente il numero di pod (tra minReplicas: 1 e maxReplicas: 10) in base a targetCPUUtilizationPercentage: 80%. Garantisce le prestazioni durante i picchi di carico e l'efficienza in termini di costi durante il basso utilizzo.
tensorParallelSize: 1 Indica che il modello non è suddiviso su più GPU all'interno di un singolo pod.
maxModelLen: 512 Controlla la lunghezza massima della sequenza che il modello Gemma 7B può elaborare.
service.type: ClusterIP Il servizio è configurato per l'accesso interno al cluster.
pdb.enabled: true e minAvailable: 1 È abilitato un budget di interruzione dei pod per garantire l'alta affidabilità. Almeno una replica del modello di AI rimane disponibile durante le interruzioni volontarie, come la manutenzione dei nodi.

Crea la tua applicazione AI

Utilizza i modelli AI Pre-trained Inference cluster GKE and workload per eseguire il deployment della tua applicazione AI.

Esegui il deployment dell'infrastruttura AI

Configura ed esegui il deployment del modello di cluster GKE di inferenza preaddestrata AI per creare l'infrastruttura di base in cui viene eseguito il workload di AI.

  1. Duplica ed esegui il deployment del modello Cluster GKE di inferenza preaddestrata AI come applicazione.

    Un cluster GKE viene creato nel progetto di deployment che scegli.

  2. Configura i componenti. Per ulteriori informazioni, consulta le seguenti risorse:

  3. Fai clic su Esegui il deployment. L'applicazione viene implementata dopo diversi minuti.

  4. Nel riquadro Dettagli applicazione, fai clic sulla scheda Output.

  5. Identifica cluster_id per la tua applicazione. Utilizzerai queste informazioni quando esegui il deployment del grafico Helm.

Esegui il deployment del workload AI

Utilizza il modello AI Pre-trained Inference GKE workload per eseguire il deployment del carico di lavoro AI nel cluster che hai creato. Esegui il deployment di un grafico Helm che include la configurazione del carico di lavoro AI.

  1. Nella pagina Catalogo Google, nel modello AI Pre-trained Inference GKE workload, fai clic su Crea nuova applicazione.

  2. Nel campo Nome, inserisci un nome univoco per l'applicazione.

  3. Nell'area Destinazione di deployment GKE, segui questi passaggi:

    1. Dall'elenco dei progetti, seleziona il progetto in cui hai eseguito il deployment del cluster GKE dall'applicazione AI Pre-trained Inference GKE cluster.

    2. Nell'elenco Regione, seleziona la regione in cui hai eseguito il deployment del cluster GKE.

    3. Dall'elenco Cluster, seleziona il cluster GKE di cui è stato eseguito il deployment.

    4. Nell'elenco Spazio dei nomi, inserisci lo spazio dei nomi in cui hai eseguito il deployment del cluster GKE. Se non hai modificato il nome, inserisci default.

    5. Fai clic su Crea applicazione.

    L'applicazione viene creata e vengono visualizzati i file di configurazione.

  4. Nel riquadro Grafico Helm, segui questi passaggi:

    1. Esamina i dettagli di configurazione.

    2. (Facoltativo) Personalizza la configurazione in base alle tue esigenze specifiche.

    3. Per eseguire il deployment del grafico Helm nel cluster, fai clic su Esegui il deployment.

      Per i passaggi dettagliati, vedi Eseguire il deployment delle applicazioni.

    Dopo alcuni minuti, la configurazione del grafico Helm viene implementata nel cluster GKE.

Passaggi successivi