Introducere
Modelele de tip transformer reprezintă o clasă de modele de învățare automată cu aplicabilitate în prelucrarea limbajului natural. Aceste modele se bazează pe un mecanism puternic numit atenție totală, care permite captarea relațiilor complexe între diferitele elemente de intrare. În esență, generarea în modelele de tip transformer se realizează token cu token, iar fiecare token este luat în considerare în contextul tuturor datelor anterioare. Acest lucru poate conduce la o creștere semnificativă a complexității și a costului computațional, deoarece baza de cunoștințe a modelului crește odată cu adăugarea fiecărui token.
Deși modelele de tip transformer sunt remarcabile în capacitatea lor de a înțelege și a genera limbaj natural, acestea prezintă și unele provocări. Fiind modele self-supervised, straturile ascunse ale transformerelor pot avea o natură de tip "black box", ceea ce face dificilă înțelegerea procesului de luare a deciziilor și interpretarea rezultatelor.
Mecanismul de atenție în modelele de tip transformer asigură că există asocieri semnificative între tokenuri în funcție de relevanța lor în context. Cu toate acestea, determinarea unui "world state" sau a stării complete a lumii într-un anumit moment poate fi o provocare.
În acest context, jocul de șah se dovedește a fi o metodă excelentă pentru testarea performanței și a limitărilor modelelor de tip transformer. Datorită mediului stabil și determinist pe care îl oferă, jocul de șah permite evaluarea precisă a capacitații modelelor de a captura și de a reproduce starea lumii subiacente, ceea ce îi face un test adecvat pentru evaluarea performanței acestor modele.
Reprezentarea miscarilor si antrenarea modelelor de limbaj pe jocul de sah
Pentru reprezentarea miscarilor este folosita notația Universal Chess Interface (UCI). Aceasta combină pătratul de start și pătratul de destinație pentru a reprezenta o mișcare. De exemplu, mișcarea din figura urmatoare este reprezentată ca f1b5 în UCI, unde f1 indică pătratul de start și b5 denotă pătratul de destinație.
Pentru antrenarea modelelor de limbaj, tokenizăm mai întâi jocurile reprezentate în notația UCI folosind un tokenizer simplu bazat pe expresii regulate, care consideră un simbol de pătrat de bord, cum ar fi b1, ca un singur token. Acest lucru ne oferă un vocabular de 77 de tipuri de tokenuri, care include cele 64 de pătrate, simbolurile tipurilor de piese și alte simboluri speciale (vedeți Tabelul 1). De exemplu, secvența de mișcări “e2e4 e7e5 g1f3” este tokenizată în “e2, e4, e7, e5, g1, f3”. Apoi, antrenăm un model de limbaj autoregresiv pe aceste secvențe de mișcări, folosind obiectivul standard de maximum likelihood.
Una dintre proprietățile atractive ale unui model de limbaj antrenat pe jocuri de șah reprezentate în notația UCI este că notația în sine ne permite să sondăm abilitățile de urmărire a stării ale modelului antrenat.
De exemplu, putem considera promptul “e2e4 e7e5 g1f3 b8c6 d2d4 h7h6 f1”, unde secvența de mișcări subliniată duce la starea tablei de șah de mai sus.
Urmarirea starilor pieselor prin Randomly Annotated Piece type (RAP)
“Randomly Annotated Piece type” (RAP),constituie o strategie care îmbunătățește abilitatea modelelor de limbaj de a urmări starea pieselor pe tabla de șah. În loc să prezică doar pătratul de sfârșit al unei mișcări, RAP permite modelului să prezică unde se află o piesă într-un moment dat. Acest lucru se realizează prin includerea aleatorie a tipurilor de piese în notația mișcărilor în timpul antrenamentului, cu o probabilitate fixă p.
De exemplu, un prompt precum “e2e4 e7e5 g1f3 b8c6 d2d4 h7h6 N” ar trebui să genereze o poziție de start validă pentru un cal de culoarea corectă. În timpul testării, se include doar tipul de piesă pentru prompt, nu și pentru mișcările din istoric. Astfel, RAP permite modelului să prezică unde crede că se află fiecare piesă, dat fiind un prefix al istoricului jocului.
Paragraful menționează, de asemenea, o variantă “oracle” a RAP, unde tipurile de piese sunt adăugate atât în timpul antrenamentului, cât și în timpul testării. Această notație este denumită “UCI + AP”, unde AP reprezintă “always piece type”.
În final, se discută despre cum adăugarea RAP reprezintă o schimbare de distribuție între antrenament și inferență, dar se presupune că aceasta poate ajuta modelul să învețe să urmărească piesele, oferind o supraveghere suplimentară care, la rândul său, poate îmbunătăți performanța modelării limbajului. În timpul inferenței, modelul este utilizat pentru a face predicții pe un nou set de date, care poate avea o distribuție diferită de setul de date de antrenament. Aceasta este schimbarea de distribuție între antrenament și inferență.
În contextul nostru, adăugarea RAP (Randomly Annotated Piece type) reprezintă o schimbare de distribuție între antrenament și inferență, deoarece în timpul antrenamentului, tipurile de piese sunt incluse aleatoriu în notația mișcărilor cu o probabilitate fixă p, dar în timpul inferenței, acestea nu sunt incluse. Cu toate acestea, se presupune că adăugarea RAP poate ajuta modelul să învețe să urmărească piesele, oferind o supraveghere suplimentară care, la rândul său, poate îmbunătăți performanța modelării limbajului.
Sarcini de sondare a stării sablei, de sredicție a sătratului de sfârșit / inceput
În sarcinile de sondare a stării tablei, modelul primește un prefix al unui joc și un token de prompt, iar evaluarea se bazează pe probabilitatea celui mai mare token următor dat de model în acest context.
Sarcinile cu pătratul de sfârșit testează capacitatea modelului de a prezice pătratul de sfârșit al unei mișcări, dat fiind prefixul unui joc și pătratul de start al următoarei mișcări. Există două variante ale acestei sarcini: End-Actual, unde modelului i se face o solicitare cu pătratul de start al piesei care urmeaza a fi mutate și End-Other, unde modelul este solicitat cu pătratul de start al oricărei piese de pe tabla care poate fi mutată legal.
Sarcinile cu pătratul de start testează capacitatea modelului de a prezice unde se află în prezent un anumit tip de piesă pe tabla de șah. Variantele acestei sarcini sunt Start-Actual, unde modelului i se face o solicitare cu tipul de piesă care se mișcă în continuare în joc, și Start-Other, unde modelul este solicitat cu tipul de piesă al oricărei piese de pe tabla care poate fi mutată legal.
Evaluarea pentru aceste sarcini se face în termeni de Exact Movement Accuracy (ExM) și Legal Move Accuracy (LgM), precum și R-Precision pentru LgM, care este Precision@R unde R este numărul total de pătrate de sfârșit sau de start legale. Acuratețea ExM este similară cu evaluarea tipică a modelelor de limbaj pe datele de limbaj natural, în timp ce LgM este mai puțin stringentă și se concentrează doar pe testarea înțelegerii de către model a regulilor de șah și a stării tablei."
In contextul prefixului “e2e4 e7e5 g1f3 b8c6 d2d4 h7h6”, rezultatele asteptate pentru evaluarile prezentate mai sus se gasesc in urmatoarea tabela:
Arhitecturi folosite si masurarea acuratetii
GPT2: Utilizează atenția completă pentru a acoperi întreaga istorie a jocului si este folosit ca standard in acest studiu, avand rezultatele cele mai bune cand vine vorba de acuratete.
Celelalte arhitecturi au fost incercate pentru a se observa daca pot acoperi deficitele pe care GPT2 le are.
GPT2 (w = 50): Acest model este o variantă a modelului GPT2 care limitează atenția la ultimele 50 de token-uri din istoricul jocului. Rezultatele obținute cu acest model au fost mai slabe decât cele ale modelului de bază GPT2, în special pentru seturile mici și medii de date.
Reformer și Performer: Acestea sunt două arhitecturi de transformer propuse recent. Reformer înlocuiește "atenția completă" cu o atenție bazată pe hashing local-sensibil, în timp ce Performer aproximează "atenția completă" cu caracteristici aleatoare. Rezultatele arată că Performer în general depășește Reformerul, cu excepția setărilor de date mici. Totuși, niciuna dintre aceste arhitecturi nu depășește semnificativ performanțele modelului GPT2 (w = 50), cu excepția Performerului în setările de date de dimensiuni medii.
LSTM: Un alt model investigat a fost LSTM, care se bazează pe rețele recurente. Acesta nu utilizează atenția pentru a lua în considerare întreaga istorie a jocului. Rezultatele au arătat că performanța LSTM-ului a fost mai slabă decât cea a modelelor bazate pe transformer.
Concluzii
Astfel, jocul de șah este propus ca un teren de testare pentru evaluarea modului în care modelele de limbaj captează starea lumii subiacente. Rezultatele arată că modelele de limbaj de tip transformer pot urmări starea tablei de șah atunci când li se oferă suficiente date, dar cu date limitate, furnizarea accesului la informațiile despre starea tablei în timpul antrenamentului poate duce la îmbunătățiri consistente.
Implicațiile mai largi pentru procesarea limbajului natural sunt că transformatorii sunt robusti la schimbările de tip RAP în distribuția de intrare și că pentru performanțe ridicate, modelele necesită acces la întregul context, precum și seturi mari de antrenament. Lucrările viitoare pot utiliza aceste descoperiri pentru a introduce starea lumii, sau mai specific, rezultatul analizatorilor lingvistici, cum ar fi coreferința, prin token-uri de tip RAP în timpul pre-antrenării și al finisării transformatorilor.
Aceste token-uri de tip RAP pot fi, de asemenea, utilizate pentru depanarea/diagnosticarea înțelegerii unui model, în mod similar cu sarcinile de predicție a pătratului de pornire. A doua descoperire implică faptul că evaluarea propusă poate ghida căutarea de noi arhitecturi de transformatori care sunt adepti în înțelegerea textelor lungi și care pot învăța din seturi mici de antrenament. Cadrul propus permite sondarea și înțelegerea noilor arhitecturi care abordează aceste provocări.
Articol folosit: Chess as a Testbed for Language Model State Tracking
Niciun comentariu:
Trimiteți un comentariu