Las estrategias de diseño rápido, como la solicitud de unas pocas tomas, pueden no ser suficientes para personalizar el comportamiento del modelo. Usa el ajuste del modelo para mejorar el rendimiento de un modelo en tareas específicas o ayuda a que el modelo cumpla con requisitos de salida específicos cuando las instrucciones no sean suficientes. En esta página, se muestra cómo ajustar un modelo de base en Vertex AI y se proporciona orientación sobre cómo lograr los mejores resultados.
Cómo funciona el ajuste del modelo
El objetivo del ajuste de modelo es mejorar aún más el rendimiento del modelo en tu tarea específica. El ajuste del modelo proporciona el modelo un conjunto de datos de entrenamiento que contiene muchos ejemplos de la tarea. Para tareas de nicho, puedes obtener mejoras significativas en el rendimiento del modelo si lo ajustas en una cantidad simple de ejemplos.
Tus datos de entrenamiento deben estructurarse como un conjunto de datos de entrenamiento supervisado en un formato de texto a texto. Cada registro o fila en los datos contendrá el texto de entrada, en otras palabras, el mensaje, seguido del resultado esperado del modelo. El objetivo es enseñarle al modelo a imitar el comportamiento o la tarea deseados y otorgarle muchos ejemplos que ilustran ese comportamiento o tarea.
Cuando ejecutas un trabajo de ajuste, el modelo aprende parámetros adicionales que lo ayudan a codificar la información necesaria para realizar la tarea deseada o aprender el comportamiento deseado. Estos parámetros se pueden usar en el momento de la inferencia. El resultado del trabajo de ajuste es un modelo nuevo, que es una combinación de los parámetros recién aprendidos y el modelo original.
Flujo de trabajo para el ajuste de modelos
El flujo de trabajo de ajuste de modelos en Vertex AI es el siguiente:
- Prepara tu conjunto de datos de ajuste de modelos.
- Sube el conjunto de datos de ajuste de modelos a un bucket de Cloud Storage.
- Crea un trabajo de ajuste de modelos.
Una vez que se complete el ajuste del modelo, tu modelo ajustado se implementa de forma automática en un extremo de Vertex AI del mismo nombre. También puedes seleccionarlo en Generative AI Studio como el modelo para usar cuando crees un mensaje nuevo.
Mantén la coherencia con los datos de producción
Los ejemplos que se incluyen en tu conjunto de datos deben coincidir con tu tráfico de producción esperado. Si tu conjunto de datos contiene formato, palabras clave, instrucciones o información específicas, los datos de producción deben tener el mismo formato y contener las mismas instrucciones.
Por ejemplo, si los ejemplos de tu conjunto de datos incluyen una "question:"
y un "context:"
, el tráfico de producción también debe tener el formato de modo que incluya una "question:"
y un "context:"
en el mismo orden en que aparecen en ejemplos de conjuntos de datos. Si excluyes el contexto, el modelo no reconocerá el patrón, incluso si la pregunta exacta estaba en un ejemplo en el conjunto de datos.
Sube un conjunto de datos de ajuste a Cloud Storage
Puedes crear un bucket de Cloud Storage nuevo o usar uno existente para almacenar tu archivo de conjunto de datos. La región del bucket no es importante, pero te recomendamos que uses un bucket que se encuentre en el mismo proyecto de Google Cloud en el que planeas ejecutar el ajuste del modelo.
Una vez que tu bucket esté listo, sube tu archivo del conjunto de datos al bucket.
Crea un trabajo de ajuste de modelos
Vertex AI admite el ajuste supervisado y el aprendizaje por refuerzo de los comentarios humanos (RLHF).
Usa el ajuste supervisado
El ajuste supervisado usa datos etiquetados para entrenar un LLM. Los siguientes modelos de base admiten la optimización supervisada:
text-bison
code-bison
(vista previa)codechat-bison
(vista previa)
Para obtener información sobre cómo ajustar un modelo de generación de texto con ajuste supervisado, consulta Ajusta los modelos de texto. Para obtener información sobre cómo ajustar una generación de código y un modelo de chat de código con ajuste supervisado, consulta Ajusta los modelos de código.
Usa el ajuste del modelo de RLHF (vista previa)
Puedes usar el aprendizaje por refuerzo con retroalimentación humana (RLHF) para ajustar tus modelos. RLHF usa los comentarios humanos para optimizar un modelo de lenguaje. Mediante el uso de los comentarios humanos para ajustar los modelos, puedes hacer que los modelos se alineen mejor con las preferencias humanas y reducir los resultados dañinos en situaciones en las que las personas tienen intuiciones complejas sobre una tarea. Por ejemplo, el RLHF puede ayudar con una tarea ambigua, como cómo escribir un poema sobre el mar, ya que ofrece dos poemas sobre el océano y permite que esa persona elija su preferido.
Los siguientes modelos admiten el ajuste del RLHF:
- El modelo base de generación de texto,
text-bison@001
. Para obtener más información, consulta Modelo de generación de texto. - Los modelos
t5-small
,t5-large
,t5-xl
yt5-xxl
de transformación de transferencia de texto a texto de Flan (Flan-T5). Los modelos de Flan-T5 se pueden ajustar para realizar tareas como clasificar texto, traducir idiomas y responder preguntas. Para obtener más información, consulta Puntos de control de Flan-T5.
El ajuste del RLHF establece el tipo y el recuento del acelerador en función de la región seleccionada.
Los trabajos de us-central1
usan ocho Nvidia A100 de 80 GB. Los trabajos en europe-west4
usan 32 TPU v3.
Puedes usar el SDK de Vertex AI para Python o la consola de Google Cloud para ajustar tus modelos con RLHF:
SDK de Vertex AI para Python
Si deseas obtener información sobre cómo usar el SDK de Vertex AI para Python para ajustar tus modelos con RLHF, abre y ejecuta el siguiente notebook con Colab, GitHub o Vertex AI Workbench:
Consola de Google Cloud
Para ajustar un modelo de texto con el ajuste de RLHF mediante la consola de Google Cloud, realiza los siguientes pasos:
- En la sección de Vertex AI de Google Cloud Console, ve a la página Generation AI Studio.
- Haz clic en la pestaña Ajuste.
- Haz clic en Crear modelo ajustado.
- Haz clic en Aprendizaje por refuerzo con retroalimentación humana (RLHF).
- Haz clic en Continuar.
- Configura los detalles del modelo de la siguiente manera:
- Nombre del modelo: Ingresa un nombre para el modelo ajustado.
- Modelo base: Selecciona el modelo base que deseas ajustar.
- Pasos para entrenar una recompensa: Ingresa la cantidad de pasos que se deben usar cuando entrenes un modelo de recompensa. El valor predeterminado es 1000.
- Multiplicador de la tasa de aprendizaje de recompensas: ingresa un valor flotante que afecte la tasa de aprendizaje cuando entrenes un modelo de recompensa. Para aumentar la tasa de aprendizaje predeterminada, ingresa un valor más alto. Para disminuir la tasa de aprendizaje predeterminada, ingresa un valor más bajo. El valor predeterminado es 1.0.
- Pasos de entrenamiento de refuerzo: Ingresa la cantidad de pasos que se deben realizar cuando se ajusta el modelo base mediante el aprendizaje por refuerzo. El valor predeterminado es 1000.
- Multiplicador de tasa de aprendizaje de refuerzo: ingresa un valor flotante que afecte la tasa de aprendizaje cuando se entrena un modelo de refuerzo. Para aumentar la tasa de aprendizaje predeterminada, ingresa un valor más alto. Para disminuir la tasa de aprendizaje predeterminada, ingresa un valor más bajo. El valor predeterminado es 1.0.
- Directorio de trabajo: Ingresa la ubicación de Cloud Storage en la que se almacenan los artefactos cuando se ajusta tu modelo.
- Región: ingresa la región en la que se realiza el ajuste del modelo. Las regiones admitidas son:
- .
us-central1
: Usa 8 Nvidia A100 80 GB.europe-west4
: Usa 32 núcleos del pod de TPU v3.
- Haga clic en Continue.
- En Conjunto de datos de preferencia humana, sube o elige un conjunto de datos de preferencia humana que se use para crear un modelo de recompensa. El modelo de recompensa es un subrogado de la preferencia humana durante el aprendizaje por refuerzo. Para garantizar que haya suficientes datos para que el modelo de recompensa aprenda la preferencia humana durante el entrenamiento, recomendamos entre 5,000 y 10,000 ejemplos. Si deseas subir el archivo de conjunto de datos, selecciona Subir archivo JSONL a Cloud Storage. De lo contrario, si tu archivo de conjunto de datos de preferencia humana ya se encuentra en un bucket de Cloud Storage, selecciona Archivo JSONL existente en Cloud Storage.
- En Conjunto de datos del mensaje, si deseas subir el archivo del conjunto de datos, selecciona Subir archivo JSONL a Cloud Storage. De lo contrario, si tu archivo de conjunto de datos de solicitud ya se encuentra en un bucket de Cloud Storage, selecciona Archivo JSONL existente en Cloud Storage.
- Haz clic en Iniciar ajuste.
Comprueba el estado de la operación de ajuste
Para verificar el estado de tu trabajo de ajuste de modelos, en la consola de Google Cloud, ve a la página Vertex AI Pipelines. En esta página, se muestra el estado de los trabajos de ajuste de modelos de texto y código.
Como alternativa, puedes configurar las notificaciones por correo electrónico de Vertex AI Pipelines para que recibas notificaciones por correo electrónico cuando el trabajo de ajuste del modelo finalice o falle.
Precios
Para el ajuste, incluido el ajuste supervisado y el aprendizaje por refuerzo con retroalimentación humana (RLHF), pagas por los recursos de procesamiento que se consumen durante el entrenamiento a la misma tarifa que el entrenamiento personalizado de Vertex.
En el caso de las predicciones de modelos ajustados, debes pagar la misma tarifa que el modelo base, como se describe en Precios para la compatibilidad de IA generativa en Vertex AI.
¿Qué sigue?
- Obtén información sobre las prácticas recomendadas de IA responsable y los filtros de seguridad de Vertex AI.
- Obtén información sobre cómo habilitar los registros de auditoría de acceso a los datos para tus extremos.