- Reinforcement Learning from Human Feedback (RLHF) es la tercera (y última) gran etapa del entrenamiento de los LLM después del pretraining y del supervised finetuning (SFT)
- Mi opinión sobre RLHF es que solo es una parte de RL, y esto no es algo ampliamente conocido
- En realidad, a RLHF le falta bastante para llamarlo RL (aprendizaje por refuerzo) de verdad
- Por ejemplo, AlphaGo fue entrenado con RL real, y si hubiera sido entrenado con RLHF no habría logrado los resultados que tiene hoy
- ¿Qué habría pasado si AlphaGo hubiera sido entrenado con RLHF?
- Se les mostrarían dos estados del tablero de Go a evaluadores humanos y se les pediría elegir cuál es mejor
- Se recopilarían unas 100 mil comparaciones como estas, y se entrenaría una red neuronal "Reward Model" (RM, modelo de recompensa) para imitar la evaluación humana (Vibe Check)
- Después se haría RL con ese modelo de recompensa como referencia para aprender movimientos que reciban buenas evaluaciones
- Pero esto probablemente no habría producido resultados significativos en Go
- Dos razones principales por las que RLHF no es adecuado para AlphaGo
- Primero, el vibe puede ser engañoso. Esa recompensa no es la recompensa real de ganar, sino un objetivo proxy inexacto
- Segundo, durante el proceso de optimización con RL es muy probable que el modelo de recompensa otorgue puntajes altos a estados anómalos fuera del rango de los datos de entrenamiento, distorsionando la optimización
- El RM es una red neuronal grande con miles de millones de parámetros que imita el vibe
- Problemas al aplicar RLHF a los LLM
- El modelo de recompensa de un LLM también tiende a dar puntajes altos a respuestas que probablemente les gusten a evaluadores humanos
- Ese modelo de recompensa no está resolviendo el problema "real", sino evaluando un objetivo proxy: respuestas que parecen agradarle a la gente
- No se puede ejecutar RLHF durante demasiado tiempo, porque el modelo aprende rápidamente a responder de formas que engañan al modelo de recompensa
- Se puede ver que un asistente LLM empieza a responder con cosas extrañas como "The the the the the the"
- Aunque parezca ridículo, el RM considera que eso es excelente
- Encontró ejemplos adversariales en regiones fuera del rango de datos de entrenamiento del RM
- Por estas razones, RLHF no puede ejecutarse durante demasiados pasos de optimización, y después de unos cientos o miles de pasos hay que detenerlo porque la optimización empieza a engañar al RM
- Esto no es RL como el de AlphaGo
- Por qué RLHF sigue siendo útil para construir asistentes LLM
- RLHF se beneficia de la brecha entre Generator (generador) y Discriminator (discriminador)
- Es decir, en muchos tipos de problemas, para un evaluador humano es mucho más fácil elegir la mejor respuesta entre varias candidatas que escribir una respuesta ideal desde cero
- Un buen ejemplo es un prompt como "genera un poema sobre un clip", donde resulta más fácil escoger un buen poema entre varias opciones
- RLHF es una forma de aprovechar esa brecha de "facilidad" en la supervisión humana
- Además, RLHF también es útil para reducir las alucinaciones (generación de información incorrecta)
- Si el RM es lo bastante potente como para detectar durante el entrenamiento cuando el LLM se inventa algo, puede aprender a penalizarlo con una recompensa baja y enseñarle al modelo a no arriesgarse con hechos de los que no está seguro
- Pero las alucinaciones y cómo mitigarlas de forma satisfactoria son un tema completamente distinto
- En conclusión, "RLHF es útil, pero no es RL real"
- Hasta ahora no hay casos convincentes en los que se haya logrado y demostrado de forma escalable un RL "real" a nivel de producción en LLM dentro de dominios abiertos
- También por intuición, obtener recompensas reales en resolución de problemas de dominio abierto (es decir, algo como ganar un juego) es muy difícil
- Sí resulta interesante en entornos cerrados y similares a juegos como Go, donde la dinámica está restringida y la función de recompensa es fácil de evaluar y no se puede engañar
- Por ejemplo, ¿cómo se podría dar una recompensa objetiva a tareas como resumir documentos, responder preguntas algo ambiguas, hacer chistes o reescribir código Java en Python?
- En principio, el camino hacia eso no es imposible, pero tampoco es trivial y requiere pensamiento creativo
- Quien resuelva este problema de forma convincente podrá ejecutar RL real
- Del tipo de RL que permitió que AlphaGo venciera a humanos en Go
- Quien resuelva este problema podrá crear un LLM que supere a los humanos en resolución de problemas de dominio abierto
1 comentarios
Opiniones de Hacker News
Los asistentes de programación con IA mejorarán enormemente en los próximos años
Un método casero y barato, similar a RLHF, consiste en ajustar finamente el modelo para añadir una puntuación a la salida
El problema de que varios algoritmos de ML "hagan trampa" con la función de recompensa es similar a los problemas de finanzas y economía
Karpathy sabe mucho más sobre este tema, pero da la impresión de que a esta publicación le falta algo
Me pregunto cuál es la "brecha" entre los LLM actuales basados en transformers y la predicción óptima de secuencias
Los campos de demostración como LEAN tienen estado, acciones, medida de progreso y un estado objetivo final
AlphaGo no tuvo retroalimentación humana, pero sí aprendió de humanos
El paper de SPAG es un ejemplo de verdadero aprendizaje por refuerzo usando modelos de lenguaje
La conclusión de que LLM + RL superará a las personas en la resolución de problemas de dominio abierto carece de fundamento