Cum se alege cuvântul
Un model de limbaj nu rostește direct cuvinte, ci calculează șanse. La fiecare pas, el așază pe masă un zar uriaș cu zeci de mii de fețe, fiecare având o altă greutate. Felul în care alegem să aruncăm acest zar schimbă din temelii tot ce citim la ieșire: de la un răspuns sobru și matematic până la o poveste plină de fantezie sau o înșiruire fără noimă.
Termeni: eșantionare alegere lacomă (greedy) temperatură eșantionare nucleu (top-p)
Ce oferă modelul și ce lipsește
Când toate calculele din straturile de atenție și rețelele neuronale se încheie, modelul nu scoate o propoziție gata scrisă. Pentru poziția imediat următoare din text, el produce doar o listă de scoruri pentru fiecare fragment de cuvânt (token) din vocabular. După ce aceste numere sunt transformate în procente, obținem o distribuție de probabilități: un clasament al tuturor continuărilor posibile, de la cele firești până la cele absurde. Atât și nimic mai mult. Niciun cuvânt nu a fost încă rostit.
Trecerea de la lista de probabilități la un cuvânt concret pe ecran este un pas complet separat, numit eșantionare. Acest pas nu este învățat în timpul antrenării pe text, ci reprezintă o regulă pe care o stabilim noi din exterior. Pentru exact același model și aceeași întrebare, putem obține răspunsuri radical diferite doar schimbând modul în care tragem biletul câștigător din urnă. Când citiți un text generat de un asistent digital, asistați de fapt la un dans între două forțe: ceea ce a calculat rețeaua și algoritmul care a ales din calculele ei.
Modelul din figurile de mai jos este un mic contor de caractere antrenat pe textul primelor capitole ale acestui curs. El se uită la cel mult șase caractere în urmă și se retrage la un context mai scurt când secvența a fost întâlnită rar. Deși vocabularul și memoria lui sunt mici în comparație cu giganții de azi, mecanismul de selecție este identic: la fiecare pas, avem în față o listă de posibilități și trebuie să decidem cum facem pasul următor.
Cea mai probabilă bucată și capcana ei
La prima vedere, cel mai înțelept lucru ar fi să alegem de fiecare dată opțiunea care ocupă primul loc: fragmentul cu probabilitatea cea mai mare. Această strategie directă poartă numele de alegere lacomă (sau decodare de tip greedy). La fiecare pas, modelul apucă fără ezitare varianta cea mai sigură.
Alegerea lacomă are însă un cusur pe care puțini îl bănuiesc înainte de a-l vedea la lucru: este complet rigidă. Pornind de la același început, ea va produce mereu, literă cu literă, identic același text. Mai grav, limbajul natural nu funcționează punând mereu cel mai banal cuvânt unul după altul. Urmând orbește doar calea cea mai sigură pe moment, modelul ajunge foarte repede într-o stare prin care a mai trecut, iar de acolo începe să se repete la nesfârșit. Textul se blochează într-o buclă monotonă din care nu mai poate ieși. Cel mai previzibil pas local duce într-un cerc vicios.
Temperatura: între îngheț și fierbere
Dacă alegerea strictă a primului loc duce la repetiții mecanice, putem încerca opusul: să aruncăm un zar aleatoriu proporțional cu probabilitățile modelului. Dacă o literă are 60% șanse, alta 30% și alta 10%, zarul le va alege exact în aceste proporții. Textul devine mai variat, dar apare o altă problemă: cozile lungi ale distribuției, adică miile de variante puțin probabile, ajung să fie extrase prea des, stricând coerența frazei.
Pentru a stăpâni acest echilibru, așezăm între model și text o manetă esențială numită temperatură (notată de obicei cu T), prin analogie cu fizica termodinamică. La rece, atomii îngheață și rămân așezați în starea lor de energie minimă; la cald, se agită cu putere și explorează stări neașteptate.
În generarea de text, maneta temperaturii controlează cât de mult aplatizăm sau ascuțim probabilitățile. Când temperatura este coborâtă spre zero, diferențele se adâncesc uriaș: opțiunea fruntașă devine aproape sigură, iar restul variantelor dispar. Textul devine precis, concentrat și previzibil. Când temperatura crește peste unu, diferențele se șterg, iar zarul acordă șanse aproape egale tuturor variantelor. La temperatura unu lăsăm probabilitățile exact așa cum le-a văzut modelul, iar la temperatura zero rămâne doar vârful absolut, adică alegerea lacomă.
Este util de observat că această manetă nu poate crea alternative din senin acolo unde modelul este absolut sigur. Dacă după un context dat există o singură urmare posibilă (care adună 100% din probabilitate), ea va rămâne singura aleasă la orice temperatură. Temperatura lucrează exclusiv asupra nesiguranței și nuanțelor care există deja în calculele rețelei.
Cum sună textul generat
Adevăratul efect al eșantionării se vede pe un text întreg, unde deciziile se înlănțuie pas cu pas. Fiecare literă sau cuvânt ales este adăugat la sfârșitul textului și devine context pentru pasul următor. O singură decizie puțin mai îndrăzneață trimite întreaga frază pe o traiectorie nouă.
Micul contor din această demonstrație a învățat doar forma sonoră a cuvintelor românești și ce litere stau de obicei împreună, nu și sensul adânc al gândurilor. Rostul exercițiului este să vedeți cum se comportă alegerea: la temperatură foarte mică textul se blochează într-un refren mecanic, iar la temperatură prea mare își pierde chiar și structura silabelor.
Măsurarea compromisului
Putem măsura precis acest compromis urmărind două mărimi: cât de des se repetă secvențele de caractere (semnul buclelor sterile) și cât de mulțumit este modelul de alegerile făcute (probabilitatea medie atribuită caracterelor alese de-a lungul drumului).
O ușoară creștere a temperaturii de la zero la 0,2 face ca repetiția să se prăbușească spectaculos, textul devenind brusc mai liber și mai cursiv. În schimb, probabilitatea medie începe să scadă treptat pe măsură ce ridicăm temperatura.
Primul rând al tabelului dezvăluie însă o mare surpriză: alegerea lacomă ia la fiecare pas varianta cu probabilitatea maximă, dar textul generat în ansamblu nu este cel mai probabil! Adesea, media de încredere este mai mare la o temperatură mică, dar nenulă. Blocându-se în bucle monotone, alegerea lacomă ajunge să parcurgă pași stângaci pe care este obligată să-i repete la infinit. A alege varianta optimă pe termen scurt nu înseamnă a găsi cel mai bun drum pe termen lung — o lecție valabilă cu mult dincolo de rețelele neuronale.
Temperatura potrivită nu reiese dintr-o formulă fixă. Ea se stabilește în funcție de ce așteptăm de la asistent: pentru sarcini exacte, cum ar fi programarea sau rezolvarea de probleme, preferăm temperaturi scăzute; pentru dialog firesc, rezumate sau scriere creativă, alegem o temperatură moderată.
Tăierea cozii: eșantionarea nucleu (top-p)
Temperatura modifică panta întregii distribuții, dar nu face ca opțiunile improbabile să dispară de tot. Într-un vocabular modern de zeci de mii de fragmente, miile de cuvinte ciudate din coada clasamentului adună împreună o masă de probabilitate suficient de mare încât una dintre ele să fie extrasă la întâmplare, stricând logica frazei.
A doua manetă de control taie această coadă în loc să o deformeze. Ordonăm toate variantele descrescător după probabilitate și le păstrăm doar pe primele, până când suma probabilităților lor atinge un prag stabilit, de exemplu 90% (p = 0,90). Toate celelalte variante din coadă sunt eliminate complet, iar zarul este aruncat doar între opțiunile fruntașe. Această metodă se numește eșantionare nucleu (sau top-p).
Marele avantaj al nucleului față de o tăiere rigidă este că se adaptează singur la context. Acolo unde continuarea este evidentă („Capitala României este...”), o singură opțiune poate strânge din prima peste 90%, așa că restul sunt tăiate instantaneu. Acolo unde contextul este deschis și permite multe variante bune („Pe masă se afla o...”), nucleul se lărgește automat și păstrează zeci de opțiuni plauzibile.
Temperatura și eșantionarea nucleu lucrează mână în mână: prima reglează tonusul alegerii (cât de ascuțită este diferența dintre opțiuni), iar a doua acționează ca o plasă de siguranță care împiedică modelul să o ia razna pe căi absurde.
Chiar și cu o eșantionare impecabil reglată, un model preantrenat știe un singur lucru: să continue un text început. Dacă îi adresați o întrebare, reflexul lui natural este adesea să compună o altă întrebare sau să continue cu o pagină de manual, fiindcă așa a văzut pe internet. În lecția următoare, vom descoperi cum transformăm această imensă memorie statistică într-un asistent cooperant, capabil să dialogheze și să răspundă la comenzi.