Questo tutorial mostra come eseguire l'addestramento di reinforcement learning (RL) multi-host su un cluster di Tensor Processing Unit (TPU) v6e-64 utilizzando MaxText e Cluster Toolkit. Utilizzerai
Cluster Toolkit per eseguire un carico di lavoro di addestramento multi-host ed esportare i risultati nel formato Hugging Face
per l'erogazione.
Obiettivi
- Installare Cluster Toolkit e le relative dipendenze.
- Installare MaxText e le relative dipendenze.
- Eseguire il deployment di un cluster Cluster Toolkit.
- Convertire un modello Hugging Face nel formato MaxText.
- Eseguire un carico di lavoro di addestramento RL sul cluster TPU v6e.
- Convertire il modello ottimizzato nel formato Hugging Face per l'erogazione.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per saperne di più, consulta Liberare spazio.
Prima di iniziare
Per utilizzare questo tutorial, devi disporre di un token di accesso a Hugging Face. Puoi registrarti per un account senza costi su Hugging Face. Dopo aver creato un account, genera un token di accesso:
- Nella pagina Benvenuto in Hugging Face, fai clic sull'avatar del tuo account e seleziona Token di accesso.
- Nella pagina Token di accesso, fai clic su Crea nuovo token.
- Seleziona il tipo di token Lettura e inserisci un nome per il token.
- Viene visualizzato il token di accesso. Salva il token in un luogo sicuro.
- Sul sito web di Hugging Face, accetta il contratto di licenza
per il modello che intendi addestrare. Questo tutorial utilizza il modello
gemma4-26b.
Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:
-
Per completare questo tutorial:
- Amministratore TPU (
roles/tpu.admin) - Utente Service Account (
roles/iam.serviceAccountUser) - Editor Compute (
roles/compute.editor)
- Amministratore TPU (
-
Per preparare l'immagine container MaxText:
- Editor Cloud Build (
roles/cloudbuild.builds.editor) - Amministratore Artifact Registry (
roles/artifactregistry.admin) - Amministratore spazio di archiviazione (
roles/storage.admin) - Amministratore Service Usage (
roles/serviceusage.serviceUsageAdmin)
- Editor Cloud Build (
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Impostare le variabili di ambiente
Imposta le variabili di ambiente:
Sostituisci quanto segue:
- YOUR_PROJECT_ID: l'ID del tuo Google Cloud progetto.
- YOUR_REGION: la regione in cui vuoi eseguire il deployment del tuo cluster.
- YOUR_ZONE: la zona in cui vuoi eseguire il deployment del cluster.
- YOUR_CLUSTER_NAME: il nome del cluster Google Kubernetes Engine.
- YOUR_REPOSITORY_NAME: il nome del repository Artifact Registry per le immagini MaxText.
- YOUR_BUCKET_NAME: un nome univoco a livello globale per un bucket Cloud Storage.
- YOUR_RESERVATION_NAME: il nome della prenotazione.
- YOUR_HF_TOKEN: il token di accesso a Hugging Face.
Installare le dipendenze di Cluster Toolkit
Per completare questo tutorial da un client o una workstation Linux o macOS, segui i passaggi pertinenti in Installare le dipendenze nella documentazione di Cluster Toolkit.
Se utilizzi Cloud Shell, puoi saltare questa sezione.
Installare Cluster Toolkit
Installa il pacchetto predefinito per Cluster Toolkit seguendo le istruzioni riportate in Installare Cluster Toolkit.
Preparare l'immagine container MaxText
Per preparare l'immagine container MaxText, inclusa l'installazione delle dipendenze richieste, completa i seguenti passaggi:
Crea un bucket Cloud Storage:
Crea un repository Artifact Registry.
Crea un file nella directory principale del repository con il nome file
cloudbuild.yamle i seguenti contenuti:Utilizza Cloud Build per creare l'immagine Docker MaxText:
Creare il cluster Cluster Toolkit
Per creare ed eseguire il deployment di un cluster Cluster Toolkit con 64 chip TPU v6e, completa i seguenti passaggi:
Crea un ruolo IAM (Identity and Access Management) personalizzato, denominato
gke.gcsfuse.profileUser:Crea un bucket Cloud Storage:
Per impostazione predefinita, il account di servizio del pool di nodi del cluster non dispone delle autorizzazioni necessarie per scrivere nel bucket Cloud Storage. Per consentire al account di servizio del pool di nodi di scrivere nel bucket Cloud Storage, devi concedergli il ruolo
Storage Admin. Per concedere questo ruolo, modifica il filegke-tpu-v6e-advanced.yamlaggiornando ilservice-accountmodulo denominatonode_pool_service_account:Applica le impostazioni personalizzate al blocco
gke-tpu-v6e-clusterche sostituiscono le impostazioni predefinite di IPv6 e del tipo di macchina:Esegui il deployment del cluster Cluster Toolkit utilizzando il progetto base
gke-tpu-v6e-advanced.yamle passando le variabili richieste utilizzando il flag--vars:
Convertire il modello nel formato MaxText
Per addestrare il modello nel formato MaxText, devi convertirlo dal formato Hugging Face al formato MaxText.
Dopo aver creato il cluster Cluster Toolkit, configura Docker:
Per semplificare i comandi successivi, configura il progetto, il cluster e la località predefiniti:
Converti il modello dal formato Hugging Face al formato MaxText e archivialo nel bucket Cloud Storage:
Controlla lo stato del job di conversione:
Avviare il carico di lavoro di addestramento
Al termine del processo di conversione, avvia il carico di lavoro di addestramento RL:
Controlla lo stato del job di addestramento:
Convertire di nuovo il modello addestrato nel formato Hugging Face
Al termine del carico di lavoro di addestramento, converti di nuovo il modello nel formato Hugging Face:
Controlla lo stato del job di conversione:
Libera spazio
Per evitare addebiti aggiuntivi, elimina le risorse create durante questo tutorial:
Passaggi successivi
- Per saperne di più su Cloud TPU, consulta Introduzione a Cloud TPU.
- Per i dettagli sull'architettura e sulla configurazione della
v6e-64TPU, consulta TPU v6e. - Per saperne di più su Cluster Toolkit, consulta Panoramica di Cluster Toolkit.