Ajuste de instrucción de LLM Ajuste de instrucción

La semana pasada, le presentaron el ciclo de vida de un proyecto de IA generativa. Exploró casos de uso de ejemplo para modelos de lenguaje grandes y analizó los tipos de tareas que son capaces de realizar.
inserte la descripción de la imagen aquí

En esta lección, aprenderá cómo mejorar el rendimiento de los modelos existentes para casos de uso específicos.
inserte la descripción de la imagen aquí

También aprenderá métricas importantes que pueden usarse para evaluar el desempeño de su LLM ajustado y cuantificar su mejora con respecto al modelo base con el que comenzó.
inserte la descripción de la imagen aquí

Primero analicemos cómo utilizar sugerencias de instrucciones para perfeccionar el LLM. Anteriormente en el curso, vio que algunos modelos eran capaces de reconocer instrucciones contenidas en sugerencias y realizar correctamente la inferencia de disparo cero.
inserte la descripción de la imagen aquí

Y es posible que otros LLM más pequeños no puedan realizar la tarea, como en el ejemplo que se muestra aquí.inserte la descripción de la imagen aquí

También vio que incluir uno o más ejemplos de lo que desea que haga el modelo (conocido como inferencia de un solo intento o de pocos intentos) podría ser suficiente para ayudar al modelo a identificar la tarea y generar una buena finalización.
inserte la descripción de la imagen aquí

Sin embargo, esta estrategia tiene varias desventajas.

  1. En primer lugar, con modelos más pequeños, aunque incluyan cinco o seis ejemplares, no siempre funciona.
  2. En segundo lugar, cualquier ejemplo que incluya en el mensaje ocupa un espacio valioso en la ventana contextual, lo que reduce el espacio que tiene para incluir otra información útil.
    inserte la descripción de la imagen aquí

Afortunadamente, existe otra solución en la que se puede entrenar aún más el modelo base mediante un proceso llamado ajuste fino.
inserte la descripción de la imagen aquí

A diferencia de la formación previa para la formación de LLM mediante el aprendizaje autosupervisado utilizando grandes cantidades de datos de texto no estructurados,
inserte la descripción de la imagen aquí

El ajuste es un proceso de aprendizaje supervisado en el que se actualizan los pesos del LLM utilizando un conjunto de datos de ejemplos etiquetados.
inserte la descripción de la imagen aquí

Estos ejemplos de marcado son pares de finalización rápida,
inserte la descripción de la imagen aquí

El proceso de ajuste amplía el entrenamiento del modelo para mejorar su capacidad de generar buenas terminaciones en una tarea específica.
inserte la descripción de la imagen aquí

Una estrategia llamada ajuste fino de la instrucción ha sido particularmente efectiva para mejorar el desempeño de los modelos en una variedad de tareas.

Echemos un vistazo más de cerca a cómo funciona esto: el ajuste de instrucciones entrena un modelo utilizando ejemplos que demuestran cómo debe responder a instrucciones específicas. A continuación se muestran algunos ejemplos de indicaciones para demostrar la idea. La instrucción en ambos ejemplos es "categorizar este comentario" y la finalización esperada es una cadena de texto que comienza con "sentimiento" seguido de "positivo" o "negativo".
inserte la descripción de la imagen aquí

El conjunto de datos que utiliza para la capacitación incluye muchos pares de ejemplos de finalización rápida de la tarea de su interés, y cada ejemplo incluye una instrucción.

Por ejemplo, si desea ajustar un modelo para mejorar su capacidad de resumir, crearía un conjunto de datos de ejemplos que comience con "resumir el siguiente texto" o una frase similar. Si estuviera mejorando las habilidades de traducción de su modelo, sus ejemplos incluirían instrucciones como "traducir esta oración". Estos ejemplos de finalización rápida permiten que el modelo aprenda a generar respuestas que sigan una instrucción determinada.
inserte la descripción de la imagen aquí

El ajuste fino de instrucciones, donde se actualizan todos los pesos del modelo, se denomina ajuste fino global. Este proceso produce una nueva versión del modelo con pesos actualizados. Es importante tener en cuenta que, al igual que el entrenamiento previo, el ajuste completo requiere suficiente memoria y presupuesto computacional para almacenar y procesar todos los gradientes, optimizadores y otros componentes que se actualizan durante el entrenamiento. Por lo tanto, puede beneficiarse de las estrategias de optimización de la memoria y computación paralela que aprendió la semana pasada.
inserte la descripción de la imagen aquí

Entonces, ¿cómo se ajusta realmente la instrucción y el LLM? El primer paso es preparar tus datos de entrenamiento. Hay muchos conjuntos de datos disponibles públicamente que se han utilizado para entrenar las primeras generaciones de modelos de lenguaje, aunque la mayoría de ellos no están formateados como instrucciones. Afortunadamente, los desarrolladores han reunido bibliotecas de plantillas de sugerencias que se pueden utilizar para tomar conjuntos de datos existentes, como el gran conjunto de datos de reseñas de productos de Amazon, y convertirlos en conjuntos de datos de sugerencias de instrucciones para realizar ajustes.

La biblioteca de plantillas de solicitudes incluye muchas plantillas para diferentes tareas y diferentes conjuntos de datos. Aquí hay tres sugerencias que están diseñadas para funcionar con el conjunto de datos de reseñas de Amazon y que pueden usarse para ajustar modelos para tareas de clasificación, generación de texto y resumen de texto.
inserte la descripción de la imagen aquí

Puedes ver que en cada caso pasas la reseña original (aquí llamada review_body) a la plantilla donde se inserta en "Una breve descripción de la oración del producto" en el texto que comienza la directiva. El resultado es un mensaje que ahora contiene instrucciones y ejemplos del conjunto de datos.
inserte la descripción de la imagen aquí

Una vez que haya preparado el conjunto de datos de instrucción, al igual que el aprendizaje supervisado estándar, divida el conjunto de datos en divisiones de entrenamiento, validación y prueba.
inserte la descripción de la imagen aquí

Durante el ajuste fino, selecciona señales del conjunto de datos de entrenamiento y las pasa al LLM, y la generación se completa. A continuación, compara la finalización del LLM con las respuestas especificadas en los datos de capacitación. Puede ver aquí que el modelo no hace un muy buen trabajo al clasificar la revisión como neutral, lo cual es un poco exagerado. Las críticas son obviamente muy positivas. Recuerde, el resultado del LLM es una distribución de probabilidad entre tokens.
inserte la descripción de la imagen aquí

Por lo tanto, puede comparar la distribución final y la distribución de las etiquetas de entrenamiento y usar la función de entropía cruzada estándar para calcular la pérdida entre las dos distribuciones de tokens.
inserte la descripción de la imagen aquí

Luego, la pérdida calculada se utiliza para actualizar los pesos del modelo, con retropropagación estándar. Hará esto para muchos lotes de pares de finalización de sugerencias y actualizará los pesos durante varias épocas para que mejore el rendimiento del modelo en la tarea.
inserte la descripción de la imagen aquí

Al igual que con el aprendizaje supervisado estándar, puede definir un paso de evaluación separado para medir su desempeño en LLM utilizando un conjunto de datos de validación reservados. Esto le dará la precisión de la validación,
inserte la descripción de la imagen aquí

Y una vez que termine de realizar el ajuste fino, puede utilizar el conjunto de datos de prueba reservados para la evaluación final del desempeño. Esto le dará la precisión de la prueba.inserte la descripción de la imagen aquí

El proceso de ajuste da como resultado una nueva versión del modelo base que es mejor en la tarea que le interesa, a menudo llamado modelo guiado. El ajuste mediante sugerencias de instrucciones es, con diferencia, la forma más común de ajustar los LLM. A partir de este momento, cuando escuche o vea la palabra "ajuste fino", podrá asumir que siempre significa ajuste fino de la instrucción.
inserte la descripción de la imagen aquí

referencia

https://www.coursera.org/learn/generative-ai-with-llms/lecture/exyNC/instruction-fine-tuning

Supongo que te gusta

Origin blog.csdn.net/zgpeace/article/details/132484646
Recomendado
Clasificación