¿Qué hace útil a un agente de diálogo?

'¿Qué hace útil a un agente de diálogo?' - 'What makes a dialogue agent useful?'

Las técnicas detrás de ChatGPT: RLHF, IFT, CoT, Red teaming y más

Este artículo ha sido traducido al chino 简体中文 .

Hace algunas semanas, ChatGPT surgió y llevó la discusión pública a un conjunto de acrónimos oscuros: RLHF, SFT, IFT, CoT y más, todos atribuidos al éxito de ChatGPT. ¿Qué significan estos acrónimos oscuros y por qué son tan importantes? Hemos revisado todos los documentos importantes sobre estos temas para categorizar estos trabajos, resumir las conclusiones de lo que se ha hecho y compartir lo que falta por mostrar.

Comencemos analizando el panorama de los agentes conversacionales basados en modelos de lenguaje. ChatGPT no es el primero, de hecho, muchas organizaciones publicaron sus agentes de diálogo basados en modelos de lenguaje antes que OpenAI, incluyendo BlenderBot de Meta, LaMDA de Google, Sparrow de DeepMind y Assistant de Anthropic (un desarrollo continuo de este agente sin atribución perfecta también conocido como Claude). Algunos grupos también han anunciado sus planes de construir un chatbot de código abierto y han compartido públicamente una hoja de ruta (Open Assistant de LAION); otros seguramente lo están haciendo y no lo han anunciado.

La siguiente tabla compara estos chatbots de IA en función de los detalles de su acceso público, datos de entrenamiento, arquitectura del modelo y direcciones de evaluación. ChatGPT no está documentado, por lo que en su lugar compartimos detalles sobre InstructGPT, que es un modelo afinado por instrucciones de OpenAI que se cree que ha servido como base de ChatGPT.

Observamos que aunque hay muchas diferencias en los datos de entrenamiento, el modelo y el ajuste fino, también hay algunas similitudes. Un objetivo común para todos los chatbots mencionados anteriormente es seguir instrucciones, es decir, seguir instrucciones especificadas por el usuario. Por ejemplo, instruir a ChatGPT para que escriba un poema sobre el ajuste fino.

**********************************************************************************************Desde el texto de predicción hasta seguir instrucciones:**********************************************************************************************

Por lo general, el objetivo de modelado del lenguaje del modelo base no es suficiente para que el modelo aprenda a seguir las indicaciones del usuario de manera útil. Los creadores del modelo utilizan Ajuste Fino por Instrucción (IFT), que implica el ajuste fino del modelo base mediante demostraciones de instrucciones escritas en un conjunto muy diverso de tareas, además de tareas clásicas de PNL como el sentimiento, clasificación de texto, resumen, etc. Estas demostraciones de instrucciones se componen de tres componentes principales: la instrucción, las entradas y las salidas. Las entradas son opcionales, algunas tareas solo requieren instrucciones como la generación abierta como en el ejemplo anterior con ChatGPT. Una entrada y una salida, cuando están presentes, forman una instancia . Puede haber múltiples instancias de entradas y salidas para una instrucción dada. A continuación se muestran ejemplos (tomados de [Wang et al., ’22]).

Los datos para IFT suelen ser una colección de instrucciones escritas por humanos e instancias de instrucciones creadas mediante un modelo de lenguaje. Para la creación de instancias, se le da una indicación al modelo de lenguaje (como se muestra en la figura anterior) en un entorno de aprendizaje con pocas muestras con ejemplos y se le indica que genere nuevas instrucciones, entradas y salidas. En cada ronda, el modelo recibe indicaciones de muestras elegidas tanto de las escritas por humanos como de las generadas por el modelo. La cantidad de contribuciones humanas y del modelo para crear el conjunto de datos varía; consulte la figura a continuación.

En un extremo se encuentra el conjunto de datos de IFT generado puramente por el modelo, como Unnatural Instructions (Honovich et al., ’22) y en el otro extremo se encuentra un gran esfuerzo comunitario de instrucciones creadas manualmente, como Super-natural instructions (Wang et al., ’22). En el medio se encuentran trabajos que utilizan un pequeño conjunto de datos de inicio de alta calidad seguido de una creación de instancias, como Self-instruct (Wang et al., ’22). Otra forma de recopilar un conjunto de datos para IFT es tomar los conjuntos de datos de PNL de alta calidad generados por la comunidad en varias tareas (incluida la generación de indicaciones) y utilizar una estructura unificada o plantillas diversas para convertirlos en instrucciones. Esta línea de trabajo incluye T0 (Sanh et al., ’22), Natural instructions dataset (Mishra et al., ’22), el LM FLAN (Wei et al., ’22) y el OPT-IML (Iyer et al., ’22).

Seguir instrucciones de manera segura

Los modelos de lenguaje ajustados por instrucción, sin embargo, no siempre generan respuestas que sean ********útiles******** y **********seguras**********. Ejemplos de este tipo de comportamiento incluyen ser evasivo al dar siempre una respuesta inútil como “Lo siento, no entiendo.” o generar una respuesta no segura a las entradas del usuario sobre un tema sensible. Para mitigar este tipo de comportamiento, los desarrolladores del modelo utilizan Ajuste Fino Supervisado (SFT), es decir, ajustar finamente el modelo de lenguaje base mediante datos de alta calidad anotados por humanos en cuanto a utilidad y seguridad. Por ejemplo, consulte la tabla a continuación tomada del artículo de Sparrow (Apéndice F).

SFT e IFT están muy estrechamente vinculados. La afinación de instrucciones puede considerarse como un subconjunto de la sintonización fina supervisada. En la literatura reciente, la fase de SFT se ha utilizado a menudo para temas de seguridad, en lugar de temas específicos de instrucción, que se realiza después de IFT. En el futuro, esta taxonomía y delimitación deberían madurar en casos de uso y metodología más claros.

La LaMDA de Google también se ajusta mediante un conjunto de datos de diálogo con anotaciones de seguridad basadas en un conjunto de reglas (Apéndice A). Estas reglas suelen ser predefinidas y desarrolladas por los creadores del modelo y abarcan una amplia variedad de temas, incluyendo daño, discriminación, desinformación.

Ajuste fino de los modelos

Por otro lado, InstructGPT de Open AI, Sparrow de DeepMind y Constitutional AI de Anthropic utilizan anotaciones humanas de preferencias en una configuración llamada aprendizaje por refuerzo a partir de retroalimentación humana (RLHF). En RLHF, un conjunto de respuestas del modelo se clasifica según la retroalimentación humana (por ejemplo, elegir un fragmento de texto que se prefiere sobre otro). A continuación, se entrena un modelo de preferencias en esas respuestas anotadas para devolver una recompensa escalar para el optimizador de RL. Por último, el agente de diálogo se entrena para simular el modelo de preferencias mediante aprendizaje por refuerzo. Consulta nuestra publicación de blog anterior sobre RLHF para obtener más detalles.

La generación de pensamiento en cadena (CoT) (Wei et al., ’22) es un caso especial de demostración de instrucciones que genera una salida mediante la obtención de razonamientos paso a paso del agente de diálogo. Los modelos ajustados con CoT utilizan conjuntos de datos de instrucciones con anotaciones humanas de razonamiento paso a paso. Es el origen de la famosa instrucción, **************************pensemos paso a paso**************************. El ejemplo a continuación se toma de Chung et al., ’22. El color naranja resalta la instrucción, el color rosa muestra la entrada y la salida, y el color azul es el razonamiento CoT.

Los modelos ajustados con CoT han demostrado un rendimiento mucho mejor en tareas que involucran sentido común, aritmética y razonamiento simbólico, como se muestra en Chung et al., ’22.

El ajuste fino de CoT también ha demostrado ser muy efectivo para evitar daños (a veces mejor que RLHF) sin que el modelo evada y genere respuestas como “Lo siento, no puedo responder a esta pregunta”, para instrucciones sensibles, como muestra Bai et al., ’22. Consulta el Apéndice D de su artículo para obtener más ejemplos.

Conclusiones:

  1. Solo se necesita una fracción muy pequeña de datos para el ajuste fino de instrucciones (del orden de unos pocos cientos) en comparación con los datos de preentrenamiento.
  2. El ajuste fino supervisado utiliza anotaciones humanas para hacer que las salidas del modelo sean más seguras y útiles.
  3. El ajuste fino de CoT mejora el rendimiento del modelo en tareas que requieren pensamiento paso a paso y evita evasivas en temas sensibles.

Próximos pasos para los agentes de diálogo

Este blog resume gran parte del trabajo existente sobre lo que hace que un agente de diálogo sea útil. Pero aún hay muchas preguntas abiertas que deben explorarse. Enumeramos algunas de ellas aquí.

  1. ¿Qué tan importante es el RL en el aprendizaje a partir de la retroalimentación humana? ¿Podemos obtener el rendimiento de RLHF con el entrenamiento en datos de mayor calidad en IFT o SFT?
  2. ¿Cómo se compara SFT+RLHF, como en Sparrow, con el uso solo de SFT, como en LaMDA, para la seguridad?
  3. ¿Cuánto preentrenamiento es necesario, dado que tenemos IFT, SFT, CoT y RLHF? ¿Cuáles son las compensaciones? ¿Cuáles son los mejores modelos base que las personas deben usar (tanto los disponibles públicamente como los que no)?
  4. Muchos de los modelos mencionados en este artículo han sido cuidadosamente diseñados con pruebas de penetración, donde los ingenieros buscan específicamente modos de falla e influyen en el entrenamiento futuro (instrucciones y métodos) en función de los problemas revelados. ¿Cómo registramos sistemáticamente los efectos de estos métodos y los reproducimos?

PD: Por favor, avísanos si encuentras alguna información faltante o incorrecta en este blog.

****************Cita****************

Rajani et al., "Lo que hace que un agente de diálogo sea útil?", Hugging Face Blog, 2023.

Cita en formato BibTeX:

@article{rajani2023ift,
  author = {Rajani, Nazneen and Lambert, Nathan and Sanh, Victor and Wolf, Thomas},
  title = {Lo que hace que un agente de diálogo sea útil?},
  journal = {Hugging Face Blog},
  year = {2023},
  note = {https://huggingface.co/blog/dialog-agents},
}

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

De Experimentos 🧪 a Despliegue 🚀 MLflow 101 | Parte 01

Imagínate esto tienes una nueva idea de negocio y los datos que necesitas están a tu alcance. Estás emocionado/a por ...

Inteligencia Artificial

Mejorando la evaluación del diseño de ingeniería a través de métricas integrales para modelos generativos profundos

En el diseño de ingeniería, la dependencia de los modelos generativos profundos (DGMs) ha aumentado en los últimos añ...

Ciencias de la Computación

Un algoritmo para películas de proteínas más nítidas

Los investigadores han creado un algoritmo para analizar con mayor precisión el movimiento ultra rápido de las proteí...

Ciencia de Datos

Extensiones de AI para Chrome para la hoja de trucos de científicos de datos

La última hoja de trucos de Zepes te presenta una impresionante variedad de herramientas y recursos avanzados diseñad...

Inteligencia Artificial

El Cuadro de Búsqueda de Google Cambió el Significado de la Información

La búsqueda en la web prometía resolver preguntas. En cambio, trajo consigo un apocalipsis suave de la verdad.

Inteligencia Artificial

Equipo de robots en gira de exploración lunar

Un equipo suizo ha propuesto enviar equipos de robots complementarios en misiones exploratorias a la Luna en lugar de...