En este instructivo, se proporciona una guía paso a paso para ejecutar el
ajuste supervisado (SFT) en una sola v6e-8
instancia de máquina virtual (VM) de unidad de procesamiento tensorial (TPU)
Google Cloud con MaxText, una pila de entrenamiento de alto rendimiento basada en JAX
para modelos de lenguaje grandes (LLM).
Resumen de la carga de trabajo
La ejecución de esta carga de trabajo de SFT en una VM de Cloud TPU incluye los siguientes componentes:
- Modelo: Gemma 3 4B (
gemma3-4b), un modelo de lenguaje ligero de pesos abiertos. En este instructivo, las ponderaciones del modelo se convierten del formato de Hugging Face al formato compatible con MaxText (mt-format) y se preparan para la ejecución en una sola VM de Cloud TPUv6e-8con JAX. - Método de entrenamiento: SFT con MaxText. La carga de trabajo ejecuta una canalización de ajuste en una sola instancia de Cloud TPU
v6e-8con JAX. Optimiza los parámetros del modelo en más de 1,000 pasos con el entrenador de SFT integrado de MaxText (maxtext.trainers.post_train.sft.train_sft) y los conjuntos de datos de ajuste de instrucciones enfocados en el diálogo. - Conjunto de datos y plantilla: UltraChat 200k (
HuggingFaceH4/ultrachat_200k), un conjunto de datos de diálogo de varias turnos de alta calidad y a gran escala (train_sftdividido con la columnamessages). Se usa para ajustar el modelo y mejorar sus capacidades conversacionales y de seguimiento de instrucciones. - Infraestructura y framework: una sola instancia de VM de Cloud TPU
v6e-8(ct6e-standard-8t). El framework es MaxText (maxtext[tpu-post-train]) con tecnología de JAX.
Objetivos
- Configura una instancia de VM de Cloud TPU.
- Instala MaxText y sus dependencias.
- Convierte un modelo de Hugging Face al formato de MaxText.
- Ejecuta una carga de trabajo de entrenamiento de SFT en la TPU.
- Vuelve a convertir 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 tener una cuenta, genera un token de acceso:
- En la página de bienvenida a Hugging Face, haz clic en el avatar de tu cuenta y selecciona Tokens de acceso.
- En la página Tokens de acceso, haz clic en Crear token nuevo.
- Selecciona el tipo de token Leer y, luego, ingresa un nombre para tu token.
- Se muestra tu token de acceso. Guarda el token en un lugar seguro.
- En el sitio web de Hugging Face, acepta el acuerdo de licencia
para el modelo que planeas entrenar. En este instructivo, se usa el modelo
gemma3-4b.
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) - Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) - Editor de Compute (
roles/compute.editor)
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 mediante roles personalizados o cualquier otro rol predefinido.
Configura el entorno
Ejecuta la siguiente secuencia de comandos para configurar las variables de entorno:
Reemplaza lo siguiente:
- YOUR_PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- YOUR_ZONE: Es la zona que deseas usar.
- YOUR_RESERVATION_NAME: Es tu reserva de capacidad.
- YOUR_TPU_NAME: Es el nombre de tu instancia de VM de Cloud TPU .
Ejecuta el siguiente comando para realizar la autenticación con Google Cloud :
gcloud auth login
Crea tu VM de Cloud TPU
Crea una instancia de VM de Cloud TPU con 8 chips TPU v6e, vinculados a tu reserva de capacidad.
Después de crear la instancia de VM, conéctate a ella con SSH.
Completa los siguientes pasos en tu instancia de VM de TPU.
Instala MaxText
Actualiza los paquetes del sistema en la instancia de VM de TPU.
Instala Python 3.12, que requiere MaxText, y su paquete de entorno virtual.
Usa uv para acelerar la instalación del paquete de Python.
Crea un entorno virtual llamado maxtext_venv y actívalo.
Instala MaxText y las dependencias que requiere para las tareas posteriores al entrenamiento.
Ejecuta el siguiente comando para instalar las dependencias requeridas restantes:
Convierte el modelo al formato de MaxText
Para entrenar el modelo en formato de MaxText, debes convertirlo del formato de Hugging Face al formato de MaxText.
Especifica tus variables de entorno, como el token de acceso de Hugging Face, el nombre del modelo que deseas usar y el directorio en el que deseas guardar el modelo en formato de MaxText.
Reemplaza YOUR_HF_TOKEN por el token de acceso de Hugging Face que creaste anteriormente.
Para convertir el modelo del formato de Hugging Face al formato de MaxText, ejecuta la siguiente secuencia de comandos. Esta conversión tarda unos cinco minutos en completarse.
Inicia la carga de trabajo de entrenamiento
Una vez que se complete el proceso de conversión, puedes iniciar la carga de trabajo de SFT.
Configura los parámetros de entrenamiento de la carga de trabajo de SFT.
Inicia el trabajo de entrenamiento. Esto tarda unos 10 minutos en una instancia de VM
v6e-8.
Vuelve 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.
Establece las rutas de acceso para la exportación y los parámetros entrenados.
Ejecuta la conversión de nuevo al formato de Hugging Face.
Una vez que se complete la conversión, tu modelo ajustado almacenado en /dev/shm/gemma3-4b/hf-trained estará listo para usarse. Debido a que pierdes el acceso al contenido de la carpeta /dev/shm cuando se reinicia la VM, debes mover el modelo ajustado al almacenamiento persistente o subirlo a Hugging Face Hub.
Limpia
Para evitar que se generen cargos adicionales, borra los recursos creados durante este instructivo.
Borra la instancia de VM de TPU
Sal de la instancia de VM de Cloud TPU y, luego, bórrala.
¿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-8, consulta TPU v6e.