Encontrar los errores de GPT‑4 con GPT‑4
CriticGPT, un modelo basado en GPT‑4, escribe críticas de las respuestas de ChatGPT para ayudar a los entrenadores humanos a detectar errores durante el RLHF.
Hemos entrenado un modelo basado en GPT‑4, llamado CriticGPT, para que detecte errores en la generación de código de ChatGPT. Hemos observado que, cuando se utiliza CriticGPT para revisar el código de ChatGPT, los resultados superan en el 60 % de las veces los resultados obtenidos sin el modelo. Estamos empezando a integrar modelos similares a CriticGPT en nuestro proceso de etiquetado del RLHF, proporcionando a nuestros entrenadores asistencia explícita de IA. Esto nos acerca a nuestro objetivo de evaluar los resultados de los sistemas avanzados de IA que pueden resultar difíciles de calificar sin herramientas mejores.
La serie de modelos de GPT‑4, que utiliza ChatGPT, está diseñada para ser útil e interactiva a través del «aprendizaje por refuerzo a partir de comentarios humanos» (RLHF). Una parte clave del RLHF es recopilar comparaciones en las que personas, llamadas entrenadores de IA, califican diferentes respuestas de ChatGPT, comparándolas entre sí.
A medida que se producen avances en el razonamiento y el comportamiento del modelo, ChatGPT adquiere mayor precisión y sus errores se vuelven más sutiles. Esto puede hacer que a los entrenadores de IA les resulte más complicado detectar las imprecisiones cuando ocurren, lo que dificulta mucho la tarea de comparación de la que depende el RLHF. Esta es una limitación fundamental del RLHF y puede hacer que sea cada vez más difícil alinear los modelos a medida que, con el tiempo, vayan adquiriendo más conocimientos de los que posea cualquier persona capaz de proporcionar comentarios.
Para solventar este problema, hemos entrenado a CriticGPT para que escriba críticas que resalten las imprecisiones en las respuestas de ChatGPT.
Task
Solution
import os def get_file_object(path): # Define the safe directory safe_dir = "/safedir" # Get the absolute path of the file and the safe directory absolute_file_path = os.path.abspath(path) absolute_safe_dir = os.path.abspath(safe_dir) # Check if the file is within the safe directory Highlighted:if not absolute_file_path.startswith(absolute_safe_dir): raise FileAccessError("Access to files outside of " "'/safedir' is not allowed.")...CriticGPT
Las sugerencias de CriticGPT no siempre son correctas, pero hemos observado que pueden ayudar a los entrenadores a detectar muchos más problemas con las respuestas escritas por modelos que sin la ayuda de la IA. Además, cuando las personas usan CriticGPT, la IA complementa sus habilidades, lo que genera críticas más completas que cuando las personas trabajan por su cuenta, así como menos alucinaciones que cuando el modelo trabaja solo. En nuestros experimentos, un segundo entrenador aleatorio prefirió las críticas de un humano con CriticGPT a las de una persona sin ayuda más del 60 % de las veces.
CriticGPT ayuda a los entrenadores a escribir críticas más completas que sin ayuda y, al mismo tiempo, produce menos alucinaciones que las críticas con solo el modelo.
CriticGPT también ha sido entrenado mediante el RLHF, de manera similar a ChatGPT. Pero, a diferencia de ChatGPT, se le ha proporcionado una gran cantidad de entradas con errores que ha tenido que criticar. Les pedimos a los entrenadores de IA que introdujeran manualmente estos errores en el código escrito por ChatGPT y luego escribieran comentarios de ejemplo, como si hubieran detectado el error que acababan de añadir. A continuación, la misma persona comparó varias críticas del código modificado para poder saber fácilmente cuándo una crítica había detectado el error introducido. En nuestros experimentos, estudiamos si CriticGPT podía detectar errores añadidos y errores de ChatGPT «naturales» que un entrenador había detectado anteriormente. Descubrimos que los entrenadores prefieren las críticas de CriticGPT a las críticas de ChatGPT en el 63 % de los casos de errores que se producen de manera natural, en parte porque el nuevo crítico es menos riguroso (es decir, no se queja de pequeñeces que no aportan nada) y alucina con menos frecuencia.
También descubrimos que podemos generar críticas más largas y completas utilizando una búsqueda con tiempo de prueba adicional en comparación con el modelo de recompensa por críticas. Este procedimiento de búsqueda nos permite equilibrar la agresividad con la que buscamos problemas en el código y lograr un equilibrio entre las alucinaciones y la cantidad de errores detectados. Eso significa que podemos generar críticas que sean lo más útiles posible para el RLHF. Para más información, lee el informe de nuestra investigación.
- Entrenamos a CriticGPT con respuestas de ChatGPT bastante breves. Para supervisar a los agentes del futuro, tendremos que desarrollar métodos que puedan ayudar a los entrenadores a comprender tareas largas y complejas.
- Los modelos todavía alucinan y, a veces, los entrenadores cometen errores de etiquetado después de ver las alucinaciones.
- A veces, los errores del mundo real pueden abarcar muchas partes de una respuesta. Nuestro trabajo se centra en errores que pueden señalarse en un lugar determinado, pero en el futuro deberemos abordar también los errores dispersos.
- CriticGPT solo es útil hasta cierto punto: si una tarea o respuesta es extremadamente compleja, es posible que incluso un experto con ayuda del modelo no pueda evaluarla correctamente.
Para que los sistemas de IA ―que son cada vez más complejos― estén alineados, necesitaremos mejores herramientas. En nuestra investigación sobre CriticGPT, descubrimos que el uso del RLHF en GPT‑4 podría ayudar a los humanos a producir mejores datos de RLHF para GPT‑4. Prevemos ampliar este trabajo y ponerlo en práctica.
Autores
Agradecimientos
Greg Brockman, Juan Felipe Ceron Uribe, Elie Georges, Wes McCabe, Evgenia Nitishinskaya, Rai (Michael Pokorny) y Freddie Sulit