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 camporole
se refiere al autor del mensaje y se configura comosystem
,user
omodel
. El rolsystem
es opcional y solo puede ocurrir en el primer elemento de la lista de mensajes. Se requieren los rolesuser
omodel
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
ymessages
es de 32,768 tokens. Además, cada campocontent
para el campomodel
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?
- Para obtener información general sobre cómo funciona el ajuste, consulta Descripción general del ajuste de modelos para Gemini.
- Elige una región para ajustar un modelo.
- Para obtener información sobre cómo se puede usar el ajuste supervisado en una solución que compila una base de conocimiento de IA generativa, consulta Solución de inicio rápido: base de conocimiento de IA generativa.