Salta al contingut
Entendre els LLMs
🧭 Camí intuïtiuBloc 135-45 min
IntuïtiuMatemàtic

La versió sense fórmules de 02 · Càlcul i optimització. Cada secció diu on és la seva part matemàtica.

02 · Aprendre és baixar la muntanya amb boira

Quan es diu que un model «aprèn», què passa de debò? No hi ha ningú que li expliqui res: hi ha milers de milions de rodetes (els seus números interns) i un sol número que diu com s'equivoca. Aprendre és anar girant les rodetes, de mica en mica, en la direcció que fa baixar aquest número. Aquest capítol explica com se sap quina és aquesta direcció i per què fer-ho bé és més difícil del que sembla.

1. El pendent com a brúixola#

Imagina que ets dalt d'una muntanya, amb una boira tan espessa que no veus res més enllà dels teus peus, i vols arribar a la vall. No tens mapa. L'única cosa que pots fer és notar cap on fa pendent el terra que trepitges i fer un pas cap avall. I després un altre.

Entrenar un model és exactament això. Cada número intern del model (cada paràmetre) és una coordenada; el terreny és la pèrdua (loss), un sol número que mesura com d'equivocat és el model amb les dades d'entrenament. Cada combinació de paràmetres és un lloc del paisatge, i el lloc on la pèrdua és més baixa és la vall que busquem.

Baixar la muntanya amb boira

Punt de sortida
Boira
Amb boira només veus el terra que tens sota els peus, i amb això n'hi ha prou per saber cap on fa baixada: la fletxa apunta on el terreny baixa més de pressa, i és més llarga com més costerut és. Portes 0 passos. Com més intens és el color, més alt és el terreny.

La direcció en què el terreny puja més de pressa es diu gradient (gradient), i com més costerut és el terreny, més gran és. Per baixar, es fa un pas en la direcció contrària. Aquesta és tota la brúixola que té l'entrenament.

L'analogia es trenca en dos llocs. El primer: el paisatge d'un LLM no té dues dimensions sinó tantes com paràmetres, centenars de milers de milions. El segon: amb boira de debò podries palpar el terreny del voltant; aquí només tens el pendent del punt exacte on ets, i amb això n'has de tenir prou.

També es pot mesurar com canvia el pendent quan et mous: si el terreny es corba suau com un bol ample o de cop com una canal estreta. És la curvatura, i saber-la ajudaria a fer passos més ben triats. Però per a un model de cent mil milions de paràmetres, la taula completa de curvatures tindria tantes caselles com un u seguit de vint-i-dos zeros. Ningú no la pot calcular, i per això els mètodes d'entrenament es conformen amb una aproximació barata (Adam, a la secció 5, n'és una).

2. La culpa repartida enrere#

Un model és una cadena de passos: cada capa agafa el resultat de l'anterior, el transforma i el passa a la següent. Al final hi ha una resposta, i una pèrdua. Per saber cap on girar cada rodeta, cal respondre una pregunta: si movem una mica aquesta rodeta, quant canvia la pèrdua del final?

La resposta surt d'una regla senzilla, la regla de la cadena: quan les coses estan enllaçades, les influències es multipliquen. Si moure A una mica mou B el doble, i moure B mou C el triple, moure A mou C sis vegades.

La culpa es reparteix cap enrere

1/7La cadena

ABC×2×3

Tres rodes enllaçades. Cada volta d'A fa fer 2 voltes a B, i cada volta de B en fa fer 3 a C.

Aquesta és la idea de la retropropagació (backpropagation): les influències de cada baula es multipliquen, i es calculen començant pel final.

Fer-ho començant pel final és el truc que fa possible entrenar xarxes enormes. Amb una sola passada enrere saps la influència de tots els paràmetres alhora, en comptes d'haver de provar-los un per un. Se'n diu retropropagació (backpropagation), i la veuràs sencera al capítol 6.

Té dos preus. La passada enrere costa, en càlcul, aproximadament el doble que la passada endavant. I, com que les influències de cada baula depenen dels valors que hi havia a l'anada, cal guardar tots aquests valors intermedis fins que s'acaba la tornada: la memòria es converteix en el coll d'ampolla. Molts dels trucs del capítol 17 existeixen només per estalviar aquesta memòria.

Prediu, resta la veritat, propaga

Al final de tot LLM hi ha la mateixa peça: el model reparteix la seva confiança entre totes les paraules possibles, i després arriba la paraula que venia de debò. El senyal que surt d'aquí, el que es propaga enrere, té una forma gairebé massa senzilla.

Prediu, resta la veritat, propaga

confiança del modelempentafinestra35 %▼ −0,35taula25 %▼ −0,25teulada20 %▲ +0,80cadira10 %▼ −0,10lluna10 %▼ −0,10
La paraula que venia de debò
Després de «El gat s'ha enfilat a la…», el model reparteix la confiança com mostren les barres (repartiment inventat per a l'exemple). Quan arriba la paraula de debò, la puntuació de teulada rep una empenta cap amunt igual al que li faltava per arribar al 100 %, i la de cada una de les altres, una empenta cap avall igual a la confiança que tenia. Si el model ja hi posava gairebé tota la confiança, l'empenta és petita.

Un detall per llegir-la: el model no reparteix la confiança directament, sinó que primer dona a cada paraula una puntuació i després converteix les puntuacions en percentatges. L'empenta s'aplica a les puntuacions. La de la paraula correcta rep una empenta cap amunt igual al que li faltava per arribar al 100 %; la de cada una de les altres, una empenta cap avall igual a la confiança que hi havia posat. Si el model ho encertava amb molta seguretat, gairebé no es mou res. Aquesta senzillesa és una de les raons per les quals aquesta combinació s'ha fet universal. La pèrdua que produeix aquest senyal es diu entropia creuada (cross-entropy), i al capítol 4 veuràs que és, literalment, la sorpresa del model.

3. La mida del pas#

Saber cap on baixar no ho és tot: també has de decidir quant avances a cada pas. Aquesta mida del pas es diu ritme d'aprenentatge (learning rate), i és probablement el número més important que tria a mà qui entrena un model. (Els números que es trien a mà en comptes d'aprendre's es diuen hiperparàmetres.)

La mida del pas

123sortidafons de la vall
Massa petit: cada pas és segur, però en calen desenes o centenars per arribar al fons. Després de 10 passos, la pilota és a 0,84 unitats del fons (començava a 2,4).

Si el pas és massa petit, avances segur però tan lent que mai no arribes, i pots quedar-te encallat en una zona dolenta. Si és massa gran, cada pas et fa saltar per sobre del fons de la vall, i a partir d'un llindar cada salt aterra més amunt que l'anterior: la pèrdua es dispara, i acaba sent un valor que ja no és ni un número. Entre els dos extrems hi ha una franja on el descens és ràpid i estable.

A la pràctica, el pas no és fix: segueix un calendari (schedule). Al principi es comença amb passos petits que van creixent (l'escalfament, warmup), perquè als primers passos les notes que porta el mètode d'entrenament per decidir cada pas (les veuràs a la secció 5) encara són poc fiables, i un pas gran podria fer destrosses. Després el pas va baixant, perquè a prop del fons convé anar amb compte.

Un calendari per a la mida del pas

escalfamentterra: 10 % del màximpassos d'entrenament →gran0
Recepta
La recepta més habitual: uns quants passos d'escalfament en què el pas creix de zero fins al màxim (aquí exagerat perquè es vegi: a la pràctica és entre un 0,5 % i un 2 % dels passos), i després una baixada suau fins a un terra del 10 % del màxim. Cal saber d'entrada quant durarà l'entrenament.

Hi ha un altre detall. Per calcular el pendent exacte caldria mirar totes les dades d'entrenament, i això és impossible a cada pas. El que es fa és com una enquesta: s'agafa un lot (batch) de dades, d'uns quants exemples a uns quants milions de tokens, i se n'estima el pendent. L'estimació és sorollosa, però és barata, es pot repartir entre moltes targetes gràfiques, i aquest soroll fins i tot ajuda.

4. La forma del paisatge#

Si el paisatge fos un sol bol, baixar sempre portaria al fons. Els problemes que tenen aquesta forma es diuen convexos, i són els fàcils. El paisatge d'una xarxa neuronal no ho és: té valls, collades i altiplans.

Això fa por, però la realitat és més amable del que sembla. En un paisatge de milers de milions de dimensions, quedar-se atrapat en una vall dolenta és rar: perquè un punt sigui el fons d'una vall, ha de pujar en totes les direccions, i amb tantes direccions gairebé sempre n'hi ha alguna per on continuar baixant. El que abunda són els punts de sella (saddle points), com les collades entre dues muntanyes: llocs que són un fons en unes direccions i un cim en d'altres, com el seient d'una sella de muntar. El soroll dels lots ajuda a sortir-ne.

Una altra qüestió és quina vall trobes. Hi ha indicis que les valls amples (els mínims plans) generalitzen millor que les estretes. La intuïció és aquesta:

Mínim pla contra mínim agut

plaagut↑ error
Paisatge
Dues valls gairebé igual de fondes: una d'ampla i una d'estreta. Amb les dades d'entrenament, als dos punts l'error és pràcticament el mateix. Dibuix esquemàtic.

Quan el paisatge és molt més costerut en una direcció que en una altra, una vall estreta i llarga, apareix un altre problema: el descens rebota de paret a paret. Ho veuràs a la secció següent, amb les solucions.

5. Inèrcia, Adam i el que costen#

Torna a la boira, però ara ets una bola pesant en comptes d'una persona. Una bola no canvia de direcció de cop: porta inèrcia. Si el terreny la fa anar d'una paret a l'altra, els empentons cap a un costat i cap a l'altre s'anul·len, i el que es va acumulant és l'avanç cap al fons. Aquesta és la idea del momentum.

Adam, el mètode que fa servir pràcticament tothom, hi afegeix una segona idea: porta una nota per a cada paràmetre de com de grans solen ser els seus pendents, i ajusta la mida del pas de cada un per separat. On el terreny és molt costerut, frena; on és pla, accelera.

Una vall estreta, tres maneres de baixar-la

fonssortida
Mètode
Cada pas va on mana el pendent d’aquell punt. Com que les parets són molt més costerudes que el fons de la vall, la pilota rebota de paret a paret i avança a poc a poc cap al mínim. Després de 40 passos, l'error que queda és 0,058 (pas simple), 0,005 (amb inèrcia), 0,005 (Adam).

La versió que entrena els LLMs es diu AdamW: a més del pas, aplica una força petita que estira tots els paràmetres cap a zero, per separat de la resta (el weight decay). Darrerament han aparegut mètodes que tracten cada matriu de paràmetres com una matriu sencera, i no com una llista de números solts, i que aprenen més amb les mateixes dades.

Les notes d'Adam no són gratis. Per cada paràmetre en guarda dues, i cadascuna ocupa tant com el paràmetre mateix.

El que ocupa entrenar

28 GBpesos28 GBpendents56 GBles dues notes d’Adam80 GB: una H100
Mètode
Un model de 7.000 milions de paràmetres, amb cada número en 4 bytes: 112 GB amb Adam, que guarda dues notes per paràmetre. Una de les targetes gràfiques més grans d'ús comú, la H100, en té 80. I encara falta la memòria dels valors intermedis de la passada endavant, que no hi és comptada.

Aquesta factura és el motiu de molts dels trucs que veuràs més endavant: repartir les notes entre moltes màquines, guardar-les amb menys precisió (capítol 17) o ajustar només una petita part dels paràmetres (LoRA, capítol 20).

6. Millorar sense allunyar-se gaire#

De vegades no vols el millor punt del paisatge, sinó el millor punt que compleixi una condició. Imagina que baixes la muntanya lligat amb una corretja a un pal: el fons de la vall pot quedar fora de l'abast, i llavors el millor que pots fer és arribar fins on et deixa la corretja pel costat bo.

Millorar sense allunyar-se gaire

partidafons
El fons de la vall (el punt verd) és fora de l'abast. El millor que pots fer és arribar a la vora del cercle pel costat que mira cap al fons: l'error baixa de 7,9 a 2,6, però no a zero.

Aquesta situació, optimitzar amb una restricció, surt en llocs importants. Quan s'ajusta un model amb preferències humanes (capítol 18), es vol que millori, però sense allunyar-se gaire del model de partida, perquè no oblidi el que ja sabia. En aquest cas, la corretja no és rígida: és una penalització que creix com més s'allunya. I la manera com tots els models converteixen les seves puntuacions en percentatges (la softmax) també surt de resoldre un problema d'aquest tipus: és el repartiment més indecís possible entre tots els que mantenen una certa puntuació mitjana.

7. Llegir la corba de l'error#

Mentre un model s'entrena, es dibuixa la pèrdua a cada pas. Aquesta corba és el principal instrument de diagnòstic, i cada forma rara té una causa típica.

Llegir la corba de l'error

passos d'entrenament →errordades d'entrenamentdades noves
Símptoma
Causa probable: El model memoritza les dades d’entrenament en comptes d’aprendre el que tenen en comú. Què fer: Més dades, frenar els pesos que creixen massa, o aturar l’entrenament quan l’error amb dades noves comença a pujar. Corbes esquemàtiques.

Hi ha una regla d'or que val la pena recordar: si un model no és capaç d'aprendre de memòria vuit exemples fins a no equivocar-s'hi gens, hi ha un error al codi, no un problema d'aprenentatge. És la primera prova que es fa quan una corba no baixa.

Què t'has d'endur#

  • Entrenar és baixar un paisatge on cada coordenada és un paràmetre i l'alçada és la pèrdua; el gradient diu cap on puja, i es camina en sentit contrari.
  • La regla de la cadena multiplica influències; aplicada del final cap al principi, dona la culpa de tots els paràmetres en una sola passada. Això és la retropropagació.
  • El senyal final de tot LLM és «prediu, resta la veritat»: la puntuació de la paraula correcta puja el que li faltava, les de les altres baixen el que tenien.
  • La mida del pas és el número més delicat: massa petit no arriba, massa gran es dispara. Es fa servir un calendari que escalfa i després baixa.
  • La inèrcia i Adam baixen valls estretes sense rebotar, però Adam guarda dues notes per paràmetre, i això costa molta memòria.
  • La forma de la corba de l'error diu què va malament; si un model no pot memoritzar vuit exemples, és un error al codi.

On tornaràs a trobar aquestes idees

  • Baixar el paisatge de l’error

    Què vol dir aprendre a partir d’exemples: capítol 5 →

  • La culpa repartida enrere

    La retropropagació en una xarxa sencera: capítol 6 →

  • Mida del pas, inèrcia i Adam

    Com s’entrena de debò, i com es llegeixen les corbes: capítol 7 →

  • El que ocupa entrenar

    Repartir l’entrenament entre moltes targetes: capítol 17 →

  • Millorar sense allunyar-se gaire

    Ajustar un model amb preferències humanes: capítol 18 →

Tots els models d'aquest curs s'entrenen baixant un paisatge com el d'aquest capítol.

Comprova que ho has entès#

0 de 4 resoltes

  1. Comences a entrenar i, després d'uns quants passos, la pèrdua puja de cop fins que deixa de ser un número. Què és el primer que sospitaries?
  2. Una xarxa té moltes capes encadenades. Com se sap quant ha de canviar cada paràmetre de la primera capa?
  3. El model posava un 95 % de confiança en la paraula que, efectivament, venia. Com de gran és l'empenta que rep la seva puntuació?
  4. La pèrdua amb les dades d'entrenament no para de baixar, però a partir d'un punt la pèrdua amb dades noves comença a pujar. Què està passant?

Per anar més lluny

Marca els que hagis llegit
  • 3Blue1Brown, Neural networks, capítols 2 i 3 («Gradient descent» i «Backpropagation»): vídeos en anglès, amb subtítols, que expliquen el descens de gradient i la retropropagació amb animacions abans de cap fórmula.