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.