Ajuste de modelos para modelos de texto de Gemini

En esta página, se proporcionan pasos recomendados para ayudarte a ajustar un modelo de texto con Gemini. En esta guía, se abordan los casos de uso de clasificación, análisis de opiniones y extracción.

Limitaciones

  • Los modelos de Gemini no admiten puntuaciones de confianza.
  • Gemini no puede proporcionar puntuaciones numéricas para el análisis de opiniones. Esto limita la capacidad de estimar las opiniones en función de un umbral numérico.

Para mejorar la confiabilidad de los resultados de tu modelo de IA, considera incorporar métodos como la coherencia interna para la puntuación de confianza. Esta técnica genera varios resultados del modelo para la misma entrada y, luego, emplea un sistema de votación mayoritaria para determinar el resultado más probable. La puntuación de confianza se puede representar como una proporción que refleja la proporción de veces que se generó el resultado mayoritario.

Para las tareas de análisis de opiniones, considera usar un LLM como evaluador para proporcionar puntuaciones de confianza verbal. Indícale al modelo que analice la opinión y, luego, muestre una puntuación verbal (por ejemplo, “muy probable”) en lugar de una puntuación numérica. Las puntuaciones verbales suelen ser más interpretables y menos propensas a sesgos en el contexto de los LLM.

Ajusta modelos de texto con Gemini

Existen dos opciones que puedes usar a fin de ajustar los modelos de texto para la clasificación, la extracción y el análisis de opiniones con Gemini: ingresar instrucciones con un modelo previamente entrenado y realizar un ajuste personalizado.

  • Instrucciones con modelos de Gemini previamente entrenados: La creación de instrucciones es el arte de elaborar instrucciones eficaces para guiar a los modelos de IA como Gemini en la generación de los resultados que deseas. Implica diseñar instrucciones que transmitan claramente la tarea, el formato que deseas y cualquier contexto relevante. Puedes usar las funciones de Gemini con una configuración mínima. Esto es ideal para lo siguiente:

    • Datos etiquetados limitados: Si tienes una pequeña cantidad de datos etiquetados o no puedes permitirte un proceso de ajuste prolongado.
    • Prototipado rápido: Cuando necesitas probar un concepto rápidamente, o bien obtener un rendimiento de referencia sin una gran inversión en el perfeccionamiento.
  • Ajuste personalizado de los modelos de Gemini: Para obtener resultados más personalizados, Gemini te permite ajustar sus modelos en tus conjuntos de datos específicos. Para crear un modelo de IA que se destaque en tu dominio específico, considera ajustarlo. Esto implica volver a entrenar el modelo base con tu propio conjunto de datos etiquetados y adaptar sus pesos a tu tarea y datos. Puedes adaptar Gemini a tus casos de uso. El ajuste es más eficaz en los siguientes casos:

    • Tienes datos etiquetados: Un conjunto de datos de gran tamaño para entrenar (piensa en 100 ejemplos o más), que permite que el modelo aprenda en profundidad los detalles de tu tarea.
    • Tareas complejas o únicas: Para situaciones en las que las estrategias de instrucciones avanzadas no son suficientes y un modelo adaptado a tus datos es esencial.

Si es posible, prueba ambos enfoques para ver cuál genera mejores resultados para tu caso de uso específico. Te recomendamos comenzar con instrucciones para encontrar la instrucción óptima. Luego, continúa con el ajuste (si es necesario) para mejorar aún más el rendimiento o corregir los errores recurrentes.

Si bien agregar más ejemplos puede ser beneficioso, es importante evaluar dónde el modelo comete errores antes de agregar más datos. Sin importar el enfoque, los datos bien etiquetados y de alta calidad son fundamentales para obtener un buen rendimiento, y esto es más importante que tener una gran cantidad de datos. Además, los datos que usas para el ajuste deben reflejar el tipo de datos que el modelo encontrará en la producción. Para el desarrollo, la implementación y la administración de modelos, consulta la documentación principal de Vertex AI.

Instrucciones con Gemini

Para usar las capacidades de comprensión del lenguaje de los modelos de Gemini, debes proporcionarles algunos ejemplos de tu tarea (clasificación, extracción, análisis de opiniones) en la instrucción. El modelo aprende de estos ejemplos y aplica ese conocimiento a tu entrada nueva.

Entre las técnicas de creación de instrucciones comunes que se pueden emplear para optimizar los resultados, se incluyen las siguientes:

  • Instrucciones sin ejemplos: Indicar directamente al modelo que realice una tarea sin proporcionar ejemplos específicos.
  • Instrucciones con ejemplos limitados: Proporciona algunos ejemplos junto con las instrucciones para guiar la comprensión del modelo.
  • Instrucciones de cadena de pensamiento: Divide las tareas complejas en pasos más pequeños y guía el modelo a través de cada paso de forma secuencial.

Si bien el diseño de instrucciones es flexible, ciertas estrategias pueden guiar el resultado de un modelo. Es fundamental realizar pruebas y evaluaciones exhaustivas para optimizar el rendimiento.

Los modelos de lenguaje grandes (LLM), entrenados con datos de texto masivos, aprenden patrones y relaciones de lenguaje. Cuando se proporciona una instrucción, estos modelos predicen la continuación más probable, de forma similar a como lo haría el autocompletado avanzado. Por lo tanto, cuando elabores instrucciones, ten en cuenta los factores que influyen en la predicción de un modelo.

El proceso de ingeniería de instrucciones se ilustra en el siguiente diagrama: El proceso de ingeniería de instrucciones

Prepara los datos de entrada.

Hay varias técnicas de instrucciones que puedes usar. En los siguientes ejemplos, se muestra cómo usar una técnica para diseñar instrucciones con ejemplos limitados:

Clasificación

Solicitud

               Classify the following as red wine or white wine:
               
                  Name: Chardonnay
                  Type: White wine
                  Name: Cabernet
                  Type: Red wine
                  Name: Moscato
                  Type: White wine
               
               Name: Riesling
               Type: 
            

Respuesta

         White wine
         

Extracción

Solicitud

            Extract the technical specifications from the text below in a JSON format.
INPUT: Google Nest Wifi, network speed up to 1200Mpbs, 2.4GHz and 5GHz frequencies, WP3 protocol OUTPUT: { "product":"Google Nest Wifi", "speed":"1200Mpbs", "frequencies": ["2.4GHz", "5GHz"], "protocol":"WP3" } Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass

Respuesta

         {
         "product": "Google Pixel 7",
         "network": "5G",
         "ram": "8GB",
         "processor": "Tensor G2",
         "storage": "128GB",
         "color": "Lemongrass"
         }
         

Análisis de opiniones

Solicitud

            Classify the sentiment of the message. Please only print the category name without anything else.
            
               Message: I had to compare two versions of Hamlet for my Shakespeare class and unfortunately I picked this version. Everything from the acting (the actors deliver most of their lines directly to the camera) to the camera shots (all medium or close up shots...no scenery shots and very little back ground in the shots) were absolutely terrible. I watched this over my spring break and it is very safe to say that I feel that I was gypped out of 114 minutes of my vacation. Not recommended by any stretch of the imagination.
               Category: negative
               Message: This Charles outing is decent but this is a pretty low-key performance. Marlon Brando stands out. There's a subplot with Mira Sorvino and Donald Sutherland that forgets to develop and it hurts the film a little. I'm still trying to figure out why Charlie want to change his name.
               Category: negative
Message: My family has watched Arthur Bach stumble and stammer since the movie first came out. We have most lines memorized. I watched it two weeks ago and still get tickled at the simple humor and view-at-life that Dudley Moore portrays. Liza Minelli did a wonderful job as the side kick - though I'm not her biggest fan. This movie makes me just enjoy watching movies. My favorite scene is when Arthur is visiting his fiancée's house. His conversation with the butler and Susan's father is side-spitting. The line from the butler, "Would you care to wait in the Library" followed by Arthur's reply, "Yes I would, the bathroom is out of the question", is my NEWMAIL notification on my computer.

Respuesta

         Positive
         

Cómo obtener una respuesta de predicción

Este es un ejemplo de una respuesta de código de Python para el ejemplo de clasificación. Para obtener más información, consulta la Descripción general de la IA generativa en Vertex AI.

from vertexai import generative_models
from vertexai.generative_models import GenerativeModel

model = GenerativeModel(model_name="gemini-1.5-flash-001")
response = model.generate_content(["Classify the following as red wine or white wine:

<examples>
Name: Chardonnay
Type: White wine
Name: Cabernet
Type: Red wine
Name: Moscato
Type: White wine
</examples>

Name: Riesling
Type: "])

Ajustes con Gemini 1.0 Pro

El ajuste te permite adaptar Gemini 1.0 Pro a tus necesidades específicas. Sigue estos pasos para ajustar Gemini 1.0 Pro con tus propios datos:

Prepare los datos de entrenamiento

Convierte tus datos de entrenamiento en el formato de ajuste de Gemini, que usa una estructura de archivo JSONL. Cada línea del archivo debe representar un ejemplo de entrenamiento único. Cada ejemplo de entrenamiento debe seguir esta estructura:

{"messages": [{"role": "system", "content": "<system_context>"},, {"role": "user", "content": "<user_input>"}, {"role": "model", "content": "<desired_output>"}]}

Este es un ejemplo de una entrada que tiene dos datos:

{"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"}]}

Para obtener instrucciones completas y más ejemplos, consulta la guía oficial de preparación de conjuntos de datos de Gemini.

Ejecuta la canalización de ajuste

Para iniciar tu trabajo de ajuste de Gemini, sigue esta guía paso a paso con la interfaz de usuario, Python o la API de REST. Durante la configuración, selecciona la versión del modelo de Gemini, establece los hiperparámetros de ajuste y especifica la configuración general. Te recomendamos experimentar con diferentes valores para los ciclos de entrenamiento, el multiplicador de tasa de aprendizaje y los tamaños de adaptadores. Para conjuntos de datos de 500 a 1,000 ejemplos, considera comenzar con las siguientes configuraciones para comprender mejor el aprendizaje del modelo y encontrar la configuración óptima de los parámetros para tu tarea:

  • epochs=2, learning_rate_multiplier=1, adaptador_size=1;
  • epochs=4, learning_rate_multiplier=1, adaptador_size=1 (predeterminado);
  • epochs=6, learning_rate_multiplier=1, adapter_size=4;
  • epochs=12, learning_rate_multiplier=4, adaptador_size=4; y
  • epochs=12, learning_rate_multiplier=4, adapter_size=1.

Si evalúas el rendimiento de una o dos configuraciones diferentes, puedes identificar qué parámetros y modificaciones son más eficaces para mejorar el rendimiento. Si no se alcanza el nivel de rendimiento objetivo, puedes seguir experimentando con estas configuraciones prometedoras.

Herramientas y técnicas de evaluación

Una evaluación coherente y comparable del modelo coherente es esencial para comprender el rendimiento y tomar decisiones fundamentadas. Estas son algunas técnicas y herramientas que debes tener en cuenta durante la evaluación del modelo:

  1. Mantén una metodología de evaluación coherente: Usa las mismas métricas y métodos de evaluación para los modelos ajustados y solicitados. Esto facilita la comparación directa y sin sesgos. Siempre que sea posible, usa el mismo conjunto de datos de evaluación que se usó durante el desarrollo y la implementación del modelo. Esto garantiza una comparación justa entre los tipos de modelos y ayuda a identificar las discrepancias de calidad.
  2. Herramientas y técnicas de evaluación Servicio de evaluación de IA generativa de Vertex AI: Ofrece evaluaciones síncronas y de baja latencia en lotes de datos pequeños. Apto para evaluaciones a pedido, iteración rápida y experimentación. Se integra en otros servicios de Vertex AI con el SDK de Python.
  3. Recomendación para la clasificación, la extracción y el análisis de opiniones: Incluye la métrica exact_match cuando uses el servicio de evaluación.

Implementación

Para implementar tu modelo ajustado, consulta Implementa un modelo ajustado.

¿Qué sigue?