En este instructivo, se muestra cómo ejecutar el entrenamiento de aprendizaje por refuerzo (RL) de varios hosts en un clúster de unidad de procesamiento tensorial (TPU) v6e-32 con MaxText y Cluster Toolkit. Usarás Cluster Toolkit para ejecutar una carga de trabajo de entrenamiento de varios hosts y exportar los resultados al formato de Hugging Face para la entrega.
Objetivos
- Instala Cluster Toolkit y sus dependencias.
- Implementa un clúster de Cluster Toolkit.
- Convierte un modelo de Hugging Face al formato de MaxText.
- Ejecuta una carga de trabajo de entrenamiento de RL en el clúster de TPU v6e.
- Convierte el modelo ajustado al formato de Hugging Face para la entrega.
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto,
usa la calculadora de precios.
Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.
Antes de comenzar
Para usar este instructivo, necesitas un token de acceso de Hugging Face. Puedes registrarte para obtener una cuenta gratuita en Hugging Face. Después de que tengas una cuenta, genera un token de acceso:
- En la página Welcome to Hugging Face, haz clic en el avatar de tu cuenta y selecciona Access tokens.
- En la página Tokens de acceso, haz clic en Crear token nuevo.
- Selecciona el tipo de token Read y, luego, ingresa un nombre para tu token.
- Se mostrará tu token de acceso. Guarda el token en un lugar seguro.
- En el sitio web de Hugging Face, acepta el acuerdo de licencia del modelo que planeas entrenar. En este instructivo, se usa el modelo
qwen3-30b-a3b.
Si quieres obtener los permisos que necesitas para completar este instructivo, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
- Administrador de TPU (
roles/tpu.admin) - Administrador de Kubernetes Engine (
roles/container.admin) - Administrador de Compute (
roles/compute.admin) - Administrador de almacenamiento (
roles/storage.admin) - Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) - Administrador de cuenta de servicio (
roles/iam.serviceAccountAdmin) - Administrador de IAM de proyecto (
roles/resourcemanager.projectIamAdmin) - Administrador de Service Usage ()
roles/serviceusage.serviceUsageAdmin
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Configura tus variables de entorno
Configura las variables de entorno:
Reemplaza lo siguiente:
- YOUR_PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
- YOUR_REGION: Es la región en la que deseas implementar tu clúster.
- YOUR_ZONE: Es la zona en la que deseas implementar tu clúster.
- YOUR_CLUSTER_NAME: Es el nombre de tu clúster de Google Kubernetes Engine (hasta 20 caracteres).
- YOUR_BUCKET_NAME: Es un nombre único a nivel global para un bucket de Cloud Storage.
- YOUR_RESERVATION_NAME: Es el nombre de tu reserva.
- YOUR_HF_TOKEN: Tu token de acceso de Hugging Face.
Instala las dependencias de Cluster Toolkit
Para completar este instructivo desde un cliente o una estación de trabajo de Linux o macOS, sigue los pasos pertinentes en Instala dependencias en la documentación del Cluster Toolkit.
Si usas Cloud Shell, puedes omitir esta sección.
Instala Cluster Toolkit
Instala el paquete compilado previamente para Cluster Toolkit en tu directorio de trabajo actual siguiendo las instrucciones en Instala Cluster Toolkit.
Por ejemplo, puedes descargar y extraer el paquete en tu directorio de trabajo actual de la siguiente manera:
Si extraes el paquete en tu directorio de trabajo actual, se proporcionarán el objeto binario gcluster y los planos examples/ que usarás en los pasos siguientes.
Crea tu clúster de Cluster Toolkit
Para crear e implementar un clúster de Cluster Toolkit con 32 chips de TPU v6e, completa los siguientes pasos:
Crea un bucket de Cloud Storage:
Copia el plano de Cluster Toolkit en tu directorio de trabajo actual:
De forma predeterminada, la cuenta de servicio del grupo de nodos del clúster no tiene los permisos necesarios para escribir en tu bucket de Cloud Storage. Para permitir que la cuenta de servicio del grupo de nodos escriba en tu bucket de Cloud Storage, debes otorgarle el rol
Storage Admin. Para otorgar este rol, actualiza el móduloservice-accountllamadonode_pool_service_accounteditando el archivogke-tpu-v6e-advanced.yaml:Usa el comando
gcluster deploypara implementar tu clúster de Cluster Toolkit con el esquemagke-tpu-v6e-advanced.yamly pasar las variables requeridas con la marca--vars:Configura la autenticación de Container Registry y otorga el rol de administrador de almacenamiento (
roles/storage.admin) a tus cuentas de servicio de GKE:
Convierte el modelo al formato de MaxText
Para entrenar el modelo en formato MaxText, debes convertirlo del formato Hugging Face al formato MaxText.
Para simplificar los comandos posteriores, usa el comando
gcluster job configpara configurar tu proyecto, clúster y ubicación predeterminados:Usa el comando
gcluster job submitpara convertir el modelo del formato de Hugging Face al formato de MaxText y almacenarlo en tu bucket de Cloud Storage:Usa el comando
gcluster job logspara verificar el estado del trabajo de conversión:Verifica que los archivos del modelo convertido estén disponibles en tu bucket de Cloud Storage:
Inicia la carga de trabajo de entrenamiento
Una vez que se complete el proceso de conversión, inicia la carga de trabajo de entrenamiento de RL:
Para verificar el estado del trabajo de entrenamiento, sigue estos pasos:
Para verificar que los puntos de control del entrenamiento se generen en tu bucket de Cloud Storage, haz lo siguiente:
Cómo volver a convertir el modelo entrenado al formato de Hugging Face
Una vez que se complete la carga de trabajo de entrenamiento, vuelve a convertir el modelo al formato de Hugging Face:
Para verificar el estado del trabajo de conversión, haz lo siguiente:
Para verificar que los pesos y los archivos de configuración del modelo de Hugging Face entrenado estén presentes en tu bucket de Cloud Storage, haz lo siguiente:
Realiza una limpieza
Para evitar que se apliquen cargos adicionales, usa el comando gcluster destroy para borrar los recursos que se crearon durante este instructivo:
¿Qué sigue?
- Para obtener más información sobre Cloud TPU, consulta Introducción a Cloud TPU.
- Para obtener detalles sobre la arquitectura y la configuración de la TPU
v6e-32, consulta TPU v6e. - Para obtener más información sobre Cluster Toolkit, consulta la descripción general de Cluster Toolkit.