L.30Partea 5 / Asistentul
Cuprins

Ce se întâmplă când răspunde

Un răspuns nu apare dintr-o dată, ci se construiește cuvânt cu cuvânt, iar fiecare nou fragment cere o trecere completă prin toate circuitele rețelei. Ceea ce calculatorul reușește să păstreze în memorie între pași hotărăște dacă fraza apare în câteva secunde sau în zeci de minute — iar limita spațiului de lucru explică de ce asistentul pare uneori că „uită” începutul conversației.

Termeni: inferență preumplere (prefill) generare autoregresivă memorie de chei-valori (KV cache) fereastră de context

Cele două faze ale răspunsului

Rularea unui model deja antrenat pentru a produce un răspuns se numește inferență. Deși pe ecran totul pare un proces continuu, inferența se desfășoară în două etape distincte, cu un ritm de calcul complet diferit. Oricine a trimis un mesaj unui asistent le-a resimțit pe amândouă:

Prima etapă este preumplerea (sau procesarea promptului). Modelul primește tot ce i-ați trimis: întrebarea, instrucțiunile de sistem și replicile anterioare. Deoarece toate aceste cuvinte sunt deja cunoscute, placa grafică le poate procesa pe toate simultan, în paralel, într-o singură trecere uriașă de calcul. De aici vine mica pauză inițială de câteva fracțiuni de secundă după ce apăsați tasta Enter.

A doua etapă este generarea autoregresivă (scrierea propriu-zisă). Modelul calculează primul cuvânt al răspunsului. Odată ales, acest cuvânt este lipit la sfârșitul textului, iar rețeaua este rulată din nou pentru a ghici al doilea cuvânt. Aici calculul paralel este imposibil: nu poți ști al cincizecilea cuvânt înainte de a-l alege pe al patruzeci și nouălea! De aceea, cuvintele încep să curgă pe ecran într-un ritm sacadat și constant, unul după altul.

Ce se recalculează degeaba și memoria KV

Dacă am programa acest proces în modul cel mai naiv, am da peste un dezastru de performanță. Pentru a scrie al o sutălea cuvânt, modelul ar trebui să recitească de la zero toate cele nouăzeci și nouă de cuvinte de dinainte, recalculând aceleași straturi de atenție prin care a trecut deja de nouăzeci și nouă de ori!

Această muncă repetitivă este o risipă uriașă de energie. Dacă privim mecanismul atenției, observăm un detaliu salvator: fiecare cuvânt se uită numai înapoi, la termenii care îl preced. Cuvântul numărul cinci nu își schimbă înțelesul, cheia sau valoarea doar pentru că am ajuns noi să scriem cuvântul cincizeci.

Prin urmare, cheile și valorile fiecărui cuvânt pot fi calculate o singură dată și păstrate într-un carnețel de lucru ultrarapid. Această memorie tampon se numește memorie de chei-valori (sau KV cache). La fiecare cuvânt nou, modelul calculează doar interogarea poziției curente, o compară cu cheile deja memorate și adaugă noua pereche în carnețel. Nu vorbim despre o aproximație care scade calitatea, ci despre refuzul inteligent de a repeta la infinit aceeași înmulțire de numere.

Cronometrul: măsurarea pe viu

În fereastra interactivă de mai jos rulează un mic model real de transformator, direct în navigatorul dumneavoastră. El redactează același text în ambele moduri, iar cronometrul măsoară milisecundele consumate pe măsură ce răspunsul devine tot mai lung.

Același text, cu și fără memorie de chei-valori
96

Diferența dintre curbe este uimitoare. Fără memorie KV, efortul necesar pentru fiecare nou cuvânt crește odată cu lungimea textului, făcând ca timpul total să explodeze curbându-se abrupt în sus. Cu memorie KV, efortul pentru fiecare cuvânt rămâne constant, iar timpul total crește lin, drept și previzibil.

Pe texte scurte dintr-o pagină web, panta teoretică este ușor atenuată de operațiunile fixe ale sistemului de operare. Însă pe serverele reale care generează mii de cuvinte, această diferență este cea care separă o conversație fluidă în timp real de o așteptare agonizantă de câteva minute.

Cel mai important aspect: rezultatul final este riguros identic în ambele scenarii, literă cu literă. Memoria KV nu taie colțuri și nu compromite gândirea rețelei; este o optimizare pură de calcul.

Ce costă memoria: lupta pentru spațiu

În informatică nu există miracole gratuite: am economisit timp de calcul, dar plătim în memorie ocupată. Pentru fiecare poziție din discuție trebuie să păstrăm vectori de chei și valori la fiecare nivel și la fiecare cap de atenție al rețelei.

Memoria necesară la diferite mărimi de model
8.192

Pe măsură ce contextul se întinde la zeci de mii de cuvinte, această memorie tampon ajunge să ocupe zeci de gigaocteți de memorie video ultrarapidă (VRAM). La întrebări scurte, greul este dus de parametrii ficși ai rețelei; la conversații lungi sau documente întregi, memoria KV devine adesea mai costisitoare și mai grea decât modelul însuși!

Pentru a îmblânzi această sete de memorie, modelele moderne folosesc arhitecturi ingenioase precum atenția cu interogări grupate (GQA), punând mai multe capete de calcul să împartă aceleași chei și valori. Datorită acestor inovații a devenit posibil ca asistenții de astăzi să citească sute de pagini dintr-o singură suflare.

Fereastra de context și iluzia „uitării”

Memoria de lucru a unui asistent nu este infinită; ea are o dimensiune maximă stabilită prin construcție, numită fereastră de context. Această fereastră cuprinde tot ce poate rețeaua să aibă în fața ochilor la un moment dat: instrucțiunile inițiale, întrebarea dumneavoastră, replicile din trecut și textul pe care îl generează acum.

Când o discuție devine prea voluminoasă și depășește această capacitate, primele cuvinte trebuie să iasă din fereastră pentru a face loc celor noi, ca pe o bandă rulantă. Nimic nu se defectează și nu apare niciun mesaj de eroare: pur și simplu, începutul conversației încetează să mai existe în ecuațiile atenției.

Banda rulantă: ce mai încape în fereastră
400

De aici se naște fenomenul pe care utilizatorii îl descriu adesea spunând că „inteligența artificială a uitat ce i-am spus acum zece mesaje”. Dar modelul nu a „uitat” în sensul uman. Oamenii uită amintiri pe care le-au avut în minte; pentru un model de limbaj, ceea ce a ieșit din fereastra de context nu a existat niciodată. El trăiește exclusiv în prezentul jetoanelor pe care le are în fața ochilor chiar în acea clipă.

Acum înțelegem cum gândește și cum calculează asistentul: o structură antrenată pe limbaj, modelată prin dialog și accelerată prin memoria chei-valori. Și totuși, rămâne o enigmă tulburătoare: de ce acest sistem atât de sofisticat inventează uneori fapte, date istorice sau cărți inexistente, susținându-le cu o siguranță de neclintit? În lecția următoare, vom descoperi de ce modelele halucinează fără nicio urmă de rea-credință.