Intel·ligència Artificial
Grans models de llenguatge basats en descodificadors: una guia completa
Grans models lingüístics (LLM) han revolucionat el camp del processament del llenguatge natural (PNL) demostrant capacitats notables per generar text semblant als humans, respondre preguntes i ajudar amb una àmplia gamma de tasques relacionades amb el llenguatge. Al nucli d'aquests models potents hi ha el Arquitectura de transformador només descodificador, una variant de l'arquitectura original del transformador proposada en el document seminal "L'atenció és tot el que necessiteu” de Vaswani et al.
En aquesta guia completa, explorarem el funcionament intern dels LLM basats en descodificadors, aprofundint en els blocs de construcció fonamentals, les innovacions arquitectòniques i els detalls d'implementació que han impulsat aquests models a l'avantguarda de la investigació i les aplicacions de PNL.
L'arquitectura del transformador: una actualització
Abans de capbussar-se en les especificitats dels LLM basats en descodificadors, és essencial revisar l'arquitectura del transformador, la base sobre la qual es construeixen aquests models. El transformador va introduir un enfocament nou per al modelatge de seqüències, basant-se únicament en mecanismes d'atenció per capturar dependències de llarg abast a les dades, sense necessitat de capes recurrents o convolucionals.
L'arquitectura original del transformador consta de dos components principals: un codificador i un descodificador. El codificador processa la seqüència d'entrada i genera una representació contextualitzada, que després és consumida pel descodificador per produir la seqüència de sortida. Aquesta arquitectura es va dissenyar inicialment per a tasques de traducció automàtica, on el codificador processa la frase d'entrada en l'idioma d'origen i el descodificador genera la frase corresponent en l'idioma de destinació.
Autoatenció: la clau de l'èxit de Transformer
Al cor de la ciutat transformador rau el mecanisme d'autoatenció, una tècnica potent que permet al model ponderar i agregar informació des de diferents posicions de la seqüència d'entrada. A diferència dels models de seqüències tradicionals, que processen els testimonis d'entrada de manera seqüencial, l'autoatenció permet al model capturar dependències entre qualsevol parell de fitxes, independentment de la seva posició a la seqüència.
L'operació d'autoatenció es pot dividir en tres passos principals:
- Projeccions de consulta, clau i valor: La seqüència d'entrada es projecta en tres representacions separades: consultes (Q), claus (K) i valors (V). Aquestes projeccions s'obtenen multiplicant l'entrada amb matrius de pes apreses.
- Càlcul de la puntuació d'atenció: Per a cada posició de la seqüència d'entrada, les puntuacions d'atenció es calculen prenent el producte escalat entre el vector de consulta corresponent i tots els vectors clau. Aquestes puntuacions representen la rellevància de cada posició per a la posició actual que s'està processant.
- Suma ponderada de valors: Les puntuacions d'atenció es normalitzen mitjançant una funció softmax, i els pesos d'atenció resultants s'utilitzen per calcular una suma ponderada dels vectors de valor, produint la representació de sortida per a la posició actual.
L'atenció multicap, una variant del mecanisme d'autoatenció, permet al model capturar diferents tipus de relacions calculant puntuacions d'atenció en múltiples "caps” en paral·lel, cadascun amb el seu propi conjunt de projeccions de consulta, clau i valor.
Variants i configuracions arquitectòniques
Tot i que els principis bàsics dels LLM basats en descodificadors segueixen sent coherents, els investigadors han explorat diverses variants i configuracions arquitectòniques per millorar el rendiment, l'eficiència i les capacitats de generalització. En aquesta secció, aprofundirem en les diferents opcions arquitectòniques i les seves implicacions.
Tipus d'arquitectura
Els LLM basats en descodificadors es poden classificar àmpliament en tres tipus principals: codificador-descodificador, descodificador causal i descodificador de prefix. Cada tipus d'arquitectura presenta diferents patrons d'atenció.
Arquitectura de codificador-descodificador
Basada en el model Vanilla Transformer, l'arquitectura codificador-descodificador consta de dues piles: un codificador i un descodificador. El codificador utilitza capes d'autoatenció multicaps apilades per codificar la seqüència d'entrada i generar representacions latents. Aleshores, el descodificador realitza una atenció creuada en aquestes representacions per generar la seqüència objectiu. Tot i que eficaç en diverses tasques de PNL, pocs LLM, com ara Flan-T5, adopta aquesta arquitectura.
Arquitectura del descodificador causal
L'arquitectura del descodificador causal incorpora una màscara d'atenció unidireccional, que permet que cada testimoni d'entrada només atengui els testimonis passats i ell mateix. Tant els testimonis d'entrada com de sortida es processen dins del mateix descodificador. Models notables com GPT-1, GPT-2 i GPT-3 es basen en aquesta arquitectura, amb GPT-3 que mostra capacitats d'aprenentatge en context notables. Molts LLM, inclosos OPT, BLOOM i Gopher, han adoptat àmpliament descodificadors causals.
Arquitectura del descodificador de prefix
També conegut com a descodificador no causal, l'arquitectura del descodificador de prefix modifica el mecanisme d'emmascarament dels descodificadors causals per permetre l'atenció bidireccional sobre els fitxes de prefix i l'atenció unidireccional en els testimonis generats. Igual que l'arquitectura codificador-decodificador, els descodificadors de prefix poden codificar la seqüència de prefix bidireccionalment i predir els testimonis de sortida de manera autoregressiva mitjançant paràmetres compartits. Els LLM basats en descodificadors de prefix inclouen GLM130B i U-PaLM.
Els tres tipus d'arquitectura es poden ampliar amb el barreja d'experts (MoE) tècnica d'escalat, que activa escassament un subconjunt de pesos de la xarxa neuronal per a cada entrada. Aquest enfocament s'ha utilitzat en models com Switch Transformer i GLaM, amb l'augment del nombre d'experts o la mida total del paràmetre mostrant millores de rendiment importants.
Transformador només amb descodificador: abraçant la naturalesa autoregressiva
Tot i que l'arquitectura del transformador original es va dissenyar per a tasques de seqüència a seqüència com la traducció automàtica, moltes tasques de PNL, com ara el modelatge del llenguatge i la generació de text, es poden emmarcar com a problemes autoregressius, on el model genera un testimoni alhora, condicionat a la fitxes generades anteriorment.
Introduïu el transformador només descodificador, una variant simplificada de l'arquitectura del transformador que només conserva el component del descodificador. Aquesta arquitectura és especialment adequada per a tasques autoregressives, ja que genera fitxes de sortida un per un, aprofitant els testimonis generats anteriorment com a context d'entrada.
La diferència clau entre el transformador només descodificador i el descodificador original del transformador rau en el mecanisme d'autoatenció. En la configuració només del descodificador, l'operació d'autoatenció es modifica per evitar que el model atengui les fitxes futures, una propietat coneguda com a causalitat. Això s'aconsegueix mitjançant una tècnica anomenada "autoatenció emmascarada", on les puntuacions d'atenció corresponents a posicions futures s'estableixen a l'infinit negatiu, emmascarant-les de manera efectiva durant el pas de normalització softmax.
Components arquitectònics dels LLM basats en descodificadors
Tot i que els principis bàsics de l'autoatenció i l'autoatenció emmascarada segueixen sent els mateixos, els LLM moderns basats en descodificadors han introduït diverses innovacions arquitectòniques per millorar el rendiment, l'eficiència i les capacitats de generalització. Explorem alguns dels components i tècniques clau que s'utilitzen en els LLM d'última generació.
Representació d'entrada
Abans de processar la seqüència d'entrada, els LLM basats en descodificadors utilitzen tècniques de tokenització i incrustació per convertir el text en brut en una representació numèrica adequada per al model.
Tokenització: El procés de tokenització converteix el text d'entrada en una seqüència de fitxes, que poden ser paraules, subparaules o fins i tot caràcters individuals, depenent de l'estratègia de tokenització emprada. Les tècniques de tokenització populars per a LLM inclouen la codificació de parells de bytes (BPE), SentencePiece i WordPiece. Aquests mètodes tenen com a objectiu aconseguir un equilibri entre la mida del vocabulari i la granularitat de la representació, permetent al model manejar paraules rares o fora del vocabulari de manera eficaç.
Incrustacions de testimonis: Després de la tokenització, cada testimoni s'assigna a una representació vectorial densa anomenada incrustació de testimonis. Aquestes incrustacions s'aprenen durant el procés d'entrenament i capturen relacions semàntiques i sintàctiques entre fitxes.
Incrustacions posicionals: Els models de transformador processen tota la seqüència d'entrada simultàniament, sense la noció inherent de les posicions de les fitxes presents en els models recurrents. Per incorporar informació posicional, s'afegeixen incrustacions posicionals a les incrustacions de fitxes, la qual cosa permet al model distingir entre fitxes en funció de les seves posicions a la seqüència. Els primers LLM utilitzaven incrustacions posicionals fixes basades en funcions sinusoïdals, mentre que els models més recents han explorat incrustacions posicionals aprendre o tècniques alternatives de codificació posicional com les incrustacions posicionals rotatives.
Blocs d'atenció multicapçal
Els blocs bàsics dels LLM basats en descodificadors són capes d'atenció multicaps, que realitzen l'operació d'autoatenció emmascarada descrita anteriorment. Aquestes capes s'apilen diverses vegades, amb cada capa atenent a la sortida de la capa anterior, cosa que permet al model capturar dependències i representacions cada cop més complexes.
Caps d'atenció: cada capa d'atenció de diversos capçals consta de diversos "caps d'atenció", cadascun amb el seu propi conjunt de projeccions de consulta, clau i valor. Això permet al model atendre diferents aspectes de l'entrada simultàniament, capturant relacions i patrons diversos.
Connexions residuals i normalització de capes: Per facilitar l'entrenament de xarxes profundes i mitigar el problema del gradient de desaparició, els LLM basats en descodificadors utilitzen connexions residuals i tècniques de normalització de capes. Les connexions residuals afegeixen l'entrada d'una capa a la seva sortida, permetent que els gradients flueixin més fàcilment durant la retropropagació. La normalització de capes ajuda a estabilitzar les activacions i els gradients, millorant encara més l'estabilitat i el rendiment de l'entrenament.
Capes d'alimentació cap endavant
A més de les capes d'atenció de diversos caps, els LLM basats en descodificadors incorporen capes d'alimentació anticipada, que apliquen una xarxa neuronal d'alimentació simple a cada posició de la seqüència. Aquestes capes introdueixen no linealitats i permeten que el model aprengui representacions més complexes.
Funcions d'activació: L'elecció de la funció d'activació a les capes de feed-forward pot afectar significativament el rendiment del model. Tot i que els LLM anteriors es basaven en l'activació ReLU àmpliament utilitzada, els models més recents han adoptat funcions d'activació més sofisticades com la unitat lineal d'error gaussià (GELU) o l'activació SwiGLU, que han mostrat un rendiment millorat.
Atenció escassa i transformadors eficients
Tot i que el mecanisme d'autoatenció és potent, ve amb una complexitat computacional quadràtica pel que fa a la longitud de la seqüència, cosa que la fa costosa computacionalment per a seqüències llargues. Per abordar aquest repte, s'han proposat diverses tècniques per reduir els requisits computacionals i de memòria de l'autoatenció, permetent un processament eficient de seqüències més llargues.
Atenció escassa: Les tècniques d'atenció escassa, com la que s'utilitza en el model GPT-3, atenen selectivament un subconjunt de posicions en la seqüència d'entrada, en lloc de calcular les puntuacions d'atenció per a totes les posicions. Això pot reduir significativament la complexitat computacional mantenint un rendiment raonable.
Atenció de la finestra corredissa: Introduït al model Mistral 7B, l'atenció de la finestra lliscant (SWA) és una tècnica senzilla però eficaç que restringeix l'amplitud d'atenció de cada testimoni a una mida de finestra fixa. Aquest enfocament aprofita la capacitat de les capes del transformador per transmetre informació a través de múltiples capes, augmentant eficaçment la capacitat d'atenció sense la complexitat quadràtica de l'autoatenció total.
Memòria cau de memòria intermèdia: Per reduir encara més els requisits de memòria, especialment per a seqüències llargues, el model Mistral 7B utilitza una memòria cau de memòria intermèdia. Aquesta tècnica emmagatzema i reutilitza els vectors de clau i valor calculats per a una mida de finestra fixa, evitant càlculs redundants i minimitzant l'ús de memòria.
Atenció de consultes agrupades: Introduït al model LLaMA 2, l'atenció de consulta agrupada (GQA) és una variant del mecanisme d'atenció de consultes múltiples que divideix els caps d'atenció en grups, cada grup compartint una clau i una matriu de valors comuns. Aquest enfocament aconsegueix un equilibri entre l'eficiència de l'atenció de múltiples consultes i el rendiment de l'autoatenció estàndard, proporcionant temps d'inferència millorats alhora que es mantenen resultats d'alta qualitat.