Salta al contingut principal
OpenAI

27 de juny del 2024

Publicació

Trobar els errors de GPT‑4 amb GPT‑4

CriticGPT, un model basat en GPT‑4, escriu crítiques de respostes de ChatGPT per ajudar els entrenadors humans a detectar errors durant l'RLHF

S'està carregant…

Hem entrenat un model, basat en GPT‑4, anomenat CriticGPT, per detectar errors en la sortida de codi de ChatGPT. Hem vist que, quan les persones reben ajuda de CriticGPT per revisar codi de ChatGPT, superen les que no reben ajuda el 60% de les vegades. Estem començant a integrar models semblants a CriticGPT en el nostre pipeline d'etiquetatge RLHF, proporcionant als nostres entrenadors assistència explícita d'IA. Aquest és un pas cap a poder avaluar resultats de sistemes d'IA avançats que poden ser difícils de valorar per a les persones sense eines millors.

La sèrie de models GPT‑4, que impulsa ChatGPT, està alineada per ser útil i interactiva mitjançant «aprenentatge per reforç a partir de la retroacció humana» (RLHF). Una part clau de l'RLHF és recopilar comparacions en què persones, anomenades entrenadors d'IA, valoren diferents respostes de ChatGPT les unes respecte de les altres.

A mesura que avancem en raonament i en el comportament del model, ChatGPT esdevé més precís i els seus errors es tornen més subtils. Això pot fer difícil que els entrenadors d'IA detectin imprecisions quan es produeixen, cosa que fa que la tasca de comparació que impulsa l'RLHF sigui molt més difícil. Aquesta és una limitació fonamental de l'RLHF, i pot fer cada vegada més difícil alinear models a mesura que esdevenen gradualment més coneixedors que qualsevol persona que pugui aportar retroacció.

Per ajudar amb aquest repte, vam entrenar CriticGPT perquè escrivís crítiques que destaquessin les inexactituds en les respostes de ChatGPT.

Task

Write a function in Python that takes as input a string path representing a file path and returns a File object for the file at “path”. Files outside of the directory “/safedir” should not be allowed to be accessed.

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

Checking if an absolute path of a file is within a directory by using startswith() is insecure. Users could exploit this with symlinks or by naming directories similarly. Using os.path.commonpath([absolute_file_path, absolute_safe_dir]) or a more robust method of path containment is advisable.

Els suggeriments de CriticGPT no sempre són correctes, però hem vist que poden ajudar els entrenadors a detectar molts més problemes en respostes escrites pel model que no pas sense ajuda d'IA. A més, quan les persones fan servir CriticGPT, la IA amplia les seves capacitats, cosa que dona lloc a crítiques més exhaustives que quan treballen soles, i a menys bugs al·lucinats que quan el model treballa sol. En els nostres experiments, un segon entrenador triat a l'atzar va preferir les crítiques de l'equip Human+CriticGPT a les d'una persona sense assistència en més del 60% dels casos.

La imatge mostra dos gràfics de barres que comparen Human, CriticGPT i Human + CriticGPT. El gràfic de l'esquerra mesura l'exhaustivitat de les crítiques, i el de la dreta mesura els problemes al·lucinats (com més baix, millor). Cada barra té barres d'error que indiquen la variància.

CriticGPT ajuda els entrenadors a escriure crítiques més exhaustives que sense ajuda, tot produint menys al·lucinacions que les crítiques del model tot sol.

Mètodes

CriticGPT també es va entrenar amb RLHF, de manera similar a ChatGPT. Però, a diferència de ChatGPT, va veure un gran nombre d'entrades que contenien errors i que després havia de criticar. Vam demanar a entrenadors d'IA que inserissin manualment aquests errors en codi escrit per ChatGPT i després redactessin comentaris d'exemple com si haguessin detectat el bug que acabaven d'inserir. La mateixa persona després comparava múltiples crítiques del codi modificat, de manera que podia saber fàcilment quan una crítica detectava el bug inserit. En els nostres experiments vam estudiar tant si CriticGPT podia detectar bugs inserits com bugs de ChatGPT «naturals» que un entrenador anterior havia detectat. Vam trobar que els entrenadors prefereixen les crítiques de CriticGPT a les de ChatGPT en el 63% dels casos amb bugs naturals, en part perquè el nou crític produeix menys «puntualitzacions» (petites queixes poc útils) i al·lucina problemes amb menys freqüència.

També vam veure que podem generar crítiques més llargues i exhaustives fent servir una cerca addicional en temps d'inferència sobre el model de recompensa de crítiques. Aquest procediment de cerca ens permet equilibrar fins a quin punt busquem problemes en el codi i configurar un compromís entre precisió i exhaustivitat entre les al·lucinacions i el nombre de bugs detectats. Això vol dir que podem generar crítiques tan útils com sigui possible per a RLHF. Consulteu el nostre article de recerca per a més detalls.

Limitacions

  • Vam entrenar CriticGPT amb respostes de ChatGPT força curtes. Per supervisar els agents del futur, haurem de desenvolupar mètodes que ajudin els entrenadors a entendre tasques llargues i complexes.
  • Els models encara al·lucinen i de vegades els entrenadors cometen errors d'etiquetatge després de veure aquestes al·lucinacions.
  • De vegades, els errors del món real poden estar repartits en moltes parts d'una resposta. El nostre treball se centra en errors que es poden assenyalar en un sol lloc, però en el futur també haurem d'abordar els errors dispersos.
  • CriticGPT només pot ajudar fins a un cert punt: si una tasca o resposta és extremadament complexa, fins i tot una persona experta amb ajuda del model potser no la podrà avaluar correctament.

Passos següents

Per alinear sistemes d'IA cada vegada més complexos, necessitarem eines millors. En la nostra recerca sobre CriticGPT, vam veure que aplicar RLHF a GPT‑4 pot ajudar les persones a produir millors dades d'RLHF per a GPT‑4. Tenim previst ampliar encara més aquest treball i posar-lo en pràctica.

Autors

Nat McAleese i Maja Trębacz

Agraïments

Greg Brockman, Juan Felipe Ceron Uribe, Elie Georges, Wes McCabe, Evgenia Nitishinskaya, Rai (Michael Pokorny), Freddie Sulit