Ajuste con la API de Gemini

Las estrategias de diseño de instrucciones, como las instrucciones con ejemplos limitados, no siempre los resultados que necesitas. El ajuste es un proceso que puede mejorar el rendimiento en tareas específicas o ayudan a que el modelo se adhiera cuando las instrucciones no son suficientes y tienes un conjunto de ejemplos que demuestren los resultados que deseas.

En esta página, se proporciona orientación para ajustar el modelo de texto detrás de la API de Gemini servicio de texto.

Cómo funciona el ajuste

El objetivo del ajuste es mejorar aún más el rendimiento del modelo para para tu tarea específica. El ajuste funciona proporcionando al modelo un modelo conjunto de datos que contiene muchos ejemplos de la tarea. Para tareas de nicho, puedes obtener Mejoras significativas en el rendimiento del modelo ajustando el modelo con una una gran cantidad de ejemplos.

Tus datos de entrenamiento deben estructurarse como ejemplos con entradas de instrucciones y y los resultados de respuesta esperados. También puedes ajustar los modelos con datos de ejemplo directamente en Google AI Studio. El objetivo es enseñarle al modelo a imitar el comportamiento deseado. o tarea, dándole muchos ejemplos que ilustran ese comportamiento o esa tarea.

Cuando ejecutas un trabajo de ajuste, el modelo aprende parámetros adicionales que lo ayudan codificar la información necesaria para realizar la tarea deseada o aprender lo que el comportamiento de los usuarios. Estos parámetros se pueden usar en el momento de la inferencia. El resultado de la de ajuste de escala automático es un nuevo modelo, que es, en la práctica, una combinación de los servicios los parámetros aprendidos y el modelo original.

Prepara tu conjunto de datos

Antes de que puedas comenzar con el ajuste, necesitas un conjunto de datos para ajustar el modelo. Para el mejor rendimiento, los ejemplos del conjunto de datos deben ser de alta calidad diversos y representativos de entradas y resultados reales.

Formato

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 puede reconocer el patrón incluso si la pregunta exacta estaba en un ejemplo del conjunto de datos.

Agregar una instrucción o un preámbulo a cada ejemplo en tu conjunto de datos también puede ser útil. para mejorar el rendimiento del modelo ajustado. Ten en cuenta que, si una consigna o un preámbulo se incluido en tu conjunto de datos, también debería incluirse en la instrucción para el en el momento de la inferencia.

Tamaño de los datos de entrenamiento

Puedes ajustar un modelo con tan solo 20 ejemplos. Datos adicionales suele mejorar la calidad de las respuestas. Deberías orientarte entre 100 y 500 ejemplos, según tu aplicación. En la siguiente tabla, se muestra tamaños de conjuntos de datos recomendados para ajustar un modelo de texto para varias tareas comunes:

Tarea Cantidad de ejemplos en el conjunto de datos
Clasificación 100+
Resúmenes 100-500
Búsqueda de documentos 100+

Sube tu conjunto de datos de ajuste

Los datos se pasan de forma intercalada con la API o a través de archivos subidos a Google. con Vertex AI Studio.

Haz clic en el botón Importar y sigue las instrucciones del diálogo para importar datos. de un archivo o elige una instrucción estructurada con ejemplos para importarla de tu conjunto de datos.

Biblioteca cliente

Para usar la biblioteca cliente, proporciona el archivo de datos en el createTunedModel llamada. El tamaño del archivo no puede superar los 4 MB. Consulta la guía de inicio rápido sobre el ajuste con Python para comenzar.

cURL

Para llamar a la API de REST con cURL, proporciona ejemplos de entrenamiento en formato JSON para el argumento training_data. Consulta la guía de inicio rápido sobre el ajuste con cURL para comenzar.

Configuración avanzada de ajuste

Cuando creas un trabajo de ajuste, puedes especificar la siguiente configuración avanzada:

  • Ciclos de entrenamiento: una pasada de entrenamiento completa sobre todo el conjunto de entrenamiento de modo que cada ejemplo se procesó una vez.
  • Tamaño del lote: Es el conjunto de ejemplos que se usa en una iteración de entrenamiento. El el tamaño del lote determina la cantidad de ejemplos en un lote.
  • Tasa de aprendizaje: Es un número de punto flotante que le indica al algoritmo cómo hacerlo. para ajustar los parámetros del modelo en cada iteración. Por ejemplo, un de 0.3 ajustaría las ponderaciones y los sesgos tres veces más más potente que una tasa de aprendizaje de 0.1. Las tasas de aprendizaje altas y bajas tienen con sus compensaciones únicas, por lo que deben ajustarse según tu caso de uso.
  • Multiplicador de la tasa de aprendizaje: El multiplicador de tasa modifica la tasa de aprendizaje. la tasa de aprendizaje original. Un valor de 1 usa la tasa de aprendizaje original de la un modelo de responsabilidad compartida. Los valores mayores que 1 aumentan la tasa de aprendizaje y los valores entre 1. y 0, baja la tasa de aprendizaje.

En la siguiente tabla, se muestran los parámetros de configuración recomendados para ajustar una de base:

Hiperparámetro Valor predeterminado Ajustes recomendados
Epoch 5

Si la pérdida comienza a estancarse antes de 5 ciclos de entrenamiento, usa un valor menor.

Si la pérdida converge y no parece estancarse, usa un valor más alto.

Tamaño del lote 4
Tasa de aprendizaje 0.001 Usa un valor menor para conjuntos de datos más pequeños.

La curva de pérdida muestra cuánto se desvía la predicción del modelo del ideal predicciones en los ejemplos de entrenamiento después de cada ciclo de entrenamiento. Idealmente, quieres dejar de en el punto más bajo de la curva, justo antes de que se estanca. Por ejemplo: el siguiente gráfico muestra que la curva de pérdida se estabiliza en las épocas 4 a 6, lo que significa Puedes establecer el parámetro Epoch en 4 y seguir obteniendo el mismo rendimiento.

Gráfico de líneas que muestra la curva de pérdida del modelo. La línea aumenta repentinamente entre
la primera y la segunda época, luego disminuye drásticamente a casi 0 y se nivelan
después de tres ciclos de entrenamiento.

Verifica el estado del trabajo de ajuste

Puedes verificar el estado de tu trabajo de ajuste en Google AI Studio, en la Mi biblioteca o con la propiedad metadata del modelo ajustado en la API de Gemini.

Solución de errores

En esta sección, se incluyen sugerencias para resolver los errores que podrías encontrar mientras creando tu modelo ajustado.

Autenticación

El ajuste con la API y la biblioteca cliente requiere la autenticación del usuario. Una clave de API por sí solo no es suficiente. Si ves un error 'PermissionDenied: 403 Request had insufficient authentication scopes', debes configurar la configuración de autenticación.

Para configurar las credenciales de OAuth para Python, consulta la configuración de OAuth .

Modelos cancelados

Puedes cancelar un trabajo de ajuste en cualquier momento antes de que finalice. Sin embargo, el rendimiento de la inferencia de un modelo cancelado es impredecible que el trabajo de ajuste se cancele al principio del entrenamiento. Si cancelaste el servicio porque si deseas detener el entrenamiento en un ciclo de entrenamiento anterior, debes crear un nuevo ajuste y establece el ciclo de entrenamiento en un valor más bajo.

¿Qué sigue?