Cómo se usa GPT‑4 para detectar los propios errores del modelo
CriticGPT, un modelo basado en GPT‑4, redacta críticas de las respuestas de ChatGPT para ayudar a los entrenadores humanos a detectar errores durante el RLHF
Entrenamos un modelo basado en GPT‑4 que se llama “CriticGPT” para detectar errores en el código que genera ChatGPT. Nos dimos cuenta de que cuando la gente recibe la ayuda de CriticGPT para revisar el código de ChatGPT, su desempeño es mejor que el de quienes no tienen esa ayuda en el 60 % de los casos. Estamos empezando a trabajar para integrar modelos similares a CriticGPT en el proceso de etiquetado del aprendizaje por refuerzo a partir de feedback humano (RLHF), de modo que los entrenadores cuenten con la asistencia directa de la IA. Esto nos permitirá evaluar los resultados de sistemas de IA avanzados que pueden ser difíciles de calificar sin herramientas más adecuadas.
La serie de modelos de GPT‑4, que posibilita ChatGPT, fue pensada para ayudar de forma interactiva en el RLHF. Una etapa fundamental del RLHF es recopilar las valoraciones que hacen los entrenadores de IA cuando comparan diferentes respuestas de ChatGPT entre sí.
A medida que perfeccionamos el razonamiento y el comportamiento de los modelos, aumenta la precisión de ChatGPT y sus errores son cada vez más sutiles. Por este motivo, para los entrenadores de IA puede ser más difícil encontrar errores cuando los hay, y las comparaciones del proceso de RLHF son mucho más complicadas. Esta es una limitación inherente del RLHF y quizás dificulte cada vez más la adecuación de los modelos, ya que poco a poco van adquiriendo más conocimientos de los que podría tener cualquier persona capaz de dar su opinión.
A fin de superar este obstáculo, entrenamos CriticGPT para que redacte críticas en las que destaque las imprecisiones de 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 notamos que pueden ayudar a los entrenadores a encontrar muchos más problemas en las respuestas escritas por el modelo que si no tienen la ayuda de la IA. Además, cuando se usa CriticGPT, la IA aumenta su capacidad, y eso permite contar con críticas más completas que cuando la gente trabaja por sí sola. Por otra parte, el modelo produce menos alucinaciones que cuando opera sin supervisión humana. En nuestros experimentos, se eligió al azar a otro entrenador para que seleccionara críticas, y en el 60 % de los casos prefirió las de equipos formados por una persona y CriticGPT antes que las de personas sin asistencia.
Por un lado, CriticGPT ayuda a los entrenadores a redactar críticas más completas que si trabajan de forma independiente. Por otro lado, combinado con el trabajo humano, el modelo genera menos alucinaciones.
CriticGPT también se entrenó con RLHF, del mismo modo que ChatGPT. Sin embargo, a diferencia de ChatGPT, detectó una gran cantidad de datos ingresados con errores que luego tenía que criticar. Les pedimos a los entrenadores de IA que introdujeran de forma manual esos errores en el código generado por ChatGPT y que después redactaran ejemplos de comentarios como si hubieran encontrado el problema que acababan de incluir a propósito. A continuación, la misma persona debía comparar varias críticas del código modificado para distinguir fácilmente si se había detectado el error o no. En nuestros experimentos, analizamos si CriticGPT era capaz de descubrir errores cometidos de manera intencional y errores de ChatGPT “naturales” encontrados por un entrenador anterior. Por lo que hemos visto, cuando se trata de errores naturales, los entrenadores prefieren las críticas de CriticGPT antes que las de ChatGPT en el 63 % de los casos. Esto se debe en parte a que el nuevo crítico se fija menos en las “pequeñeces” (es decir, no se queja por cuestiones insignificantes) y genera alucinaciones con menos frecuencia.
También observamos que podemos hacer críticas más largas y completas con búsquedas complementarias en la etapa de prueba aplicando el modelo de calificación de críticas. Este procedimiento de búsqueda nos permite definir la profundidad con que se rastrean los problemas en el código y hallar un punto de equilibrio entre las alucinaciones y la cantidad de errores verdaderos que se encuentran. Esto significa que podemos generar críticas que resulten lo más útiles posible para el RLHF. Si te interesa saber más, consulta nuestro artículo de investigación.
- Entrenamos CriticGPT con respuestas bastante breves de ChatGPT. Para supervisar a los agentes del futuro, tendremos que idear métodos que ayuden a los entrenadores a entender tareas largas y complejas.
- Los modelos siguen generando alucinaciones y, tras verlas, a veces los entrenadores cometen errores con el etiquetado.
- En ocasiones, puede haber errores en varias partes de una respuesta. Nos concentramos en los errores que se encuentran en un solo lugar, pero en adelante también tendremos que ocuparnos de los que están dispersos.
- CriticGPT ayuda hasta cierto punto: si una tarea o respuesta es muy compleja, quizás no sea posible evaluarla de forma correcta ni aunque intervenga un experto con ayuda del modelo.
Para poder adecuar sistemas de IA cada vez más complejos, necesitaremos mejores herramientas. En nuestras investigaciones para CriticGPT, notamos que el uso del RLHF con GPT‑4 es muy prometedor, ya que permite generar mejores datos para entrenar este modelo. Tenemos previsto ampliar nuestro trabajo y ponerlo en práctica.
Autores
Agradecimientos
Brockman, Juan Felipe Cerón Uribe, Elie Georges, Wes McCabe, Evgenia Nitishinskaya, Rai (Michael Pokorny) y Freddie Sulit