Reward hacking, problema inherente de la IA avanzada sin solución estructural

Historia

En los inicios de los LLMs, estos se entrenaban solo con aprendizaje semisupervisado prediciendo el siguiente token en gigantescos corpus de texto de Internet. Este paradigma permitía al modelo aprender gramática, hechos y estructuras lingüísticas complejas, pero carecía de capacidad de acción. El modelo simplemente replicaba los patrones estadísticos de los datos de entrenamiento.

Para crear modelos que hicieran tareas, se introdujo el aprendizaje supervisado (SFT), entrenando al modelo con demostraciones de alta calidad en formato de pregunta-respuesta. Esto mejoró drásticamente la estructura de las respuestas pero el SFT se limita a imitar de forma rígida los datos de entrenamiento, sin capacidad intrínseca para generalizar a otras acciones.

Para superar estas limitaciones, la industria adoptó el aprendizaje por refuerzo para el ajuste posterior de los LLMs. En este paradigma, el modelo (la política) explota el espacio de generación mientras una función de recompensa (un modelo de recompensa o reward model entrenado con preferencias humanas o con recompensas automáticas como en código o matemáticas) evalúa la calidad de la salida. Este cambio de optimizar la probabilidad del texto a optimizar una métrica de calidad abrió la puerta a comportamientos emergentes sofisticados, pero también introdujo el reward hacking: el modelo aprende a explotar las imperfecciones matemáticas del estimador de recompensa (la función de recompensa estimada sobre los datos de entrenamiento). Existen artículos interesantes sobre el tema, como este análisis teórico y este estudio desde el punto de vista de los agentes.

Definición

La función de recompensa real es la especificación ideal e inalcanzable de los deseos u objetivos humanos y la función de recompensa proxy es el sustituto computable, imperfecto y finito que utilizamos para aproximar la función real durante el entrenamiento.

Formalmente, el objetivo del entrenamiento por refuerzo es encontrar una política que maximice la recompensa esperada según el modelo proxy, donde x es la entrada e y la salida del modelo.

π∗=arg⁡maxπ⁡Ex∼D,y∼π(x)[Rproxy(x,y)]\pi^* = \arg\max_\pi E_{x \sim D, y \sim \pi(x)} [R_{proxy}(x, y)]

El reward hacking se manifiesta cuando la optimización de la política progresa de forma que la recompensa real decae mientras que la recompensa proxy sigue aumentando de forma óptima:

ΔEx∼D,y∼π(x)[Rproxy(x,y)]>0∧ΔEx∼D,y∼π(x)[Rreal(x,y)]<0\Delta {E}_{x \sim {D}, y \sim \pi(x)} [R_{proxy}(x, y)] > 0 \quad \wedge \quad \Delta {E}_{x \sim {D}, y \sim \pi(x)} [R_{real}(x, y)] < 0

Esto implica que la política ha encontrado un punto fuera de la distribución de entrenamiento donde explota un error de aproximación de la función de recompensa proxy.

Las causas son una compresión de la función proxy, ya que cualquier función proxy es una simplificación de la verdadera función de recompensa, y la presión y adaptación del optimizador, ya que los algoritmos de optimización (como PPO o DPO) usados en aprendizaje por refuerzo pueden encontrar cualquier grieta en la función objetivo.

El salto del entorno estático a los agentes autónomos en entornos complejos

Si este problema ya se da en entornos estáticos, con retroalimentación inmediata y sin un entorno de actuación, el paso a a entornos con agentes autónomos lo hace mucho más grave. En un entorno complejo con agentes autónomos hay una serie de características que hacen que el reward hacking sea mucho mayor:

  • Espacio de acciones mucho mayor con llamadas a APIs, acceso a bases de datos, interacciones entre agentes.
  • Retroalimentación retardada tras múltiples acciones.
  • Modifica activa del entorno, creando bucles de retroalimentación imprevistos.

Soluciones adaptadas a cada caso

Las soluciones, además de centradas en el proceso de aprendizaje por refuerzo como mejorar la función de recompensa o penalización por divergencia, deben focalizarse en el entorno de despliegue y seguir un ciclo de prevención-detección-reacción. Por ejemplo, para agentes de ciberseguridad, como prevención, tener una sandbox aislado de Internet o con conexiones controladas, como detección, detectar todas las nuevas conexiones, llamadas a herramientas, configuraciones, interacción entre agentes y como reacción, parar el agente en caso de haber detectado conexiones o el uso de herramientas no permitidas.

Deja una respuesta

Orgullosamente ofrecido por WordPress | Tema: Baskerville 2 por Anders Noren.

Subir ↑