¿Qué es el ajuste de instrucciones?

Autores

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

¿Qué es el ajuste de instrucciones?

El ajuste de instrucciones es una técnica para ajustar modelos de lenguaje de gran tamaño (LLM) en un conjunto de datos etiquetado de instrucciones y salidas correspondientes. Mejora el rendimiento del modelo no solo en tareas específicas, sino en seguir instrucciones en general, ayudando así a adaptar modelos preentrenados para su uso práctico.

El ajuste de instrucciones es un subconjunto de la categoría más amplia de técnicas de ajuste fino empleadas para adaptar modelos fundacionales preentrenados para tareas posteriores. Los modelos fundacionales se pueden ajustar para una variedad de propósitos, desde la personalización del estilo hasta la complementación del conocimiento básico y el vocabulario del modelo preentrenado y la optimización del rendimiento para un caso de uso específico. Si bien el ajuste fino no es exclusivo de ningún dominio específico o arquitectura de modelo de inteligencia artificial, se convirtió en una parte integral del ciclo de vida de los LLM. Por ejemplo, la familia de modelos Llama 2 de Meta se ofrece (en múltiples tamaños) como modelo base, como una variante afinada para diálogo (Llama-2-chat) y como una variante afinada para programación (Código Llama).

El ajuste de instrucciones no es mutuamente excluyente con otras técnicas de ajuste fino. Por ejemplo, los modelos de chat a menudo se someten tanto a un ajuste de instrucciones como a un aprendizaje de refuerzo a partir de retroalimentación humana (RLHF), una técnica de ajuste fino que apunta a mejorar cualidades abstractas como la utilidad y la honestidad; los modelos ajustados para la programación a menudo se someten tanto a un ajuste de instrucciones (para optimizar ampliamente las respuestas para seguir instrucciones) como a un ajuste fino adicional en datos específicos de programación (para aumentar el conocimiento del modelo sobre la sintaxis y el vocabulario de la codificación).

Si bien la génesis de los LLM se remonta al documento de 2017 “Attention is All You Need” que introdujo modelos transformadores a gran escala para tareas de procesamiento de lenguaje natural (PLN), la incorporación del ajuste de instrucciones y RLHF,impulsada por influyentes documentos de Google (en 2021)1 y OpenAI (en 2022),2 respectivamente, produjeron los LLM modernos que iniciaron la era actual de la IA generativa con el lanzamiento de ChatGPT.

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Por qué ajustar las instrucciones de los LLM?

La utilidad del ajuste de instrucciones, como la de la mayoría de las técnicas de ajuste fino, radica en el hecho de que los LLM preentrenados no están optimizados para conversaciones o seguimiento de instrucciones. En un sentido literal, los LLM no responden a una instrucción: solo le agregan texto. El ajuste de instrucciones ayuda a que el texto adjunto sea más útil.

El proceso de preentrenamiento para modelos de lenguaje autorregresivos (LLM empleados para generar texto, como Llama 2 de Meta, GPT de OpenAI, Gemini de Google o Granite de IBM)optimiza estos LLM para simplemente predecir las siguientes palabras en una secuencia determinada hasta que esté completa.

Los LLM se preentrenan mediante el aprendizaje autosupervisado en un corpus masivo de contenido escrito. Durante el entrenamiento previo, a los modelos autorregresivos se les proporciona el comienzo de una muestra de texto y se les asigna repetidamente la tarea de predecir la siguiente palabra en la secuencia hasta el final del extracto. Para cada predicción, la siguiente palabra real de la oración de muestra original sirve como "verdad fundamental". A través de algoritmos de optimización, como el descenso del gradiente, que ajustan iterativamente los parámetros del modelo (los pesos y sesgos variables aplicados a las operaciones matemáticas que ocurren en cada nodo de una red neural) de una manera que acerca las predicciones del modelo al texto original, el modelo "aprende" los patrones lingüísticos en sus datos de entrenamiento (y, por extensión, el "conocimiento" transmitido en esos patrones lingüísticos).

Aunque este proceso de preentrenamiento imparte una capacidad impresionante para generar texto lingüísticamente coherente, no necesariamente alinea el rendimiento del modelo con las necesidades prácticas de los usuarios humanos. Sin ajustes, un modelo base podría responder a un mensaje de "muéstrame cómo hornear pan" con "en un horno casero". Esa es una forma gramaticalmente correcta de completar la oración, pero no lo que el usuario quería.

Sin embargo, el entrenamiento previo de un LLM para cualquier propósito específico (como seguir instrucciones) no es práctico. El "grande" en "modelos de lenguaje grandes" se refiere al hecho de que estos modelos a menudo tienen miles de millones de parámetros: capacitar estos enormes modelos desde cero implica una enorme cantidad de energía, tiempo, recursos computacionales y datos de entrenamiento. Por el contrario, el ajuste fino de un LLM ya entrenado requiere muchos menos datos y, especialmente cuando se emplean métodos de ajuste eficiente de parámetros (PEFT) como el ajuste fino parcial o la adaptación de bajo rango (LoRA), solo una fracción de las demandas computacionales.

Aunque el ajuste se puede lograr a través de casi cualquier paradigma de machine learning, incluido el aprendizaje por refuerzo, el aprendizaje semisupervisado o el aprendizaje autosupervisado adicional, el ajuste de las instrucciones implica un aprendizaje monitoreado en pares etiquetados (entrada, salida). Lo que distingue el ajuste de instrucciones de otras formas de ajuste monitoreado (SFT) es que las muestras de entrada en un conjunto de datos de instrucciones consisten completamente en tareas que se asemejan a las solicitudes que los usuarios podrían hacer en sus instrucciones; los resultados demuestran respuestas deseables a esas solicitudes. Al ajustar las ponderaciones del modelo para que los resultados del LLM se parezcan a los ejemplos del conjunto de datos de instrucciones, el LLM "aprende" a responder a un mensaje como "muéstrame a hornear pan" agregando un texto con consejos reales para hornear pan.

De esta forma, el ajuste de instrucciones ayuda a cerrar la brecha entre el objetivo fundamental del modelo (la predicción de la siguiente palabra) y el objetivo del usuario de que el modelo siga instrucciones y realice tareas específicas. Esto hace que el comportamiento del modelo sea más útil y previsible.

Mixture of Experts | 12 de diciembre, episodio 85

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

¿Cómo funciona el ajuste de instrucciones?

El ajuste fino de los LLM en un conjunto de datos etiquetado de diversas tareas de seguimiento de instrucciones produce una mayor capacidad para seguir instrucciones en general, lo que reduce la cantidad de información en contexto necesaria para instrucciones efectivas. Los conjuntos de datos de instrucciones pueden ser creados por el hombre o generados por otro LLM.

Como se articuló en el influyente artículo de Google Research de 2022, "Finetuned Language Models are Zero-Shot Learners", el objetivo del ajuste de las instrucciones es mejorar la capacidad de los LLM para responder a las instrucciones del PLN. Para hacerlo, el ajuste de instrucciones "combina aspectos atractivos de los paradigmas de preentrenamiento y ajuste y de instrucciones". En esencia, al incorporar orgánicamente los principios de la ingeniería de instrucciones en el ajuste monitoreado, el ajuste de instrucciones reduce la cantidad de ingeniería de instrucciones y ejemplos de pocas tomas necesarios para obtener una respuesta útil y precisa del modelo ajustado.1

Cada muestra de entrenamiento en un conjunto de datos de instrucción consta de tres elementos:

  • Una instrucción: una entrada de texto en lenguaje natural que especifica una tarea determinada. Por ejemplo, “traduce esta oración del inglés al español”.
  • Información adicional: información opcional y complementaria que proporciona contexto relevante para la tarea en cuestión. Por ejemplo, una entrada para una tarea de comprensión lectora podría incluir un breve pasaje (y luego instruir al modelo para que responda una pregunta determinada al respecto).
  • Salida deseada: la salida objetivo (respuesta) para la instrucción dada, según las instrucciones y el contexto proporcionados. Esto servirá como una verdad fundamental contra la cual se evalúan y optimizan las predicciones del modelo.

El documento de Google señaló que la variante resultante de su modelo LaMDA-PT ajustada a las instrucciones, denominada FLAN (por F inetunedLanguage Net), experimentó las mayores mejoras en tareas que se articulan naturalmente como instrucciones, como traducción, respuesta a preguntas, comprensión de lectura e inferencia de lenguaje natural (NLI): la tarea de determinar si una "hipótesis" dada se deriva lógicamente de una "premisa" dada.

Para explicar esto, el artículo de FLAN señala una observación hecha por Brown, et al en el artículo de investigación publicado para el modelo GPT-3 original en 2020: una explicación de por qué los LLM preentrenados (sin un ajuste fino adicional) tienen dificultades con tareas como NLI es que es poco probable que los pasajes que se asemejan a una tarea NLI típica ocurran naturalmente en el corpus de datos no etiquetados empleados para el preentrenamiento autosupervisado.3 Por el contrario, para las tareas que se asemejan más al objetivo directo de modelado del lenguaje del preentrenamiento (como las tareas de razonamiento de sentido común que en última instancia requieren que el modelo complete una oración correctamente), las instrucciones son en gran medida redundantes (y, por lo tanto, el ajuste de las instrucciones imparte menos beneficios).

Quizás lo más importante es que el documento demostró que agregar tareas adicionales al conjunto de datos de ajuste de instrucciones mejoró el rendimiento del modelo ajustado a las instrucciones incluso en tareas novedosas que no estaban representadas en el conjunto de datos de instrucciones. Ahí radica el beneficio fundamental del ajuste de instrucciones: una mejora integral en la capacidad del modelo para seguir instrucciones en general.

Ajuste de instrucciones en comparación con ajuste multitarea

El documento de FLAN también incluyó un estudio de ablación que exploró si los beneficios aparentes del ajuste de las instrucciones se debían a las propias instrucciones o simplemente eran atribuibles al ajuste del modelo en múltiples tareas de PLN.  Para examinar el papel de las instrucciones en el ajuste, el estudio de ablación ajustó el modelo base en tres configuraciones diferentes:

  • Sin plantilla: solo se proporcionaron entradas y salidas al modelo. Por ejemplo, la entrada para una tarea de traducción sería “el perro corre” y la salida objetivo sería “le chien court”.

  • Nombre del conjunto de datos: cada entrada fue precedida por el nombre de la tarea y el conjunto de datos. En nuestro ejemplo de traducción, la entrada, extraída de la colección de conjuntos de datos WMT2014 4, sería
    “[Traducción:WMT 14 al francés] El perro corre”.

  • Instrucciones FLAN: lasentradas siguieron los principios de ajuste de instrucciones. Para este ejemplo de traducción, la entrada sería “Traduce esta oración al francés: 'El perro corre'.

Luego, el estudio de ablación midió los resultados de cada modelo de lenguaje ajustado en una seria de tareas de seguimiento de instrucciones de tiro cero. El modelo ajustado por instrucciones logró una precisión un 18% mayor que el modelo "sin plantilla" y una precisión un 8% mayor que el modelo "nombre del conjunto de datos". Esto indica que entrenar con las instrucciones en sí es crucial para mejorar el rendimiento de tiro cero en tareas invisibles.

Ajuste de la cadena de pensamiento (CoT)

Las preguntas de cadena de pensamiento (CoT) piden a un LLM que no sólo responda a una pregunta, sino que también justifique cómo llegó a esa respuesta. Esto puede lograrse mediante una serie de preguntas con ejemplos de razonamiento secuencial, o simplemente agregando "piensa paso a paso" al final de una pregunta. La investigación demostró que las instrucciones de CoT mejoran significativamente las capacidades de tiro cero de los grandes modelos en diversas tareas aritméticas, de razonamiento simbólico y otras tareas de razonamiento lógico.5 Wei, et al descubrieron que el ajuste de instrucciones que no incluye tareas de CoT en el conjunto de datos de instrucciones degrada significativamente el rendimiento del modelo en las evaluaciones de CoT, pero que la adición de conjuntos de datos de CoT mejora el rendimiento en todas las evaluaciones.6

Además, su investigación descubrió que el ajuste fino de las instrucciones en las tareas de CoT, tanto con como sin ejemplares de pocos tiros, aumenta la capacidad de un modelo para el razonamiento de CoT en un entorno de tiro cero. Una comprensión intuitiva de este beneficio sería que al ser ajustados para resolver un problema en pasos lógicos en lugar de saltar a una respuesta que simplemente parece lingüísticamente coherente, los modelos aprenden a producir y aplicar mejor sus propias habilidades de razonamiento.

Conjuntos de datos de ajuste de instrucciones

Existen varios conjuntos de datos con el fin de ajustar las instrucciones de los LLM, muchos de los cuales son de código abierto. Estos conjuntos de datos pueden incluir pares de lenguaje natural directamente escritos (o recopilados) (instrucción, salida), usar plantillas para convertir conjuntos de datos anotados existentes en instrucciones o incluso utilizar otros LLM para generar ejemplos.

Conjuntos de datos creados por humanos

Si bien la creación directa (instrucción, salida) de pares es sencilla, es un proceso laborioso que, en última instancia, implica una cantidad significativa de tiempo y costo. Se propusieron varios métodos para transformar conjuntos de datos de lenguaje natural en instrucciones, generalmente mediante la aplicación de plantillas. El lanzamiento de múltiples conjuntos de datos de código abierto creados por humanos ayudó a sufragar el costo del ajuste de los datos orgánicos.

Los principales conjuntos de datos de instrucciones de código abierto creados por humanos incluyen:

  • Flan: utilizado por primera vez para ajustar el modelo LaMDA-PT de Google, produciendo el modelo FLAN original, el conjunto de datos Flan se ha refinado desde entonces y utilizado para ajustar una serie de LLM. Los modelos destacados ajustados en Flan incluyen FLAN-T5, Flan-UL2 y Flan-PaLM 540B (también conocido como FLAN-T5-XXL).

  • OpenAssistant: OpenAssistant Conversations es un corpus de conversación multilingüe creado por humanos que se centra en intercambios de diálogo al estilo de un asistente. Consta de 91 829 instrucciones para los usuarios y 69 614 respuestas de asistentes extraídas de 66 497 árboles de conversación en 35 idiomas diferentes.

  • Dolly: Dolly es un conjunto de datos en inglés de 15 000 instancias de conversación generadas por humanos, diseñado para permitir que los LLM interactúen con los usuarios en patrones basados en el diálogo similares a ChatGPT. Abarca una amplia gama de tareas y comportamientos humanos, como la redacción de resúmenes, la extracción de información, la lluvia de ideas, la escritura creativa, la clasificación y la respuesta a preguntas.

Conjuntos de datos generados por LLM

Motivados por la cantidad prohibitiva de costos y mano de obra necesarios para generar manualmente instrucciones y resultados objetivo, muchos conjuntos de datos de instrucciones emplean las respuestas de LLM más grandes para generar instrucciones, resultados o ambos. El uso de conjuntos de datos generados por LLM a menudo tiene el efecto adicional de enseñar modelos más pequeños a emular el comportamiento de modelos más grandes, a veces en una dinámica deliberada de maestro/alumno.

  • Self-Instruct: Self-Instruct se construyó empleando InstructGPT, que a su vez es una versión ajustada a las instrucciones de GPT-3. Los autores proporcionaron "tareas semilla" en lenguaje natural y pidieron a InstructGPT que generara ejemplos adicionales, lo que finalmente produjo 52 000 instrucciones de entrenamiento. Los investigadores de la Universidad de Stanford emplearon un método de autoinstrucción modificado para generar datos de entrenamiento para Alpaca, la primera variante de LLaMA ajustada a las instrucciones. Cabe destacar que Alpaca superó ligeramente los puntos de referencia de InstructGPT en el conjunto de datos Self-Instruct.7

  • Evol-Instruct: como su nombre indica, Evol-Instruct propone una evolución a la metodología Self-Instruct, reescribiendo las instrucciones empleando estrategias profundas y amplias. El primero desarrolla instrucciones para aumentar la complejidad de estas a través de medidas como agregar restricciones, aumentar los pasos de razonamiento y complicar la entrada. Este último "muta" las instrucciones anteriores para aumentar la diversidad del conjunto de datos y la cobertura de temas. Evol-Instruct se introdujo en el documento de investigación de WizardLM, que detalla cómo se empleó Evol-Instruct para ajustar LLaMA.8

  • ShareGPT: ShareGPT.com contiene un repositorio generado por el usuario de sus intercambios con ChatGPT. Los investigadores detrás de Vicuna, un ajuste destacado de LLaMA, utilizaron 70 000 registros conversacionales de ShareGPT y adaptaron sus selecciones para conversaciones de varios turnos.9

  • OpenOrca: OpenOrca es una colección de datos aumentados de Flan Collection. Tiene como objetivo replicar el conjunto de datos utilizado por Microsoft para capacitar a Orca, que exploró una metodología enfocada explícitamente en optimizar el uso de modelos más grandes para refinar LLM más pequeños a través del aprendizaje de imitación.10

A medida que aumenta el poder de los LLM, la utilidad de los conjuntos de datos de ajuste de instrucciones generados por LLM se incrementó de manera similar. Un documento de 2023 replicó el paradigma de ajuste fino de Alpaca, que refinó LLaMA en las instrucciones generadas por InstructGPT, mientras repetía el proceso en paralelo utilizando GPT-4 para generar instrucciones. El modelo resultante, al que denominaron Llama-GPT4, superó significativamente los puntajes de "Utilidad" del equivalente de Alpaca y estuvo cerca de igualar al propio GPT-4 en las medidas de "Utilidad", "Honestidad" e "Inocuidad".11

Desafíos y limitaciones del ajuste de instrucciones

Aunque las técnicas de ajuste de instrucciones produjeron avances importantes en los LLM, queda trabajo por hacer para diversificar los conjuntos de datos de ajuste de instrucciones y aclarar completamente sus beneficios.

El principal desafío del ajuste de instrucciones es la creación de instrucciones de alta calidad para su uso en el ajuste. Los recursos necesarios para crear un conjunto de datos de instrucciones adecuadamente grande centralizaron la instrucción a un puñado de conjuntos de datos de código abierto, lo que puede tener el efecto de disminuir la diversidad del modelo. Aunque el uso de LLM patentados más grandes para generar instrucciones ayudó a reducir los costos, esto tiene la desventaja potencial de reforzar los sesgos y deficiencias de estos LLM patentados en todo el espectro de LLM de código abierto. Este problema se ve agravado por el hecho de que los modelos patentados a menudo, en un esfuerzo por eludir el sesgo intrínseco de los investigadores humanos, evalúan el rendimiento de modelos más pequeños.

A nivel técnico, algunos investigadores expresaron su preocupación de que el uso de modelos más grandes para mejorar modelos más pequeños pueda ayudar a los modelos más pequeños a imitar el estilo de los modelos más grandes, pero no su funcionalidad real. Un estudio empírico de 2023 sugirió que muchas de las impresionantes mejoras de rendimiento logradas mediante el ajuste de la instrucción pueden provenir de la detección de patrones superficiales, en lugar de una mejora más genuina en el razonamiento lógico.12

De manera similar, otros investigadores postularon que algunas mejoras notificadas pueden depender en cierta medida de la confianza en la evaluación del rendimiento del modelo ajustado a la instrucción en tareas demasiado relacionadas con las del conjunto de datos de entrenamiento de instrucción. A través de pruebas más específicas de instrucciones de modelos ajustados de esta manera, Gudibande et al. concluyeron que “la acción de mayor influencia para mejorar los modelos de código abierto es abordar el difícil desafío de desarrollar mejores modelos de lenguaje base, en lugar de tomar el atajo de imitar sistemas patentados”.13

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo