Căutare înainte de răspuns
Cea mai puternică unealtă a unui model modern nu este un calculator matematic, ci o bibliotecă bine organizată. În loc să cerem rețelei să memoreze pe de rost toate cărțile lumii în parametrii săi interni, o lăsăm să dea un examen cu manualul pe masă: mai întâi căutăm câteva fragmente relevante dintr-o bază de date externă, le așezăm în fața modelului, iar acesta răspunde citind și sintetizând informația proaspătă. Cunoașterea se mută astfel din memoria rigidă a ponderilor direct în contextul viu al conversației.
Termeni: regăsire bază vectorială potrivire după cuvinte fragmentul potrivit
De ce se caută întâi
Un model lingvistic clasic este prizonierul momentului în care s-a încheiat antrenamentul său: el știe doar ce a apucat să citească până atunci, sub forma unor asocieri difuze imprimate în miliardele de ponderi. Nu cunoaște știrile de ieri, nu poate cita cu precizie paragrafe dintr-un contract privat și nu poate garanta sursa exactă a unei afirmații.
Toate aceste trei mari neajunsuri își găsesc rezolvarea printr-o schimbare ingenioasă de strategie: mutăm cunoașterea faptică din memoria internă a modelului direct pe foaia sa de lucru (în context). Când utilizatorul adresează o întrebare, un sistem dedicat caută într-o arhivă de documente, decupează pasajele cele mai relevante și i le servește modelului alături de întrebare. Această tehnică poartă numele de generare augmentată prin regăsire (cunoscută pe scurt ca RAG – Retrieval-Augmented Generation).
Este diferența de la cer la pământ dintre un examen tradițional bazat exclusiv pe toceală și un examen cu cărțile deschise pe bancă. Totuși, manualul deschis vine cu propriul său risc: dacă nu găsești pagina potrivită sau dacă răsfoiești din greșeală un capitol nepotrivit, răspunsul va fi compromis cu aceeași siguranță aparentă.
Cum se măsoară apropierea
Colecția demonstrativă din această pagină conține 36 de fragmente explicative din lecțiile parcurse până acum. Scopul căutării este ca, la primirea unei întrebări, sistemul să găsească automat tocmai fragmentul care conține lămurirea dorită.
Cum decidem însă ce text se potrivește cu întrebarea? Există două mari filosofii. Prima abordare — căutarea lexicală clasică — numără cuvintele identice apărute în ambele texte, acordând o pondere mai mare cuvintelor rare și specifice (precum „tranzistor” sau „atenție”) față de cuvintele comune de legătură. A doua abordare — căutarea semantică — proiectează fiecare propoziție într-un spațiu geometric de sens, transformând textul într-un vector de coordonate și măsurând unghiul dintre direcțiile lor. O bază de date organizată după acest principiu geometric se numește bază vectorială.
Fragmentul cu adevărat relevant este evidențiat cu un chenar portocaliu, indiferent de poziția pe care a obținut-o în clasament. Numărul din dreapta măsoară scorul matematic de potrivire, calculat pe o scară de la 0 la 1.
Contextul care se dă modelului
Odată ce etapa de căutare s-a încheiat, asamblarea finală este simplă și transparentă. Fragmentele câștigătoare sunt concatenate ordonat într-un bloc compact de referință, la finalul căruia se adaugă întrebarea utilizatorului. Tot acest ansamblu îi este înmânat modelului ca un singur text continuu.
Când se schimbă cuvintele întrebării
Adevăratul test de maturitate al unui sistem RAG nu este eleganța cu care lipește textele, ci precizia regăsirii: cât de des reușește să prindă fragmentul esențial printre primele rezultate returnate?
Experimentul de mai jos rulează această verificare în două scenarii diferite. Mai întâi folosim întrebări formulate direct, folosind termenii tehnici exacți; apoi testăm aceleași întrebări reformulate prin sinonime sau ocolișuri, evitând deliberat cuvintele-cheie evidente.
Când întrebarea folosește exact termenii din dicționar, simpla potrivire a cuvintelor funcționează perfect și aduce fragmentul corect pe primul loc. Însă de îndată ce omul folosește o metaforă sau un sinonim neașteptat, căutarea strict lexicală devine neputincioasă.
Aici iese în evidență rolul bazelor vectoriale avansate. În sistemele comerciale de producție, vectorii nu sunt calculați prin simple medii locale, ci sunt generați de modele neuronale special antrenate pentru căutare pe sute de milioane de interogări reale. Ele înțeleg că „a rămâne fără memorie” și „epuizarea resurselor RAM” vorbesc despre același fenomen, chiar dacă nu împart niciun cuvânt identic.
Ce rezolvă și ce nu
Tehnica RAG oferă avantaje practice uriașe: aduce în discuție informații de ultimă oră sau date private confidențiale, permite citarea exactă a surselor și ancorează răspunsul în documente verificabile, în loc să depindă de memoria vagă a modelului.
Dar este crucial să ne amintim ce nu poate rezolva această metodă: ea nu anulează riscul de confabulare analizat anterior. Modelul parcurge fragmentele primite exact ca pe orice alt șir de jetoane și nu are un filtru infailibil pentru a distinge un fragment cu adevărat relevant de unul care doar pare potrivit la suprafață. Dacă în context se strecoară o informație eronată sau înșelătoare, rețeaua o va sintetiza cu același ton convingător și sigur pe sine. Un manual deschis pe bancă nu este de mare folos unui elev care ia de bun orice zvon scris pe o pagină rătăcită.
Din acest motiv, nu putem rezolva problema îndesând zeci de pagini în context: fiecare fragment adăugat mărește riscul de zgomot și confuzie (pe lângă costul substanțial de memorie și calcul explorat anterior).
Până acum, am analizat cum putem îmbunătăți performanțele adăugând unelte și arhive în jurul modelului. În lecția următoare, vom deschide capota și ne vom uita în interior: cum putem comprima și optimiza gigantica mașină neuronală — prin cuantizare, distilare și amestec de experți — astfel încât să ruleze rapid și economic fără a-și pierde priceperea.