Pruebe nuestro LLM ECOChat
Pruebe nuestro LLM ECOChat
Featured Image

8 minutos de lectura

26/09/2023

¿Qué es el aprendizaje por refuerzo con retroalimentación humana (RLHF) y cómo funciona?

El aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF) es un tema muy candente para todos los que trabajamos en el ámbito de la Inteligencia Artificial (IA). En esencia, todos los que han estado expuestos a algún tipo de reentrenamiento de traducción automática, ya sea offline u online, están bastante familiarizados con el concepto y los procedimientos. Esto ha dado lugar a una transferencia masiva de talento que aprovecha su experiencia en traducción automática como tarea de PLN para el ajuste fino de grandes modelos lingüísticos (LLM). En este artículo describiremos en lenguaje sencillo qué es el aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF) y cómo funciona, estableciendo paralelismos con la traducción automática y señalando algunas aplicaciones prácticas del mundo real.

Conceptos básicos: Qué es el aprendizaje por refuerzo

El aprendizaje por refuerzo es una rama del aprendizaje automático en la que un algoritmo ("el agente") aprende a comportarse de una manera determinada dentro de un entorno realizando ciertas acciones y recibiendo recompensas o castigos en respuesta a esas acciones. El aprendizaje por refuerzo pretende resolver un problema de varios niveles por ensayo y error. El objetivo es que el agente aprenda a tomar decisiones para maximizar una recompensa acumulativa a lo largo del tiempo. Si lo pensamos, así es como aprendemos los humanos, de modo instintivo. Lo llamamos "aprender de la experiencia" o "ensayo y error" y así sabemos a los seis o siete años que una sartén, un radiador o un horno están calientes y no debemos tocarlos del todo sin asegurarnos de que están apagados o, al menos, de que no queman.

Sabemos que al estar al borde de algo, podríamos caer. Las máquinas se entrenan en escenarios de la vida real para tomar una secuencia de decisiones.

Por ejemplo, imagina un juego en el que un pequeño robot (que por definición no es una máquina pensante) debe encontrar una salida en un laberinto. Cada vez que el robot toma una decisión correcta y se acerca a la salida, recibe una recompensa positiva. Pero si toma una decisión que lo aleja de la salida, entonces recibe un castigo (recompensa negativa). Tarde o temprano, el robot aprenderá la estrategia óptima para salir del laberinto basándose en las recompensas o castigos que ha experimentado. Imagina que este robot tiene una aspiradora adherida, con varios dispositivos de detección de proximidad para mapear tu casa mientras la limpia. Dale tiempo y conocerá tu casa, tus paredes y la ruta óptima de limpieza. 

Ese es el concepto básico del Aprendizaje por Refuerzo: aprender a través de la experiencia y retroalimentación. 

Para hacer el concepto más familiar a las personas en la industria de servicios de traducción: piensa en un motor de traducción automática que se alimenta constantemente (o con frecuencia) con más datos de traducciones de videojuegos. Puede que sea lo suficientemente bueno el primer día pero no encuentre la terminología o el estilo que nos gusta, cometiendo algunos errores en el camino. Con suficiente material, empezará a aprender lo que preferimos. El aprendizaje por refuerzo se aplica a muchas más áreas dentro del Aprendizaje Automático: visión por computadora, OCR, clasificación de datos, etc. 

Ahora, incorporemos la Retroalimentación Humana... 

Ahora que sabemos qué es el Aprendizaje por Refuerzo, agreguemos humanos en el proceso de retroalimentación. Una definición estándar de RLHF es que el Aprendizaje por refuerzo a partir de la Retroalimentación Humana (RLHF) es un enfoque de aprendizaje automático que combina técnicas de aprendizaje por refuerzo, como recompensas y castigos, con orientación humana para entrenar a un agente de inteligencia artificial (IA). 

El RLHF funciona entrenando primero un "modelo de recompensa" directamente a partir de los comentarios humanos. El modelo de recompensa es una función que toma el resultado de un agente (el resultado del algoritmo) y predice lo bueno o malo que es, es decir, estima su calidad. Una vez entrenado el modelo de recompensa, puede utilizarse para entrenar al agente mediante el aprendizaje por refuerzo. 

Este "modelo de recompensa" que se entrena directamente a partir de la retroalimentación humana es responsable de determinar la función de recompensa para optimizar la política del agente utilizando algoritmos de aprendizaje por refuerzo, como la Optimización de Políticas Proximales.

Por lo tanto, ahora tenemos un sistema que utiliza las elecciones humanas y lo que los humanos prefieren para guiar cómo y qué va a aprender el agente. Esto potencialmente proporciona más "peso" a las opciones similares a las humanas. 

Se trata, en efecto, de una cuestión de ensayo y error mediante la interacción con el entorno y la observación de las recompensas o penalizaciones recibidas por sus acciones (¡y de galleta/no galleta si fuera un perro!). 

 

Leer más: AutoML y autoentrenamiento de LLM: Mantener la privacidad de los datos en la revolución de la IA

 

 

Componentes clave del aprendizaje por refuerzo 

Recapitulemos los conceptos clave antes de profundizar en mo funciona el RLHF: 

  1. Agente: el algoritmo o máquina que toma acciones que afectan al entorno. Por ejemplo, si estás construyendo una máquina para jugar al Go, al póquer o al ajedrez, la máquina que aprende a jugar es el agente. 

  2. Estado: la observación del entorno por parte del agente.

  3. Acción: la decisión o acción tomada por el agente en el entorno basada en su observación.

  4. Entorno: Cada acción que realiza el agente de RF afecta directamente al entorno. En este caso, el tablero de Go es un entorno. La baraja de cartas o el tablero de ajedrez son entornos. El entorno toma el estado actual del agente (la observación) y la acción como información y devuelve la recompensa al agente con un nuevo estado. 

    Esto es muy importante porque el entorno puede haber cambiado como resultado de la acción del agente. 

    Por ejemplo, la carta jugada o cogida por el sistema, la pieza movida en Go o en una partida de ajedrez, la detección de una pelota o de un niño en un coche autoconducido cambian necesariamente el escenario y tendrán un efecto negativo/positivo en toda la situación. Potencialmente, el juego podría haber cambiado, así como la disposición de las piezas en el tablero. Una pelota o un niño en la carretera deberían desencadenar una serie de decisiones. De hecho, el movimiento, la presencia decidirá la siguiente acción y estado en el camino, el juego o el tablero. 

    Go game

  5. Recompensa: Es la retroalimentación que recibe el agente del entorno tras realizar una acción. Las recompensas pueden ser positivas o negativas (para acciones no deseadas) y no necesariamente proceder de los humanos. Hay muchos escenarios en los que podemos querer que la máquina aprenda por sí misma. En estos casos, el único crítico que guía el proceso de aprendizaje es la retroalimentación/recompensa que recibe. 

  6. Política: una estrategia que define cómo el agente selecciona acciones dadas su estado actual, con el objetivo de maximizar la recompensa acumulativa total.

  7. Recompensa: Es la retroalimentación que recibe el agente del entorno después de realizar una acción. Las recompensas pueden ser positivas o negativas (para acciones no deseadas) y no necesariamente provienen de humanos. Hay muchos escenarios en los que quisiéramos que la quina aprenda por sí sola. En estos casos, el único crítico que guía el proceso de aprendizaje es la retroalimentación/recompensa que recibe.

  8. Factor de descuento: Con el tiempo, el factor de descuento modifica la importancia de los incentivos. Dada la incertidumbre del futuro, es mejor añadir varianza a las estimaciones de valor. El factor de descuento ayuda a reducir el grado en que las recompensas futuras afectan nuestras estimaciones de función de valor.

  9. Valor-Q o valor-acción: El Valor-Q es una medida de la recompensa esperada total si el agente se encuentra en un estado y realiza una acción, y luego juega hasta el final del episodio según alguna política. 

Como pueden comenzar a ver, puede haber numerosas aplicaciones en entornos industriales y de desarrollo donde el Aprendizaje por Refuerzo tiene completo sentido y se convierte en una opción muy atractiva debido a su capacidad para aprender por sí mismo. 

¿Cómo funciona el Aprendizaje por Refuerzo con Retroalimentación Humana (RLHF)? 

En una configuración típica de aprendizaje por refuerzo, en primer lugar se entrena un "modelo de recompensa" directamente a partir de la retroalimentación humana. El agente comienza en un estado inicial y realiza acciones de acuerdo con su política. El entorno responde a las acciones del agente proporcionándole recompensas y actualizando el estado. Este modelo de recompensa está entrenado para predecir cuánto recompensaría un humano a un agente por una acción o comportamiento determinado. El modelo de recompensa se puede utilizar para entrenar al agente mediante el aprendizaje por refuerzo. 

Luego, el agente actualiza su política en función de las recompensas observadas y el nuevo estado, y el proceso continúa hasta que se cumple una condición de terminación: el coche ha llegado a su destino, jaque mate, condiciones óptimas para maximizar la venta de acciones, etc. 

Una diferencia clave al agregar retroalimentación humana en el Aprendizaje por Refuerzo es que el agente aprende a maximizar las recompensas predichas por el modelo de recompensa. Esto permite que el agente aprenda directamente de la retroalimentación humana sin tener que definir explícitamente una función de recompensa, por ejemplo, el esfuerzo consiste en hacer coincidir las preferencias y elecciones humanas que pueden no ser exactamente las elecciones "óptimas" clasificadas automáticamente. El resultado es siempre una salida y un comportamiento s "humanos". 

El proceso de entrenamiento para RLHF generalmente consta de tres pasos básicos. 

  1. Preentrenamiento de un modelo de lenguaje (LM): El modelo inicial se entrena previamente en un gran corpus de datos de texto.

  2. Recopilación de datos y entrenamiento de un modelo de recompensa: Los comentarios de los humanos se recogen pidiéndoles que clasifiquen instancias del comportamiento del agente. Estas clasificaciones pueden utilizarse para puntuar los resultados, por ejemplo, con el sistema de clasificación Elo. Otros tipos de feedback humano que proporcionan información más rica son el feedback numérico, el feedback en lenguaje natural, el índice de edición, etc.

  3. Ajuste del modelo lingüístico mediante aprendizaje por refuerzo: El modelo lingüístico preentrenado se ajusta utilizando el modelo de recompensa como función de recompensa, optimizando la política del agente.

El RLHF se ha aplicado a varios ámbitos del procesamiento del lenguaje natural, como los agentes conversacionales, el resumen de textos y la comprensión del lenguaje natural. Ha permitido que los modelos lingüísticos se alineen con valores humanos complejos y mejoren su rendimiento en tareas especificadas por el usuario. 

Algoritmos de aprendizaje por refuerzo 

Existen varios algoritmos de aprendizaje por refuerzo, como Q-Learning, SARSA y Deep Q Network (DQN), que difieren en sus enfoques para el aprendizaje de la política óptima, ¡¡¡pero esos serán objeto de otro artículo!!! 

Aplicaciones prácticas del aprendizaje por refuerzo 

Ahora sabemos que el aprendizaje por refuerzo permite a los agentes (algoritmos) aprender cómo comportarse en un entorno por ensayo y error. Estos agentes de IA pueden realizar una amplia gama de tareas, entre las que se incluyen: 

  • Tareas de procesamiento del lenguaje natural, como traducción automática, resumen de textos y respuesta a preguntas. 

  • Tareas de robótica, como agarrar objetos y desplazarse por entornos complejos. 

  • Tareas de juego 

RLHF es una potente técnica que puede utilizarse para entrenar a agentes de IA para que realicen una amplia gama de tareas, y es probable que desempeñe un papel cada vez más importante en el desarrollo de sistemas de IA en el futuro. 

Veamos dos ejemplos de cómo puede utilizarse RLHF en tareas muy sencillas. 

Cómo entrenar un chatbot con RLHF:

Se entrena un modelo de recompensa para predecir cuánto recompensaría un humano al chatbot por una respuesta determinada. El modelo de recompensa se entrena en un conjunto de datos de retroalimentación humana, donde los humanos califican la calidad de las respuestas del chatbot. 

  • El chatbot se inicializa con una política aleatoria. 

  • El chatbot interactúa con el usuario humano y recibe retroalimentación sobre sus respuestas. 

  • El chatbot utiliza el modelo de recompensa para actualizar su política en función de la retroalimentación recibida. 

  • Los pasos 3 y 4 se repiten hasta que el chatbot es capaz de generar respuestas de alta calidad de manera consistente. 

Cómo entrenar un chatbot para generar formatos de texto creativos: 

Se recopila un gran conjunto de datos de formatos de texto creativos. Esto pueden ser libros, novelas, documentos específicos de la profesión jurídica o documentación técnica. 

  • Se entrena un modelo de recompensa en este conjunto de datos para predecir qué tan bueno o malo es un formato de texto creativo determinado. 

  • El chatbot se inicializa con una política aleatoria para generar formatos de texto creativos. 

  • El chatbot interactúa con el modelo de recompensa generando formatos de texto creativos y recibiendo recompensas. 

  • La política del chatbot se actualiza utilizando el aprendizaje por refuerzo para maximizar su recompensa esperada. 

  • Los pasos 4 y 5 se repiten hasta que el chatbot es capaz de generar formatos de texto creativos que son constantemente calificados como de alta calidad por los humanos. 

Escenarios de usuario para RLHF 

El Aprendizaje por Refuerzo es una herramienta poderosa que puede utilizarse para resolver una amplia gama de problemas del mundo real. Aunque aún es una tecnología relativamente nueva, está desarrollándose rápidamente y tiene el potencial de revolucionar muchas industrias y la forma en que entrenamos a los agentes de IA. 

  • Manufactura industrial: El Aprendizaje por Refuerzo se utiliza para entrenar robots para realizar tareas complejas en entornos industriales, como el trabajo en líneas de ensamblaje y la atención de máquinas. Esto puede ayudar a reducir costos laborales, mejorar la calidad del producto y reducir el tiempo de inactividad

  • Coches autónomos: El Aprendizaje por Refuerzo se utiliza para entrenar coches autónomos para navegar en la carretera y tomar decisiones en tiempo real. Esto puede contribuir a mejorar la seguridad y eficiencia.

    Self-driving cars are one of the star applications where Reinforced Learning with Human Feedback (RLHF) helps machines learn from human experiences and take its own decisions.
  • Comercio y finanzas: El Aprendizaje por Refuerzo se emplea para entrenar algoritmos para tomar decisiones de trading. Esto puede ayudar a mejorar los rendimientos y reducir el riesgo.

  • Procesamiento de lenguaje natural (PLN): El Aprendizaje por Refuerzo se utiliza para entrenar modelos de PLN para realizar tareas como responder preguntas (los chatbots mencionados anteriormente), resumir y traducir. Esto puede mejorar el rendimiento de chatbots y otras aplicaciones de PLN.

  • Salud: El Aprendizaje por Refuerzo se está utilizando para desarrollar nuevos métodos para diagnosticar y tratar enfermedades. Por ejemplo, se está usando para entrenar robots para realizar cirugías y desarrollar planes de tratamiento personalizados para pacientes.

Limitaciones del Aprendizaje por Refuerzo con Retroalimentación Humana 

El RLHF es una técnica poderosa para entrenar agentes de IA, pero tiene algunas limitaciones. Una de ellas es que requiere retroalimentación humana para entrenar el modelo de recompensa. Recopilar esta información puede ser costoso y llevar mucho tiempo. Escalar el proceso para entrenar modelos más grandes y sofisticados es muy intensivo en tiempo y recursos debido a la dependencia de la retroalimentación humana. 

Además, el RLHF puede ser difícil de implementar y ajustar. Las técnicas para automatizar o semi-automatizar el proceso de retroalimentación pueden ayudar a abordar este desafío.