મુખ્ય વિષય-સામગ્રી પર જાવો
OpenAI

27 જૂન, 2024

પ્રકાશન

GPT‑4 વડે GPT‑4 ની ભૂલો શોધવી

GPT‑4 આધારિત મોડલ CriticGPT, RLHF દરમિયાન માનવ ટ્રેનરોને ભૂલો શોધવામાં મદદ કરવા ChatGPT ના પ્રતિભાવોની સમીક્ષા લખે છે.

લોડિંગ…

અમે GPT‑4 પર આધારિત CriticGPT નામના એક મોડલને ChatGPT ના કોડ આઉટપુટમાં ભૂલો પકડવા માટે તાલીમ આપી છે. અમને જણાયું કે જ્યારે લોકો ChatGPT ના કોડની સમીક્ષા કરવા CriticGPT ની મદદ લે છે, ત્યારે તેઓ મદદ વિના રહેલા લોકો કરતાં 60% વખત વધુ સારું પ્રદર્શન કરે છે. અમે CriticGPT જેવા મોડલોને અમારી RLHF labeling pipeline માં એકીકૃત કરવાનો કામ શરૂ કરી રહ્યા છીએ, જેથી અમારા ટ્રેનરોને સ્પષ્ટ AI સહાય મળી રહે. આ વધુ સારા સાધનો વગર લોકોને મૂલ્યાંકન કરવું મુશ્કેલ પડે તેવી અદ્યતન AI સિસ્ટમોના આઉટપુટનું મૂલ્યાંકન કરી શકવાની દિશામાં એક પગલું છે.

ChatGPT ને શક્તિ આપતી GPT‑4 શ્રેણીના મોડલોને “હ્યુમન ફીડબેકથી રીઇન્ફોર્સમેન્ટ લર્નિંગ” (RLHF) દ્વારા મદદરૂપ અને ઇન્ટરેક્ટિવ બનવા માટે એલાઇન કરવામાં આવ્યા છે. RLHF નો એક મુખ્ય ભાગ એવી તુલનાઓ એકત્રિત કરવો છે waarin લોકો, જેમને AI ટ્રેનરો કહેવાય છે, વિવિધ ChatGPT પ્રતિભાવોને એકબીજા સામે રેટ કરે છે.

જેમ જેમ અમે রিজનિંગ અને મોડલના વર્તનમાં પ્રગતિ કરીએ છીએ, તેમ ChatGPT વધુ ચોક્કસ બનતું જાય છે અને તેની ભૂલો વધુ સૂક્ષ્મ બને છે. પરિણામે, જ્યારે આવી અચુકતાઓ થાય છે ત્યારે AI ટ્રેનરો માટે તેને ઓળખવું મુશ્કેલ बनी શકે છે, અને RLHF ને શક્તિ આપતું તુલનાત્મક કાર્ય ઘણું કઠિન બને છે. આ RLHF ની મૂળભૂત મર્યાદા છે, અને જેમ જેમ મોડલો પ્રતિસાદ આપી શકે એવા કોઈપણ વ્યક્તિ કરતાં ધીમે ધીમે વધુ જ્ઞાનસભર બનશે, તેમ તેમને એલાઇન કરવું વધતી જતી મુશ્કેલ બની શકે છે.

આ પડકારમાં મદદ કરવા માટે, અમે CriticGPT ને 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.

CriticGPT ના સૂચનો હંમેશા સાચા હોય જ એવું નથી, પરંતુ અમને જણાયું છે કે AI મદદ વિના જેટલી સમસ્યાઓ ટ્રેનરો પકડી શકે તેના કરતાં ઘણીઓ વધુ સમસ્યાઓ મોડલ-લખેલા જવાબોમાં પકડવામાં તે તેમની મદદ કરી શકે છે. વધુમાં, જ્યારે લોકો CriticGPT નો ઉપયોગ કરે છે, ત્યારે AI તેમની કુશળતામાં વધારો કરે છે, જેના પરિણામે લોકો એકલા કામ કરે ત્યારે કરતાં વધુ વ્યાપક સમીક્ષાઓ મળે છે, અને જ્યારે મોડલ એકલું કામ કરે ત્યારે કરતાં ઓછી ભ્રમજન્ય bugs જોવા મળે છે. અમારા પ્રયોગોમાં બીજા એક રેન્ડમ ટ્રેનરે Human+CriticGPT ટીમની સમીક્ષાઓને સહાય વિના રહેલા વ્યક્તિની સમીક્ષાઓ કરતાં 60% કરતાં વધુ વખત પસંદ કરી.

છબીમાં Human, CriticGPT અને Human + CriticGPT ની સરખામણી કરતા બે બાર ચાર્ટ દેખાય છે. ડાબો ચાર્ટ સમીક્ષાઓની વ્યાપકતા માપે છે, અને જમણો ચાર્ટ ભ્રમજન્ય સમસ્યાઓ માપે છે (ઓછું હોય તે સારું). દરેક બારમાં ફેરફાર દર્શાવતા error bars છે.

CriticGPT ટ્રેનરોને મદદ વિના કરતાં વધુ વ્યાપક સમીક્ષાઓ લખવામાં મદદ કરે છે અને સાથે માત્ર મોડલ દ્વારા બનેલી સમીક્ષાઓ કરતાં ઓછી ભ્રમજન્ય બાબતો ઉત્પન્ન કરે છે.

પદ્ધતિઓ

CriticGPT ને ChatGPT જેવી જ રીતે RLHF સાથે પણ તાલીમ આપવામાં આવી હતી. પરંતુ ChatGPT થી ભિન્ન રીતે, તેને મોટી સંખ્યામાં એવા ઇનપુટ્સ બતાવવામાં આવ્યા હતા જેમાં ભૂલો હતી અને પછી તેને તેમની સમીક્ષા કરવી પડતી હતી. અમે AI ટ્રેનરોને ChatGPT દ્વારા લખાયેલા કોડમાં આ ભૂલો હાથે દાખલ કરવા અને પછી ઉદાહરણરૂપ પ્રતિસાદ લખવા કહ્યું, જાણે કે તેમણે પોતે જ દાખલ કરેલો bug પકડ્યો હોય. ત્યારબાદ એ જ વ્યક્તિએ સુધારેલા કોડની અનેક સમીક્ષાઓની તુલના કરી જેથી સમીક્ષાએ તેણે દાખલ કરેલો bug ક્યારે પકડ્યો તે સરળતાથી કહી શકે. અમારા પ્રયોગોમાં અમે બંને બાબતોનો અભ્યાસ કર્યો: CriticGPT દાખલ કરેલા bugs પકડી શકે છે કે નહીં અને અગાઉના ટ્રેનરે પકડેલા “કુદરતી રીતે થતા” ChatGPT bugs પણ. અમને જણાયું કે કુદરતી રીતે થતા bugs પર 63% કેસોમાં ટ્રેનરો ChatGPT ની સમીક્ષાઓ કરતાં CriticGPT ની સમીક્ષાઓને પસંદ કરે છે, કારણ કે નવો સમીક્ષક ઓછા “nitpicks” (નાની અને નિષ્પ્રયોજક ફરિયાદો) કરે છે અને ઓછી વાર સમસ્યાઓ ભ્રમથી ગઢે છે.

અમને એ પણ જણાયું કે critique reward model સામે વધારાની test-time search નો ઉપયોગ કરીને અમે વધુ લાંબી અને વધુ વ્યાપક સમીક્ષાઓ બનાવી શકીએ છીએ. આ શોધ પ્રક્રિયા અમને કોડમાં સમસ્યાઓ કેટલા આક્રમક રીતે શોધવી તે સંતુલિત કરવાની અને ભ્રમજન્ય બાબતો અને શોધાયેલા bugs ની સંખ્યા વચ્ચે precision-recall trade-off ગોઠવવાની મંજૂરી આપે છે. તેનો અર્થ એ છે કે અમે RLHF માટે શક્ય તેટલી મદદરૂપ સમીક્ષાઓ બનાવી શકીએ છીએ. વધુ વિગતો માટે અમારું સંશોધન પેપર જુઓ.

મર્યાદાઓ

  • અમે CriticGPT ને ChatGPT ના ઘણાં ટૂંકા જવાબો પર તાલીમ આપી. ભવિષ્યના એજન્ટોની દેખરેખ માટે અમને એવી પદ્ધતિઓ વિકસાવવાની જરૂર પડશે જે ટ્રેનરોને લાંબા અને જટિલ કાર્યો સમજવામાં મદદ કરી શકે.
  • મોડલો હજુ પણ ભ્રમજન્ય આઉટપુટ આપે છે અને ક્યારેક ટ્રેનરો તેવા ભ્રમજન્ય આઉટપુટ જોઈને labeling ભૂલો કરે છે.
  • ક્યારેક વાસ્તવિક દુનિયાની ભૂલો જવાબના ઘણા ભાગોમાં ફેલાયેલી હોઈ શકે છે. અમારું કામ એવી ભૂલો પર કેન્દ્રિત છે જેને એક જ સ્થાને બતાવી શકાય, પરંતુ ભવિષ્યમાં અમારે વિખરાયેલી ભૂલોનો પણ સામનો કરવો પડશે.
  • CriticGPT ફક્ત મર્યાદિત હદ સુધી જ મદદ કરી શકે છે. જો કોઈ કાર્ય અથવા પ્રતિભાવ અત્યંત જટિલ હોય, તો મોડલની મદદ સાથેનો નિષ્ણાત પણ તેનું સાચું મૂલ્યાંકન ન કરી શકે.

આગલા પગલાં

વધતી જતી જટિલ AI સિસ્ટમોને એલાઇન કરવા માટે અમને વધુ સારા સાધનોની જરૂર પડશે. CriticGPT પરના અમારા સંશોધનમાં, અમને જણાયું કે GPT‑4 પર RLHF લાગુ કરવાથી મનુષ્યોને GPT‑4 માટે વધુ સારો RLHF ડેટા બનાવવામાં મદદ કરવાની સારી શક્યતા છે. અમે આ કામને વધુ વ્યાપક બનાવવાની અને તેનો વાસ્તવિક ઉપયોગ કરવાની યોજના બનાવી રહ્યા છીએ.

લેખકો

Nat McAleese, Maja Trębacz

આભારવિધિ

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