Modele și platforme AI

Modele de limbaj mare bazate pe decodificator: Ghid complet

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Modelele de limbaj mare (LLM) au revoluționat domeniul prelucrării limbajului natural (NLP) prin demonstrarea unor capacități remarcabile ÃŪn generarea unui text similar cu cel uman, răspunsuri la ÃŪntrebări și asistență pentru o gamă largă de sarcini legate de limbaj. La baza acestor modele puternice se află arhitectura decodificatorului, o variantă a arhitecturii originale de transformator, propusă ÃŪn lucrarea seminală “Atenția este tot ce ai nevoie” de Vaswani et al.

În acest ghid cuprinzător, vom explora funcționarea internă a LLM-urilor bazate pe decodificator, adÃĒncindu-ne ÃŪn blocurile fundamentale de construcție, inovațiile arhitecturale și detaliile de implementare care au propulsat aceste modele ÃŪn fruntea cercetărilor și aplicațiilor NLP.

Arhitectura Transformer: O Reamintire

Înainte de a ne scufunda ÃŪn specificul LLM-urilor bazate pe decodificator, este esențial să reamintim arhitectura de transformator, pe care se bazează aceste modele. Transformatorul a introdus o abordare nouă pentru modelarea secvențială, bazÃĒndu-se exclusiv pe mecanismele de atenție pentru a captura dependențele pe termen lung ÃŪn date, fără a necesita straturi recurente sau convoluționale.

Arhitectura Transformer

Arhitectura Transformer

Arhitectura de transformator originală constă din două componente principale: un codificator și un decodificator. Codificatorul prelucrează secvența de intrare și generează o reprezentare contextualizată, care este apoi consumată de decodificator pentru a produce secvența de ieșire. Această arhitectură a fost inițial proiectată pentru sarcini de traducere automată, unde codificatorul prelucrează propoziția de intrare ÃŪn limba sursă, iar decodificatorul generează propoziția corespunzătoare ÃŪn limba țintă.

Atenția de Sine: Cheia Succesului Transformatorului

La baza transformatorului se află mecanismul de atenție de sine, o tehnică puternică care permite modelului să cÃĒntărească și să agregheze informații din diferite poziții ÃŪn secvența de intrare. În contrast cu modelele secvențiale tradiționale, care prelucrează tokenii de intrare secvențial, atenția de sine permite modelului să captureze dependențe ÃŪntre orice pereche de tokeni, indiferent de poziția lor ÃŪn secvență.

Atenție Multiquery

Atenție Multiquery

Operația de atenție de sine poate fi descompusă ÃŪn trei pași principali:

  1. Proiecții de Intrebare, Cheie și Valoare: Secvența de intrare este proiectată ÃŪn trei reprezentări separate: ÃŪntrebări (Q), chei (K) și valori (V). Aceste proiecții sunt obținute prin multiplicarea intrării cu matricele de greutate ÃŪnvățate.
  2. Calculul Scorurilor de Atenție: Pentru fiecare poziție ÃŪn secvența de intrare, scorurile de atenție sunt calculate prin luarea produsului scalar dintre vectorul de ÃŪntrebare corespunzător și toate vectorii de cheie. Aceste scoruri reprezintă relevanța fiecărei poziții pentru poziția curentă care este prelucrată.
  3. Suma Ponderată a Valorilor: Scorurile de atenție sunt normalizate folosind o funcție softmax, iar greutățile de atenție rezultate sunt utilizate pentru a calcula o sumă ponderată a vectorilor de valoare, producÃĒnd reprezentarea de ieșire pentru poziția curentă.

Atenția multi-cap este o variantă a mecanismului de atenție de sine, care permite modelului să captureze diferite tipuri de relații prin calcularea scorurilor de atenție pe multiple “capete” ÃŪn paralel, fiecare cu propriile proiecții de ÃŪntrebare, cheie și valoare.

Variante și Configurații Arhitecturale

În timp ce principiile de bază ale LLM-urilor bazate pe decodificator rămÃĒn constante, cercetătorii au explorat diverse variante și configurații arhitecturale pentru a ÃŪmbunătăți performanța, eficiența și capacitățile de generalizare. În această secțiune, vom explora diferitele alegeri arhitecturale și implicațiile lor.

Tipuri de Arhitecturi

LLM-urile bazate pe decodificator pot fi clasificate ÃŪn trei tipuri principale: codificator-decodificator, decodificator cauzal și decodificator prefix. Fiecare tip de arhitectură prezintă modele de atenție distincte.

Arhitectura Codificator-Decodificator

Pe baza modelului de transformator vanilla, arhitectura codificator-decodificator constă din două stive: un codificator și un decodificator. Codificatorul utilizează straturi de atenție de sine multi-cap pentru a codifica secvența de intrare și a genera reprezentări contextualizate. Decodificatorul efectuează apoi atenție ÃŪncrucișată pe aceste reprezentări pentru a genera secvența țintă. Deși eficientă ÃŪn diverse sarcini NLP, puține LLM-uri, cum ar fi Flan-T5, adoptă această arhitectură.

Arhitectura Decodificator Cauzal

Arhitectura decodificatorului cauzal incorporează o mască de atenție unidirecțională, permițÃĒnd fiecărui token de intrare să se concentreze doar asupra tokenilor din trecut și asupra sa. AtÃĒt tokenii de intrare, cÃĒt și cei de ieșire sunt prelucrați ÃŪn același decodificator. Modele notabile, cum ar fi GPT-1, GPT-2 și GPT-3, sunt construite pe această arhitectură, GPT-3 demonstrÃĒnd capacități remarcabile de ÃŪnvățare ÃŪn context.

Arhitectura Decodificator Prefix

Cunoscută și sub numele de decodificator non-cauzal, arhitectura decodificatorului prefix modifică mecanismul de mascare al decodificatorului cauzal pentru a permite atenție bidirecțională peste tokenii prefix și atenție unidirecțională pe tokenii generați. La fel ca arhitectura codificator-decodificator, decodificatoarele prefix pot codifica secvența prefix bidirecțional și pot prezice tokenii de ieșire autoregresiv, utilizÃĒnd parametri compartizați.

Toate cele trei tipuri de arhitecturi pot fi extinse utilizÃĒnd tehnica de scalare mixture-of-experts (MoE), care activează ÃŪn mod sparse o submulțime a greutăților rețelei neuronale pentru fiecare intrare. Această abordare a fost utilizată ÃŪn modele cum ar fi Switch Transformer și GLaM, cu creșterea numărului de experți sau a dimensiunii totale a parametrilor, demonstrÃĒnd ÃŪmbunătățiri semnificative ale performanței.

Decodificatorul Transformer: Îmbrățișarea Naturii Autoregresive

În timp ce arhitectura de transformator originală a fost proiectată pentru sarcini de tip secvență-la-secvență, cum ar fi traducerea automată, multe sarcini NLP, cum ar fi modelarea limbajului și generarea de text, pot fi formulate ca probleme autoregresive, unde modelul generează un token la un moment dat, condiționat de tokenii generați anterior.

Intră ÃŪn scenă decodificatorul transformer, o variantă simplificată a arhitecturii de transformator, care păstrează doar componenta decodificatorului. Această arhitectură este deosebit de potrivită pentru sarcini autoregresive, deoarece generează tokeni de ieșire unul cÃĒte unul, folosind tokenii generați anterior ca context de intrare.

Diferența cheie ÃŪntre decodificatorul transformer și decodificatorul transformatorului original constă ÃŪn mecanismul de atenție de sine. În setarea decodificatorului, operația de atenție de sine este modificată pentru a preveni modelul să se concentreze asupra tokenilor viitori, o proprietate cunoscută sub numele de cauzalitate. Acest lucru se realizează prin intermediul unei tehnici numite “atenție de sine mascată”, unde scorurile de atenție corespunzătoare pozițiilor viitoare sunt setate la minus infinit, efectiv mascÃĒndu-le ÃŪn timpul etapei de normalizare softmax.

Componentele Arhitecturale ale LLM-urilor Bazate pe Decodificator

În timp ce principiile de bază ale atenției de sine și atenției de sine mascate rămÃĒn aceleași, LLM-urile moderne bazate pe decodificator au introdus numeroase inovații arhitecturale pentru a ÃŪmbunătăți performanța, eficiența și capacitățile de generalizare. Să explorăm unele dintre componentele și tehnicile cheie utilizate ÃŪn LLM-urile de ultimă generație.

Reprezentarea Intrării

Înainte de a prelucra secvența de intrare, LLM-urile bazate pe decodificator utilizează tehnici de tokenizare și ÃŪncorporare pentru a converti textul brut ÃŪntr-o reprezentare numerică adecvată pentru model.

ÃŪncorporare vectorială

ÃŪncorporare vectorială

Tokenizare: Procesul de tokenizare convertește textul de intrare ÃŪntr-o secvență de tokeni, care pot fi cuvinte, subcuvinte sau chiar caractere individuale, ÃŪn funcție de strategia de tokenizare utilizată. Tehnici populare de tokenizare pentru LLM-uri includ Byte-Pair Encoding (BPE), SentencePiece și WordPiece. Aceste metode ÃŪncearcă să găsească un echilibru ÃŪntre dimensiunea vocabularului și granularitatea reprezentării, permițÃĒnd modelului să gestioneze cuvinte rare sau din afara vocabularului ÃŪn mod eficient.

Încorporări de Tokeni: După tokenizare, fiecare token este mapat la o reprezentare vectorială densă numită ÃŪncorporare de token. Aceste ÃŪncorporări sunt ÃŪnvățate ÃŪn timpul procesului de antrenare și capturează relații semantice și sintactice ÃŪntre tokeni.

Încorporări Pozitionale: Modelele de transformator prelucrează ÃŪntreaga secvență de intrare simultan, lipsind de noțiunea intrinsecă a poziției tokenilor prezentă ÃŪn modelele recurente. Pentru a incorpora informații pozitionale, ÃŪncorporările pozitionale sunt adăugate la ÃŪncorporările de token, permițÃĒnd modelului să diferențieze tokeni pe baza poziției lor ÃŪn secvență. LLM-urile timpurii au utilizat ÃŪncorporări pozitionale fixe bazate pe funcții sinusoidale, ÃŪn timp ce modelele mai recente au explorat ÃŪncorporări pozitionale ÃŪnvățate sau tehnici alternative de codare pozițională, cum ar fi ÃŪncorporările pozitionale rotative.

Blocuri de Atenție Multi-Cap

Blocurile de bază ale LLM-urilor bazate pe decodificator sunt straturile de atenție multi-cap, care efectuează operația de atenție de sine mascată descrisă anterior. Aceste straturi sunt stivuite de multiple ori, cu fiecare strat atenționÃĒnd la ieșirea stratului anterior, permițÃĒnd modelului să captureze dependențe și reprezentări din ce ÃŪn ce mai complexe.

Capse de Atenție: Fiecare strat de atenție multi-cap constă din multiple “capse de atenție“, fiecare cu propriile proiecții de ÃŪntrebare, cheie și valoare. Acest lucru permite modelului să se concentreze asupra diferitelor aspecte ale intrării simultan, capturÃĒnd relații și modele diverse.

Conexiuni Reziduale și Normalizare de Strat: Pentru a facilita antrenarea rețelelor profunde și a mitigă problema gradientului dispărut, LLM-urile bazate pe decodificator utilizează conexiuni reziduale și tehnici de normalizare de strat. Conexiunile reziduale adaugă intrarea unui strat la ieșirea sa, permițÃĒnd gradientelor să curgă mai ușor ÃŪn timpul propagării inverse. Normalizarea de strat ajută la stabilizarea activărilor și gradientelor, ÃŪmbunătățind ÃŪn continuare stabilitatea și performanța antrenamentului.

Straturi Feed-Forward

În plus față de straturile de atenție multi-cap, LLM-urile bazate pe decodificator incorporează straturi feed-forward, care aplică o rețea neurală simplă feed-forward la fiecare poziție ÃŪn secvență. Aceste straturi introduc neliniarități și permit modelului să ÃŪnvețe reprezentări mai complexe.

Funcții de Activare: Alegerea funcției de activare ÃŪn straturile feed-forward poate avea un impact semnificativ asupra performanței modelului. În timp ce LLM-urile timpurii s-au bazat pe funcția de activare ReLU, modelele mai recente au adoptat funcții de activare mai sofisticate, cum ar fi Unitatea Gaussiană de Erori Lineară (GELU) sau activarea SwiGLU, care au demonstrat o performanță ÃŪmbunătățită.

Atenție Sparșă și Transformatori Eficenți

În timp ce mecanismul de atenție de sine este puternic, el vine cu o complexitate computațională pătratică ÃŪn raport cu lungimea secvenței, făcÃĒndu-l computațional scump pentru secvențe lungi. Pentru a aborda această provocare, au fost propuse numeroase tehnici pentru a reduce cerințele computaționale și de memorie ale atenției de sine, permițÃĒnd procesarea eficientă a secvențelor mai lungi.

Atenție Sparșă: Tehnicile de atenție sparșă, cum ar fi cea utilizată ÃŪn modelul GPT-3, se concentrează selectiv asupra unei submulțimi de poziții ÃŪn secvența de intrare, ÃŪn loc de a calcula scoruri de atenție pentru toate pozițiile. Acest lucru poate reduce semnificativ complexitatea computațională, menținÃĒnd ÃŪn același timp o performanță rezonabilă.

Atenție cu Fereastră Glisantă: Introdusă ÃŪn modelul Mistral 7B, atenția cu fereastră glisantă (SWA) este o tehnică simplă, dar eficientă, care restricționează sfera de atenție a fiecărui token la o dimensiune fixă a ferestrei. Această abordare valorifică capacitatea straturilor de transformator de a transmite informații pe multiple straturi, efectiv creșterea sferei de atenție fără complexitatea pătratică a atenției de sine complete.

Cache de Bufet Rulant: Pentru a reduce ÃŪn continuare cerințele de memorie, ÃŪn special pentru secvențe lungi, modelul Mistral 7B utilizează un cache de bufet rulant. Această tehnică stochează și reutilizează vectorii de cheie și valoare calculați pentru o dimensiune fixă a ferestrei, evitÃĒnd calcule redundante și minimizÃĒnd utilizarea memoriei.

Atenție de Intrebare Grupată: Introdusă ÃŪn modelul LLaMA 2, atenția de ÃŪntrebare grupată (GQA) este o variantă a mecanismului de atenție multi-intrebare care divide capetele de atenție ÃŪn grupuri, fiecare grup ÃŪmpărtășind o matrice de cheie și valoare comună. Această abordare echilibrează eficiența atenției multi-intrebare și performanța atenției de sine standard, oferind timpi de inferență ÃŪmbunătățiți, menținÃĒnd ÃŪn același timp rezultate de calitate.

Atenție de ÃŪntrebare grupată

Atenție de ÃŪntrebare grupată

Dimensiunea Modelului și Scalarea

Una dintre caracteristicile definitorii ale LLM-urilor moderne este dimensiunea lor impresionantă, cu numărul de parametri variind de la miliarde la sute de miliarde. Creșterea dimensiunii modelului a fost un factor crucial ÃŪn atingerea performanței de ultimă generație, deoarece modelele mai mari pot captura tipuri mai complexe de modele și relații ÃŪn date.

Număr de Parametri: Numărul de parametri ÃŪntr-un LLM bazat pe decodificator este determinat ÃŪn primul rÃĒnd de dimensiunea ÃŪncorporării (d_model), numărul de capete de atenție (n_heads), numărul de straturi (n_layers) și dimensiunea vocabularului (vocab_size). De exemplu, modelul GPT-3 are 175 de miliarde de parametri, cu d_model = 12288, n_heads = 96, n_layers = 96 și vocab_size = 50257.

Paralelism de Model: Antrenarea și implementarea unor astfel de modele masive necesită resurse computaționale substanțiale și hardware specializat. Pentru a depăși această provocare, tehnici de paralelism de model au fost utilizate, unde modelul este ÃŪmpărțit pe multiple GPU-uri sau TPUs, fiecare dispozitiv fiind responsabil pentru o parte a calculelor.

Mixture-of-Experts: O altă abordare pentru scalarea LLM-urilor este arhitectura mixture-of-experts (MoE), care combină multiple modele expert, fiecare specializat ÃŪntr-un subset specific de date sau sarcină. Modelul Mixtral 8x7B este un exemplu de model MoE care utilizează modelul Mistral 7B ca model de bază, atingÃĒnd o performanță superioară, menținÃĒnd ÃŪn același timp eficiența computațională.

Inferență și Generare de Text

Una dintre principalele utilizări ale LLM-urilor bazate pe decodificator este generarea de text, unde modelul generează text coerent și natural, bazat pe un prompt sau context dat.

Decodificare Autoregresivă: În timpul inferenței, LLM-urile bazate pe decodificator generează text ÃŪn mod autoregresiv, prezicÃĒnd un token la un moment dat, pe baza tokenilor generați anterior și a promptului de intrare. Acest proces continuă pÃĒnă cÃĒnd este atins un criteriu de oprire prestabilit, cum ar fi atingerea unei lungimi maxime de secvență sau generarea unui token de sfÃĒrșit de secvență.

Strategii de Eșantionare: Pentru a genera text divers și realist, pot fi utilizate diverse strategii de eșantionare, cum ar fi eșantionarea top-k, eșantionarea top-p (cunoscută și sub numele de eșantionarea nucleului) sau scalarea temperaturii. Aceste tehnici controlează compromisul ÃŪntre diversitate și coerență a textului generat, ajustÃĒnd distribuția de probabilitate pe vocabular.

Ingineria Promptului: Calitatea și specificitatea promptului de intrare pot avea un impact semnificativ asupra textului generat. Ingineria promptului, arta de a crea prompturi eficiente, a devenit un aspect crucial ÃŪn exploatarea LLM-urilor pentru diverse sarcini, permițÃĒnd utilizatorilor să ghideze procesul de generare și să atingă rezultate dorite.

Decodificare cu Intervenție Umană: Pentru a ÃŪmbunătăți ÃŪn continuare calitatea și coerența textului generat, tehnici cum ar fi Învățarea prin Întărire din Feedback Uman (RLHF) au fost utilizate. În această abordare, evaluatori umani oferă feedback asupra textului generat de model, care este apoi utilizat pentru a ajusta modelul, aliniindu-l efectiv cu preferințele umane și ÃŪmbunătățind ieșirile sale.

Avansări și Direcții Viitoare

Domeniul LLM-urilor bazate pe decodificator evoluează rapid, cu noi cercetări și descoperiri continuÃĒnd să ÃŪmpingă limitele a ceea ce aceste modele pot realiza. Iată cÃĒteva avanșări notabile și posibile direcții viitoare:

Variante Eficente de Transformator: În timp ce atenția sparșă și atenția cu fereastră glisantă au făcut pași importanți ÃŪn ÃŪmbunătățirea eficienței LLM-urilor bazate pe decodificator, cercetătorii explorează activ arhitecturi și mecanisme de atenție alternative pentru a reduce ÃŪn continuare cerințele computaționale, menținÃĒnd sau ÃŪmbunătățind performanța.

LLM-uri Multimodale: ExtinzÃĒnd capacitățile LLM-urilor dincolo de text, modelele multimodale ÃŪncearcă să integreze multiple moduri, cum ar fi imagini, audio sau video, ÃŪntr-un cadru unificat. Acest lucru deschide posibilități interesante pentru aplicații cum ar fi generarea de titluri pentru imagini, răspunsuri la ÃŪntrebări vizuale și generarea de conținut multimedia.

Generare Controlată: PermițÃĒnd un control fin asupra textului generat este o direcție importantă, dar provocatoare, pentru LLM-uri. Tehnici cum ar fi generarea de text controlată și ajustarea promptului ÃŪncearcă să ofere utilizatorilor un control mai granular asupra diverselor atribute ale textului generat, cum ar fi stil, ton sau cerințe specifice de conținut.

Concluzii

LLM-urile bazate pe decodificator au devenit o forță transformatoare ÃŪn domeniul prelucrării limbajului natural, ÃŪmpingÃĒnd limitele a ceea ce este posibil ÃŪn generarea și ÃŪnțelegerea limbajului. De la ÃŪnceputurile lor ca variantă simplificată a arhitecturii de transformator, aceste modele s-au evoluat ÃŪn sisteme puternice și sofisticate, valorificÃĒnd tehnici și inovații arhitecturale de ultimă generație.

Pe măsură ce continuăm să explorăm și să dezvoltăm LLM-urile bazate pe decodificator, putem aștepta să vedem realizări și mai remarcabile ÃŪn sarcini legate de limbaj, precum și integrarea acestor modele ÃŪntr-o gamă largă de aplicații și domenii. Cu toate acestea, este esențial să abordăm considerațiile etice, provocările de interpretare și potențialele prejudecăți care pot apărea din implementarea pe scară largă a acestor modele puternice.

Prin menținerea unei poziții de lider ÃŪn cercetare, promovarea colaborării deschise și angajamentul față de dezvoltarea responsabilă a inteligenței artificiale, putem debloca pe deplin potențialul LLM-urilor bazate pe decodificator, asigurÃĒndu-ne că sunt dezvoltate și utilizate ÃŪntr-un mod sigur, etic și benefic pentru societate.

Am petrecut ultimii cinci ani scufundÃĒndu-mă ÃŪn lumea fascinantă a Machine Learning și Deep Learning. Pasinea și expertiza mea m-au condus să contribui la peste 50 de proiecte diverse de inginerie software, cu un focus deosebit pe AI/ML. Curiozitatea mea ÃŪn continuare m-a atras și spre Natural Language Processing, un domeniu pe care sunt dornic să ÃŪl explorez mai departe.