En este documento se describe cómo definir un conjunto de datos de ajuste fino supervisado para un modelo de Gemini. Puedes ajustar los tipos de datos texto, imagen, audio y documento.
Acerca de los conjuntos de datos de ajuste fino supervisado
Un conjunto de datos de ajuste supervisado se usa para ajustar un modelo preentrenado para una tarea o un dominio específicos. Los datos de entrada deben ser similares a los que esperas que el modelo encuentre en el mundo real. Las etiquetas de salida deben representar las respuestas o los resultados correctos de cada entrada.
Conjunto de datos de entrenamiento
Para ajustar un modelo, debes proporcionar un conjunto de datos de entrenamiento. Para obtener los mejores resultados, te recomendamos que empieces con 100 ejemplos. Puedes ampliar la escala a miles de ejemplos si es necesario. La calidad del conjunto de datos es mucho más importante que la cantidad.
Conjunto de datos de validación
Te recomendamos que proporciones 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.
Limitaciones
Para consultar las limitaciones de los conjuntos de datos, como el número máximo de tokens de entrada y de salida, el tamaño máximo del conjunto de datos de validación y el tamaño máximo del archivo del conjunto de datos de entrenamiento, consulta el artículo Acerca del ajuste fino supervisado de los modelos de Gemini.
Formato del conjunto de datos
Admitimos los siguientes formatos de datos:
Formato JSON Lines (JSONL), en el que cada línea contiene un solo ejemplo de ajuste. Antes de optimizar tu modelo, debes subir tu conjunto de datos a un segmento de Cloud Storage.
Ejemplo de conjunto de datos para Gemini
{
"systemInstruction": {
"role": string,
"parts": [
{
"text": string
}
]
},
"contents": [
{
"role": string,
"parts": [
{
// Union field data can be only one of the following:
"text": string,
"fileData": {
"mimeType": string,
"fileUri": string
}
}
]
}
]
}
Parámetros
El ejemplo contiene datos con los siguientes parámetros:
Parámetros | |
---|---|
|
Obligatorio: El contenido de la conversación actual con el modelo. En el caso de las consultas de un solo turno, se trata de una sola instancia. En las consultas multiturno, se trata de un campo repetido que contiene el historial de la conversación y la última solicitud. |
|
Opcional: Consulta los modelos compatibles. Instrucciones para que el modelo mejore su rendimiento. Por ejemplo, "Responde de la forma más concisa posible" o "No uses términos técnicos en tu respuesta". Las cadenas El campo |
|
Opcional. Fragmento de código que permite al sistema interactuar con sistemas externos para realizar una acción o un conjunto de acciones fuera del conocimiento y del ámbito del modelo. Consulta Llamadas a funciones. |
Contenido
Tipo de datos estructurados base que contiene el contenido de varias partes de un mensaje.
Esta clase consta de dos propiedades principales: role
y parts
. La propiedad role
indica la persona que produce el contenido, mientras que la propiedad parts
contiene varios elementos, cada uno de los cuales representa un segmento de datos de un mensaje.
Parámetros | |
---|---|
|
Opcional: La identidad de la entidad que crea el mensaje. Se admiten los siguientes valores:
El valor En las conversaciones que no son de varias interacciones, este campo se puede dejar en blanco o sin definir. |
|
Lista de partes ordenadas que componen un único mensaje. Las distintas partes pueden tener diferentes tipos MIME de IANA. Para consultar los límites de las entradas, como el número máximo de tokens o el número de imágenes, consulta las especificaciones del modelo en la página Modelos de Google. Para calcular el número de tokens de tu solicitud, consulta Obtener el recuento de tokens. |
Partes
Tipo de datos que contiene contenido multimedia que forma parte de un mensaje Content
de varias partes.
Parámetros | |
---|---|
|
Opcional: Una petición de texto o un fragmento de código. |
|
Opcional: Datos almacenados en un archivo. |
|
Opcional: Contiene una cadena que representa el campo Consulta Llamadas a funciones. |
|
Opcional: El resultado de una Consulta Llamadas a funciones. |
Ejemplo de conjunto de datos
Cada ejemplo de conversación de un conjunto de datos de ajuste se compone de un campo messages
obligatorio y un campo context
opcional.
El campo messages
consta de una matriz de pares de rol y contenido:
- El campo
role
hace referencia al autor del mensaje y tiene el valorsystem
,user
omodel
. El rolsystem
es opcional y solo puede aparecer en el primer elemento de la lista de mensajes. Los rolesuser
ymodel
son obligatorios y pueden repetirse de forma alterna. - El campo
content
es el contenido del mensaje.
En cada ejemplo, la longitud máxima de los tokens de context
y messages
combinados es de 131.072 tokens. Además, cada campo content
del campo model
no debe superar los 8192 tokens.
{
"messages": [
{
"role": string,
"content": string
}
]
}
Mantener la coherencia con los datos de producción
Los ejemplos de tus conjuntos de datos deben coincidir con el tráfico de producción previsto. Si tu conjunto de datos contiene un formato, palabras clave, instrucciones o información específicos, los datos de producción deben tener el mismo formato y contener las mismas instrucciones.
Por ejemplo, si los ejemplos de su conjunto de datos incluyen un "question:"
y un "context:"
, el tráfico de producción también debe tener el formato adecuado para incluir un "question:"
y un "context:"
en el mismo orden en el que aparecen en los ejemplos del conjunto de datos. Si excluyes el contexto, el modelo no reconocerá el patrón, aunque la pregunta exacta esté en un ejemplo del conjunto de datos.
Subir conjuntos de datos de ajuste a Cloud Storage
Para ejecutar una tarea de ajuste, debes subir uno o varios conjuntos de datos a un segmento de Cloud Storage. Puedes crear un segmento de Cloud Storage o usar uno que ya tengas para almacenar los archivos del conjunto de datos. La región del contenedor no importa, pero te recomendamos que uses un contenedor que esté en el mismo proyectoGoogle Cloud en el que quieras ajustar tu modelo.
Cuando el segmento esté listo, suba el archivo del conjunto de datos al segmento.
Sigue las prácticas recomendadas de diseño de peticiones
Una vez que tengas el conjunto de datos de entrenamiento y hayas entrenado el modelo, es el momento de diseñar las peticiones. Es importante seguir las prácticas recomendadas de diseño de peticiones en tu conjunto de datos de entrenamiento para describir detalladamente la tarea que se debe realizar y cómo debe ser el resultado.
Siguientes pasos
- Elige una región para ajustar un modelo.
- Para saber cómo se puede usar el ajuste fino supervisado en una solución que cree una base de conocimientos de IA generativa, consulta Solución de inicio rápido: base de conocimientos de IA generativa.