Consideraciones de ajuste fino de Microsoft Foundry

El ajuste preciso es el proceso de tomar un modelo de lenguaje entrenado previamente y adaptarlo para realizar una tarea específica o mejorar su rendimiento en un conjunto de datos determinado. Esto implica entrenar el modelo en un conjunto de datos más pequeño y específico de tareas al ajustar ligeramente los pesos del modelo. El ajuste preciso aprovecha el conocimiento que adquirió el modelo durante su entrenamiento inicial en un conjunto de datos grande y diverso, lo que le permite especializarse sin empezar desde cero. Este enfoque suele ser más eficaz que entrenar un nuevo modelo desde cero; por ejemplo, muchos equipos se ajustan con cientos a miles de ejemplos etiquetados en lugar de volver a entrenar en millones de ejemplos.

Ventajas clave del ajuste preciso

Precisión y relevancia mejoradas

El ajuste preciso mejora el rendimiento del modelo en tareas concretas mediante el entrenamiento con datos específicos de la tarea. Esto suele dar lugar a salidas de alta calidad más precisas y relevantes en comparación con el uso de avisos generales.

A diferencia del aprendizaje de pocas capturas, donde solo se puede incluir un número limitado de ejemplos en un aviso, el ajuste preciso le permite entrenar el modelo en un conjunto de datos adicional. El ajuste preciso ayuda al modelo a obtener más patrones matizados y mejora el rendimiento de las tareas.

Eficiencia y ahorro potencial de costos

Los modelos ajustados requieren avisos más cortos porque se entrenan en ejemplos pertinentes. Este proceso reduce el número de tokens necesarios en cada solicitud, lo que puede provocar un ahorro de costos en función del caso de uso.

Dado que los modelos optimizados necesitan menos ejemplos en la instrucción, procesan las solicitudes más rápidamente, resultando en tiempos de respuesta más rápidos.

Escalabilidad y especialización

El ajuste preciso aplica el amplio entrenamiento previo de los modelos de lenguaje y optimiza sus funcionalidades para aplicaciones específicas, lo que hace que sean más eficaces y eficaces para casos de uso específicos.

Al ajustar modelos más pequeños, se pueden lograr niveles de rendimiento comparables a modelos más grandes y costosos para tareas específicas. Este enfoque reduce los costos computacionales y aumenta la velocidad, lo que lo convierte en una solución escalable rentable para implementar la inteligencia artificial en entornos restringidos por recursos.

Cuándo ajustar

El ajuste fino es apropiado para los momentos en los que se tiene un conjunto de datos pequeño y de alta calidad (por ejemplo, desde cientos hasta unos pocos miles de pares de entradas y respuestas específicas para la tarea) y se desea mejorar el rendimiento de su modelo. El ajuste preciso se aplica a muchos casos de uso, que a menudo se incluyen en las siguientes categorías.

  • Reducción de la sobrecarga de ingeniería de avisos: muchos usuarios comienzan con aprendizaje con pocos ejemplos, adjuntando ejemplos de resultados deseados a su mensaje del sistema. Con el tiempo, este proceso puede provocar mensajes cada vez más largos, lo que aumenta los recuentos de tokens y la latencia. El ajuste preciso le permite insertar estos ejemplos en el modelo mediante el entrenamiento en las salidas esperadas, lo que resulta útil en escenarios con numerosos casos perimetrales.

  • Modificar el estilo y el tono: el ajuste fino ayuda a alinear las salidas del modelo con un estilo o tono deseados, lo que garantiza la coherencia en aplicaciones como bots de chat de servicio al cliente y comunicación específica de la marca.

  • Generación de salidas en formatos o esquemas específicos: los modelos se pueden ajustar para generar salidas en formatos o esquemas específicos, por lo que son ideales para la generación de datos estructurados, informes o respuestas con formato.

  • Mejora del uso de herramientas: aunque la API de finalizaciones de chat admite llamadas a herramientas, la enumeración de muchas herramientas aumenta el uso de tokens y puede provocar información incorrecta. El ajuste preciso con ejemplos de herramientas mejora la precisión y la coherencia, incluso sin definiciones completas de herramientas.

  • Mejora del rendimiento basado en recuperación: la combinación de ajuste preciso con métodos de recuperación mejora la capacidad de un modelo para integrar conocimientos externos, realizar tareas complejas y proporcionar respuestas más precisas y compatibles con el contexto. El ajuste preciso entrena el modelo para usar eficazmente los datos recuperados al filtrar la información irrelevante.

  • Optimización de la eficiencia: el ajuste fino también se puede usar para transferir conocimientos de un modelo más grande a uno más pequeño, lo que permite que el modelo más pequeño logre un rendimiento de tareas similar con un menor costo y latencia. Por ejemplo, los datos de producción de un modelo de alto rendimiento se pueden usar para ajustar un modelo más pequeño y eficaz. Este enfoque ayuda a escalar las soluciones de inteligencia artificial al tiempo que mantiene la calidad y reduce la sobrecarga computacional.

  • Destilación: la destilación del modelo usa las salidas de un modelo grande para ajustar un modelo más pequeño, lo que le permite lograr un rendimiento similar en una tarea específica. Por ejemplo, puede recopilar tráfico de producción de un o1 despliegue y usar esos datos para optimizar GPT-4o-mini. Este proceso puede reducir el costo y la latencia, ya que los modelos más pequeños son más eficaces.

Tipos de ajuste preciso

Microsoft Foundry ofrece las siguientes técnicas de ajuste:

  • Ajuste fino supervisado: esto le permite proporcionar datos personalizados (aviso/finalización o chat conversacional, según el modelo) para enseñar al modelo base nuevas aptitudes. Este proceso implica entrenar aún más el modelo en un conjunto de datos etiquetado de alta calidad, donde cada punto de datos está asociado a la salida o respuesta correctas. El objetivo es mejorar el rendimiento del modelo en una tarea determinada ajustando sus parámetros en función de los datos etiquetados. Esta técnica funciona mejor cuando hay formas finitas de resolver un problema y se quiere enseñar al modelo una tarea determinada y mejorar su precisión y concisión.

  • Ajuste fino de refuerzo (RFT): una técnica de personalización de modelos beneficiosa para optimizar el comportamiento del modelo en entornos muy complejos o dinámicos, lo que permite al modelo aprender y adaptarse a través de comentarios iterativos y toma de decisiones. Por ejemplo, los proveedores de servicios financieros pueden optimizar el modelo para evaluaciones de riesgos más rápidas y precisas, o bien las organizaciones sanitarias pueden adaptar determinados modelos para un análisis de datos y una generación de hipótesis más eficaces. RFT funciona mejor cuando hay muchas maneras posibles de resolver un problema. El calificador recompensa el modelo de forma incremental y mejora la calidad del razonamiento.

  • Optimización de preferencias directas (DPO): técnica de alineación para modelos de lenguaje grandes, diseñados para ajustar los pesos del modelo en función de las preferencias humanas. A diferencia del aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF), DPO no requiere ajustar un modelo de recompensas y usa preferencias binarias durante el entrenamiento. Este método es computacionalmente más ligero y más rápido, lo que hace que sea igualmente eficaz en la alineación, mientras que es más eficaz. Proporcione las respuestas preferidas y no preferidas en el conjunto de entrenamiento para usar esta técnica.

También puede combinar técnicas: use primero el ajuste fino supervisado (SFT) para crear un modelo personalizado optimizado para su caso de uso y luego utilice DPO para alinear las respuestas a sus preferencias específicas. Durante el paso SFT, céntrese en la calidad y la representatividad de los datos de las tareas, mientras que el paso de DPO ajusta las respuestas con comparaciones específicas.

Desafíos y limitaciones del ajuste preciso

La optimización de modelos de lenguaje de gran tamaño puede ser una técnica eficaz para adaptarlos a dominios y tareas específicos. Sin embargo, el ajuste preciso también incluye algunos desafíos y limitaciones que debe tener en cuenta antes de aplicarlo a un problema real. Estos son algunos de estos desafíos.

  • El ajuste preciso requiere datos de entrenamiento de alta calidad, suficientemente grandes y representativos que coincidan con el dominio y la tarea de destino. Los datos de calidad son relevantes, precisos, coherentes y diversos para cubrir los posibles escenarios y variaciones que encontrará el modelo en el mundo real. Los datos de mala calidad o poco representativos provocan sobreajustes, infraajustes o sesgos en el modelo ajustado, lo que daña su generalización y solidez.
  • Ajustar modelos de lenguaje de gran tamaño conlleva costos adicionales asociados con el entrenamiento y el hospedaje del modelo personalizado.
  • Dar formato a los pares de entrada y salida usados para ajustar un modelo de lenguaje grande puede ser fundamental para su rendimiento y facilidad de uso.
  • Es posible que sea necesario repetir el ajuste preciso cada vez que se actualicen los datos o cuando se libere un modelo base actualizado. Esto implica la supervisión y actualización periódicas.
  • El ajuste preciso es una tarea repetitiva (prueba y error), por lo que los hiperparámetros deben establecerse cuidadosamente. El ajuste preciso requiere mucha experimentación y pruebas para encontrar la mejor combinación de hiperparámetros y configuraciones para lograr el rendimiento y la calidad deseados.
  • La importación de datos de entrenamiento desde Azure Blob Storage requiere que la cuenta de almacenamiento tenga habilitado el acceso a la red pública. Si el entorno empresarial restringe el acceso público en las cuentas de almacenamiento, use el método de carga de archivos local o el SDK para cargar datos de entrenamiento directamente.

Pasos siguientes