Ajuste de un modelo para un comportamiento coherente

Completado

La ingeniería de instrucciones le ayuda a guiar el comportamiento del modelo, y RAG le ayuda a fundamentar las respuestas en datos concretos. Pero a veces el modelo todavía no genera respuestas con el estilo, el tono o el formato coherentes que necesita. Cuando observa que el modelo omite o sigue incoherentemente las instrucciones (incluso con mensajes detallados del sistema y ejemplos de pocas capturas), puede ser el momento de ajustar el modelo.

El ajuste preciso es el proceso de tomar un modelo de lenguaje entrenado previamente y entrenarlo aún más en un conjunto de datos más pequeño y específico de tareas. Esto ajusta los pesos internos del modelo para que genere respuestas coherentes con los patrones de los datos de entrenamiento.

Descripción del ajuste preciso

Los modelos fundamentales como GPT-4o se entrenan en grandes cantidades de datos generales. El ajuste se basa en esa base mediante el entrenamiento del modelo con ejemplos adicionales que reflejan sus requisitos específicos. Piense en ello como especializar a un generalista: el modelo retiene sus amplias capacidades lingüísticas, pero aprende a responder de la manera específica que demuestran sus datos de entrenamiento.

El ajuste preciso usa LoRA (adaptación de bajo rango), una técnica que aproxima los cambios de peso con una representación de rango más bajo. En lugar de volver a entrenar todos los parámetros del modelo, LoRA actualiza solo un subconjunto más pequeño de parámetros importantes. Esto hace que el entrenamiento sea más rápido y rentable al tiempo que mantiene la calidad del modelo.

La ventaja clave de ajustar un modelo sobre entrenarlo desde cero es la eficiencia. Necesita menos tiempo, menos recursos informáticos y mucho menos datos para personalizar el comportamiento de un modelo.

Saber cuándo ajustar

El ajuste preciso es adecuado para situaciones en las que la ingeniería de solicitudes por sí sola no logra la coherencia que necesita. Entre los casos de uso comunes se incluyen:

  • Estilo y tono coherentes: su organización tiene una voz de marca específica y el modelo debe seguirlo de forma confiable en todas las interacciones. Por ejemplo, la agencia de viajes quiere que todas las respuestas usen un tono cálido y estimulante con párrafos cortos.
  • Formatos de salida específicos: necesita que el modelo genere resultados estructurados de forma fiable, como las respuestas JSON que siguen a un esquema definido y algunos ejemplos de captura no son suficientes.
  • Reducción de la longitud del mensaje: los mensajes largos del sistema con muchos ejemplos consumen tokens y aumentan la latencia. El ajuste preciso inserta esos patrones en el modelo, lo que reduce el tamaño del mensaje necesario para cada solicitud.
  • Destilación: quiere transferir las funcionalidades de un modelo grande y costoso a uno más pequeño y eficaz. Por ejemplo, puede recopilar salidas de un modelo de alto rendimiento y usarlas para ajustar un modelo más pequeño que logre una calidad similar a un costo y una latencia más bajos.
  • Mejora del uso de herramientas: cuando la aplicación usa llamadas a herramientas, ajustar con ejemplos de herramientas puede mejorar la precisión de la selección de herramientas y la generación de parámetros.

Importante

El ajuste preciso es una funcionalidad avanzada. Empiece siempre por evaluar el rendimiento de línea base de un modelo estándar con respecto a sus requisitos antes de considerar la optimización. Sin una línea de base, es difícil detectar si se ha mejorado o degradado el rendimiento del modelo.

Exploración de tipos de ajuste preciso

Microsoft Foundry ofrece varias técnicas de ajuste:

  • Ajuste fino supervisado (SFT): se entrena el modelo en un conjunto de datos etiquetado de pares de solicitud y respuesta. El modelo aprende a generar salidas que coinciden con los patrones de los datos de entrenamiento. Esta técnica funciona mejor cuando hay formas claras y bien definidas de abordar una tarea.
  • Ajuste preciso de refuerzo (RFT): optimice el comportamiento del modelo a través de comentarios iterativos, usando un calificador para recompensar las mejores respuestas de forma incremental. RFT funciona bien para tareas complejas o dinámicas en las que hay muchas soluciones posibles y desea mejorar la calidad del razonamiento del modelo.
  • Optimización de preferencias directas (DPO): alinee el modelo en función de las preferencias humanas proporcionando pares de respuesta preferidos y no preferidos. DPO es computacionalmente más ligero que los enfoques de aprendizaje de refuerzo tradicionales, al mismo tiempo que es igualmente eficaz en la alineación.

También puede combinar técnicas. Por ejemplo, use primero el ajuste fino supervisado para crear un modelo personalizado y, después, use DPO para alinear aún más las respuestas a sus preferencias específicas.

Preparación de los datos de entrenamiento

El ajuste preciso requiere un conjunto de datos de ejemplos de alta calidad en formato JSONL (líneas JSON). Para los modelos de finalización de chat, cada ejemplo consta de una conversación con mensajes de sistema, usuario y asistente:

{"messages": [{"role": "system", "content": "You are a friendly travel advisor for Margie's Travel."}, {"role": "user", "content": "What's a good beach destination in Europe?"}, {"role": "assistant", "content": "For a beautiful European beach experience, consider the Algarve in southern Portugal! It offers stunning golden cliffs, warm waters, and charming coastal towns. The best time to visit is from May through September."}]}
{"messages": [{"role": "system", "content": "You are a friendly travel advisor for Margie's Travel."}, {"role": "user", "content": "I need a budget hotel in Tokyo."}, {"role": "assistant", "content": "Here are some great budget-friendly options in Tokyo:\n\n- **Sakura Hotel Jimbocho** - Central location, from $45/night\n- **Khaosan World Asakusa** - Near Senso-ji temple, from $35/night\n- **Imano Tokyo Ginza Hostel** - Modern design, from $40/night\n\nAll three options are close to public transit, making it easy to explore the city."}]}

Al preparar los datos de entrenamiento:

  • Incluya un mensaje coherente del sistema entre ejemplos.
  • Use ejemplos representativos y de alta calidad que abarquen la gama de escenarios que espera.
  • Intente reunir al menos cientos de ejemplos; por lo general, cuantos más, mejor.
  • Asegúrese de que las respuestas del asistente reflejen exactamente el estilo, el formato y el tono que desee.

Nota:

La inclusión de un mensaje del sistema en los datos de entrenamiento es importante. Dejarla en blanco tiende a producir modelos de menor precisión. Use el mismo mensaje del sistema al implementar el modelo optimizado para la inferencia.

Tenga en cuenta los desafíos

El ajuste preciso presenta costos y complejidad que debe evaluar antes de comprometerse.

  • Costos de entrenamiento: el ajuste preciso tiene costos iniciales para el entrenamiento y costos continuos por hora para hospedar el modelo personalizado.
  • Requisitos de calidad de los datos: los datos de entrenamiento deficientes o no representativos provocan sobreajustes, infraajustes o sesgos.
  • Mantenimiento: es posible que sea necesario volver a entrenar los modelos optimizados cuando los datos cambian o cuando se liberan los modelos base actualizados.
  • Experimentación: la búsqueda de la combinación correcta de hiperparámetros (épocas, tamaño de lote, velocidad de aprendizaje) requiere pruebas e iteración.
  • Desfase del modelo: el hecho de especializar el modelo de manera muy específica puede hacerlo menos eficaz en tareas generales de lenguaje fuera del ámbito afinado.

Para la agencia de viajes, el ajuste preciso significa que cada respuesta coincide de forma coherente con las directrices de formato y voz de la marca de la empresa, incluso sin mensajes extensos del sistema. Sin embargo, el equipo debe ponderar esta ventaja con respecto al costo de preparar los datos de entrenamiento y mantener el modelo ajustado a lo largo del tiempo.