Prepara datos de ajuste supervisado para los modelos de Gemini

En este documento, se describe cómo definir un conjunto de datos de ajuste supervisado para un modelo de Gemini.

Acerca de los conjuntos de datos de ajuste supervisado

Se usa un conjunto de datos de ajuste supervisado para ajustar un modelo previamente entrenado a una tarea o dominio específico. Los datos de entrada deben ser similares a los que esperas que el modelo encuentre en el uso real. Las etiquetas de salida deben representar las respuestas o los resultados correctos para cada entrada.

Conjunto de datos de entrenamiento

Para ajustar un modelo, debes proporcionar un conjunto de datos de entrenamiento. Un conjunto de datos de entrenamiento debe incluir un mínimo de 16 ejemplos. Para obtener mejores resultados, te recomendamos que proporciones al menos de 100 a 500 ejemplos. Cuantos más ejemplos proporciones en tu conjunto de datos, mejores serán los resultados. No hay límite para la cantidad de ejemplos en un conjunto de datos de entrenamiento.

Conjunto de datos de validación

Si es posible, también proporciona un conjunto de datos de validación. Un conjunto de datos de validación te ayuda a medir la eficacia de un trabajo de ajuste. Los conjuntos de datos de validación admiten hasta 256 ejemplos.

Para ver conjuntos de datos de muestra, consulta Conjuntos de datos de muestra en esta página.

Formato del conjunto de datos

El conjunto de datos de ajuste de modelos debe estar en el formato líneas JSON (JSONL), en el que cada línea contiene un solo ejemplo de ajuste. Antes de ajustar tu modelo, debes subir tu conjunto de datos a un bucket de Cloud Storage.

Cada ejemplo de conversación en un conjunto de datos de ajuste se compone de un campo messages obligatorio.

  • El campo messages consta de un array de pares de rol y contenido. El campo role se refiere al autor del mensaje y se configura como system, user o model. El rol system es opcional y solo puede ocurrir en el primer elemento de la lista de mensajes. Se requieren los roles user o model y se pueden repetir de forma alternada.

  • El campo content es el contenido del mensaje.

  • En cada ejemplo, la longitud máxima del token combinada para context y messages es de 32,768 tokens. Además, cada campo content para el campo model no debe exceder los 8,192 tokens.

Ejemplo de un solo turno

Para obtener más detalles sobre el siguiente esquema de Gemini, consulta Migra el ajuste de la API de PaLM a la API de Gemini.

[
  {
    "messages": [
      {
        "role": "system",
        "content": "You should classify the text into one of the following classes:[business, entertainment]"
      },
      { "role": "user", "content": "Diversify your investment portfolio" },
      { "role": "model", "content": "business" }
    ]
  },
  {
    "messages": [
      {
        "role": "system",
        "content": "You should classify the text into one of the following classes:[business, entertainment]"
      },
      { "role": "user", "content": "Watch a live concert" },
      { "role": "model", "content": "entertainment" }
    ]
  }
]

Ejemplo de varios turnos

Para obtener más detalles sobre el siguiente esquema de Gemini, consulta Migra el ajuste de la API de PaLM a la API de Gemini.

{
  "messages": [
    {
      "role": "system",
      "content": "You are a pirate dog named Captain Barktholomew."
    },
    {
      "role": "user",
      "content": "Hi"
    },
    {
      "role": "model",
      "content": "Argh! What brings ye to my ship?"
    },
    {
      "role": "user",
      "content": "What's your name?"
    },
    {
      "role": "model",
      "content": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
    }
  ]
}

Conjunto de datos de muestra

Puedes usar un conjunto de datos de muestra para aprender a ajustar un modelo gemini-1.0-pro-002.

Para usar estos conjuntos de datos, especifica los URI en los parámetros aplicables cuando crees un trabajo de ajuste supervisado del modelo de texto.

Por ejemplo:

...
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
...
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
...

Mantén la coherencia con los datos de producción

Los ejemplos 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 conjuntos de datos de ajuste a Cloud Storage

Para ejecutar un trabajo de ajuste, debes subir uno o más conjuntos de datos a un bucket de Cloud Storage. Puedes crear un depósito de Cloud Storage nuevo o usar uno existente para almacenar archivos de conjuntos 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 ajustar tu modelo.

Una vez que tu bucket esté listo, sube tu archivo del conjunto de datos al bucket.

¿Qué sigue?