Salta al contingut
Entendre els LLMs
Bloc 3intermedi2-3 h
IntuïtiuMatemàtic

Abans d'això: Xarxes neuronals i backpropagation, NLP clàssic i embeddings

09 · RNN, LSTM, seq2seq i el naixement de l'atenció

Per què estudiar arquitectures "obsoletes": perquè el Transformer és la resposta a problemes molt concrets que aquestes arquitectures tenien. Sense conèixer les preguntes, la resposta sembla arbitrària. A més, els models d'espai d'estats (Mamba) són recurrències modernes: aquest fitxer és el prerequisit del 30pendent.


1. Xarxes recurrents (RNN)# sense fórmules

Una RNN processa una seqüència mantenint un estat ocult que es va actualitzant:

ht=tanh⁡(Whhht−1+Wxhxt+b),yt=Whyht\mathbf{h}_t = \tanh(\mathbf{W}_{hh}\mathbf{h}_{t-1} + \mathbf{W}_{xh}\mathbf{x}_t + \mathbf{b}), \qquad \mathbf{y}_t = \mathbf{W}_{hy}\mathbf{h}_t

Entrenament: backpropagation through time (BPTT) — desplega la recurrència i aplica backprop. Cost i memòria creixen amb la longitud → es fa truncated BPTT.

El problema fatal

El gradient a través de TT passos conté ∏tWhh⊤diag(tanh⁡′)\prod_{t}\mathbf{W}_{hh}^\top \text{diag}(\tanh'). Si el valor propi dominant és <1 el gradient s'esvaeix exponencialment; si és >1, explota.

Conseqüència: una RNN vanilla no aprèn dependències de més de ~10-20 passos. Per a llenguatge, això és inservible ("El noi que vivia a la casa del costat del riu on anàvem de petits ... era metge" — la concordança va a 20 tokens de distància).

La RNN desplegada i el gradient que torna

La pèrdua és a l'últim pas. Quant en queda quan el gradient arriba al primer?

  • ‖∂L/∂hₜ‖ (escala logarítmica)
  • tram on es mesura el factor per pas
40 passos
0,80

Radi espectral resultant: 0,762

1,00

Entrades grans saturen la tanh i la seva derivada cau: és l'altre factor del producte.

La mateixa llavor dona sempre el mateix resultat.

T
40 passos
‖∂L/∂h‖ a l’últim pas
0,921
al primer pas
3,84·10⁻¹⁵
ràtio últim/primer
2,40·10¹⁴
abast útil
9 passos
diagnòstic
esvaït
El factor per pas, previst des de la matriu i mesurat des del gradient

El text diu que el gradient a través de TT passos conté ∏tWhh⊤ diag(tanh⁡′)\prod_t \mathbf{W}_{hh}^\top\,\text{diag}(\tanh'). Són dos factors, i tots dos es poden calcular a part del gradient: el radi espectral de Whh\mathbf{W}_{hh} —el mòdul del valor propi més gran, calculat amb la fórmula de Gelfand sobre la matriu sola— i la derivada mitjana de la tanh al llarg de la seqüència. El seu producte s'ha de veure al pendent de la recta de dalt.

radi espectral de W_hh (calculat de la matriu sola)0,7622
derivada mitjana de la tanh (mesurada al forward)0,5842
producte dels dos: factor previst per pas0,4453
factor mesurat al gradient (passos 8 a 32)0,4275
diferència relativa4,0 %

El previst és una fita superior i no una igualtat: el radi espectral governa el creixement asimptòtic, i amb deu dimensions i quaranta passos el vector del gradient encara no s'ha alineat del tot amb la direcció dominant. Per això el mesurat hi queda una mica per sota. El que sí que és exacte és la conclusió: puja l'escala de W_hh fins que el radi passi d'1 i el pendent canvia de signe.

I per què no explota sempre que el radi passa d'1? Perquè hi ha el segon factor. Posa l'escala de W_hh a 2 i deixa l'escala de l'entrada a 1: el radi és 0,76 però la tanh satura, la seva derivada cau i el gradient s'esvaeix igualment. Baixa ara l'escala de l'entrada a 0,05 sense tocar res més i el mateix model explota. Cap dels dos factors sol no explica res.

És el mateix mecanisme que la propagació de gradients en profunditat del fitxer 06, però en el temps en comptes de en capes, i amb una diferència que ho empitjora: allà cada capa tenia la seva matriu i els factors eren diferents; aquí els pesos es comparteixen entre passos, de manera que es multiplica T vegades exactament la mateixa matriu i el decaïment és geomètric net. Una RNN amb radi espectral 0,9 ha perdut el 99 % del gradient en 44 passos, i no hi ha learning rate que ho arregli.

2. LSTM i GRU: portes per controlar la memòria# sense fórmules

LSTM (Hochreiter & Schmidhuber, 1997) afegeix un estat de cel·la ct\mathbf{c}_t amb una via additiva i tres portes:

ft=σ(Wf[ht−1,xt])(forget)it=σ(Wi[ht−1,xt])(input)ot=σ(Wo[ht−1,xt])(output)c~t=tanh⁡(Wc[ht−1,xt])ct=ft⊙ct−1+it⊙c~tht=ot⊙tanh⁡(ct)\begin{aligned} \mathbf{f}_t &= \sigma(\mathbf{W}_f[\mathbf{h}_{t-1},\mathbf{x}_t]) && \text{(forget)} \\ \mathbf{i}_t &= \sigma(\mathbf{W}_i[\mathbf{h}_{t-1},\mathbf{x}_t]) && \text{(input)} \\ \mathbf{o}_t &= \sigma(\mathbf{W}_o[\mathbf{h}_{t-1},\mathbf{x}_t]) && \text{(output)} \\ \tilde{\mathbf{c}}_t &= \tanh(\mathbf{W}_c[\mathbf{h}_{t-1},\mathbf{x}_t]) \\ \mathbf{c}_t &= \mathbf{f}_t\odot\mathbf{c}_{t-1} + \mathbf{i}_t\odot\tilde{\mathbf{c}}_t \\ \mathbf{h}_t &= \mathbf{o}_t\odot\tanh(\mathbf{c}_t) \end{aligned}

GRU simplifica a dues portes i un sol estat; resultats semblants amb menys paràmetres.

Amb LSTM, el NLP va funcionar de debò: traducció automàtica neuronal, reconeixement de veu, Google Translate (2016).

Les portes de l'LSTM i la via additiva

Si la porta d'oblit s'obre del tot, què li passa al gradient que travessa la cel·la?

  • porta d’oblit f
  • porta d’entrada i
  • porta de sortida o
  • ‖∂L/∂cₜ‖ de l’LSTM (la via additiva)
  • ‖∂L/∂hₜ‖ de la RNN vanilla
45 passos

Sobreescriu f a tots els passos amb el valor de sota, en comptes de deixar-lo calcular.

1,00

A 1 la cel·la és una autopista. A 0,9, cada pas en multiplica el gradient per 0,9.

1,00

Sense forçar-la, f arrenca a σ(biaix) = 0,731. El truc de posar-lo a 1 o 2 és estàndard des de 2015.

La mateixa llavor dona sempre el mateix resultat.

f efectiva
1,000
què en queda, cel·la de l’LSTM
2,824×
què en queda, RNN vanilla
7,95·10⁻¹²×
avantatge de l’LSTM
3,55·10¹¹×
factor per pas de la cel·la
1,0261
T
45 passos
La mateixa seqüència, la mateixa llavor, dos camins

Les dues xarxes tenen la mateixa amplada, la mateixa llavor i veuen exactament la mateixa seqüència. L'única diferència és per on torna el gradient: a la RNN, per ht=tanh⁡(Whhht−1+… )\mathbf{h}_t = \tanh(\mathbf{W}_{hh}\mathbf{h}_{t-1}+\dots), que el multiplica per una matriu i per una derivada a cada pas; a l'LSTM, per ct=ft⊙ct−1+…\mathbf{c}_t = \mathbf{f}_t\odot\mathbf{c}_{t-1}+\dots, que el multiplica per ft\mathbf{f}_t i prou.

què queda del gradient en 45 passos, cel·la de l'LSTM2,824×
què en queda en 45 passos, RNN vanilla7,95·10⁻¹²×
l'LSTM conserva això vegades més3,55·10¹¹×
factor per pas mesurat a la cel·la (previst: f = 1,000)1,0261

El factor mesurat per pas surt una mica per sota de ff i no just igual, i el motiu és honest: a cada pas, a part del que arriba de ct+1\mathbf{c}_{t+1}, hi entra també el que ve per ht=ot⊙tanh⁡(ct)\mathbf{h}_t = \mathbf{o}_t\odot\tanh(\mathbf{c}_t). La multiplicació neta per ff és la del camí recurrent de la cel·la; la mesura de dalt recull tot el gradient. Baixa f a 0,9 i el factor s'hi acosta; posa-la a 1 i queda essencialment a 1.

És la mateixa idea que una connexió residual, descoberta divuit anys abans. Al fitxer 06, la comprovació de les connexions residuals mesurava que la resposta d'un bloc conté v\mathbf{v} intacta perquè ∂y/∂x=I+∂F/∂x\partial y/\partial x = \mathbf{I} + \partial F/\partial x. Aquí la I\mathbf{I} és f≈1\mathbf{f}\approx 1: l'única diferència és que l'LSTM la pot tancar quan li convé oblidar.

Desactiva «força la porta d'oblit» i baixa el biaix inicial a −3: f arrenca a 0,05, la cel·la oblida de seguida i l'LSTM es comporta com la RNN. Puja'l a 3 i torna l'autopista. Això no és un detall d'implementació: inicialitzar el biaix de la porta d'oblit a 1 o 2 és una recomanació publicada el 2015 i encara vigent, i el motiu és exactament el que veus a la gràfica.

3. Seq2seq i el coll d'ampolla# sense fórmules

Encoder–decoder (Sutskever et al., 2014): un LSTM llegeix la frase font i comprimeix tota la informació en un únic vector de context c\mathbf{c}; un altre LSTM el desplega en la frase destí.

"el gat seu a l'estora"  →   [encoder] → c (un vector!) → [decoder] → "the cat sits on the mat"

El coll d'ampolla: què hi cap, en un vector

Tota la frase ha de cabre en un vector de mida fixa. Quants bits hi caben, i què passa quan no hi caben tots?

  • fita del calaix (calculada)
  • codi òptim (mesurat)
  • on deixa de cabre-hi
10 símbols
4 símbols

Cada símbol val log₂V = 2,000 bits.

6
2 bits

Quantitzar el vector és el que fa que la capacitat sigui un número i no una metàfora.

La mateixa llavor dona sempre el mateix resultat.

I una recurrència de debò, contra la fita
la frase necessita
20,0 bits
al vector hi caben
12 bits
sobren o falten
-8,0 bits
fita del calaix
0,3906 %
codi òptim, mesurat
0,4333 %
longitud màxima que hi cap
6 símbols
El punt de caiguda es pot calcular, i la mesura hi cau a sobre

Hi ha VLV^L frases possibles i el vector només té 2d⋅q2^{d\cdot q} valors diferents. Si n'hi ha menys que frases, pel principi del calaix dues frases han de compartir codi, i cap descodificador —per bo que sigui— no les pot distingir. La fracció màxima reconstruïble és exactament 2dq/VL=2 dq−Llog⁡2V2^{d q}/V^L = 2^{\,dq - L\log_2 V}. No és una regla empírica: és aritmètica, i no depèn de si l'encoder és una LSTM, un Transformer o el que sigui.

bits que fa falta desar: 10 · log₂420,00
bits de capacitat: 6 · 212
fita: 2 elevat a la diferència0,39063 %
mesurat sobre 3.000 frases amb el codi òptim0,43333 %

Ara mateix no hi cap: falten 8,0 bits, i per això ni el millor codi imaginable no arriba al 0,39 %. Cap arquitectura no hi pot fer res; l'única sortida és no obligar-se a passar per un vector sol, que és exactament el que fa l'atenció.

La quantització del vector no és una llicència: és el que converteix «tota la frase ha de cabre en un vector» en una afirmació comprovable. Sense ella, un vector de d floats de 64 bits té 64d bits de capacitat, la fita no lliga mai i l'argument queda en una intuïció. Amb ella, el punt on la reconstrucció s'enfonsa es calcula abans de mesurar-lo.

4. Atenció (Bahdanau, 2014): el moment fundacional# sense fórmules

La idea: en lloc d'un sol vector de context, deixa que el decoder miri totes les posicions de l'encoder i decideixi a quines fer cas a cada pas.

etj=a(st−1,hj),αtj=exp⁡(etj)∑kexp⁡(etk),ct=∑jαtjhje_{tj} = a(\mathbf{s}_{t-1}, \mathbf{h}_j), \qquad \alpha_{tj} = \frac{\exp(e_{tj})}{\sum_k \exp(e_{tk})}, \qquad \mathbf{c}_t = \sum_j \alpha_{tj}\mathbf{h}_j

Els pesos αtj\alpha_{tj} són interpretables: visualitzats, mostren l'alineació entre paraules de les dues llengües. Va ser la primera vegada que es podia "veure" què mirava el model.

Variants de la funció de puntuació:

  • Additiva/Bahdanau: a(s,h)=v⊤tanh⁡(W[s;h])a(\mathbf{s},\mathbf{h}) = \mathbf{v}^\top\tanh(\mathbf{W}[\mathbf{s};\mathbf{h}])
  • Multiplicativa/Luong: a(s,h)=s⊤Wha(\mathbf{s},\mathbf{h}) = \mathbf{s}^\top\mathbf{W}\mathbf{h} — més ràpida, és la que sobreviu en forma de producte escalar escalat.

L'atenció de Bahdanau: la matriu d'alineació

Cada paraula de la traducció mira totes les de l'original i decideix a quines fer cas. Quant hi fa cas, exactament?

Matriu d'alineació: pes que cada paraula de la traducció dona a cada paraula de l'original. 7 de 7 alineacions coincideixen amb la correcta.
elgatnegreseudamuntl’estora
the0,570,050,040,030,030,250,02
black0,060,070,650,080,050,050,04
cat0,090,580,070,070,070,070,06
sits0,050,060,060,620,060,080,06
on0,040,060,060,060,670,050,07
the0,280,040,040,050,050,480,06
mat0,050,040,050,080,060,090,62
pes d'atenció αtj\alpha_{tj}0,001,00

Files: la traducció. Columnes: l'original. La cel·la marcada és on hauria d'anar el màxim.

Alineació esperada contra la que troba el model
Paraula destíHauria d'alinear-se ambOn mira de debòPes màxim
theelel ✓0,570
blacknegrenegre ✓0,649
catgatgat ✓0,581
sitsseuseu ✓0,625
ondamuntdamunt ✓0,669
thel’l’ ✓0,485
matestoraestora ✓0,625
Funció de puntuació

La multiplicativa amb W = I i dividida per √dₖ. És la que sobreviu: la que fa servir el Transformer.

1,00

Baixa-la i l'atenció es concentra en una sola paraula; puja-la i es reparteix.

0,12

A zero, els estats són conceptes purs. Puja'l i l'alineació es degrada.

La mateixa llavor dona sempre el mateix resultat.

Els paràmetres de la puntuació additiva s'aprenen
0 passos · pèrdua 2,0831

L'additiva té paràmetres propis i, sense entrenar, la matriu és soroll. Entrenar-la és el que fa aparèixer l'alineació, i és exactament el que passava al model de 2014: ningú no li va dir quina paraula anava amb quina.

puntuació
Producte escalar escalat
alineacions encertades
7 de 7
abast efectiu de "mat"
3,75 paraules
entropia d’aquella fila
1,906 bits
màxim desviament de suma 1
2,22·10⁻¹⁶
pes negatiu més gran
0,0
El context és una combinació convexa dels estats de l'encoder

Dues afirmacions que es poden comprovar amb números i no amb paraules. La primera: cada fila de α\alpha suma exactament 1 i no té cap valor negatiu, perquè surt d'una softmax. La segona, que es dedueix de la primera: ct=∑jαtjhj\mathbf{c}_t = \sum_j \alpha_{tj}\mathbf{h}_j no pot sortir de l'envolupant convexa dels hj\mathbf{h}_j: cap component del context pot ser més gran que el màxim d'aquella component entre els estats, ni més petita que el mínim.

Paraula destíΣ pesos de la fila|Σ − 1|abast efectiu
the1,0000000000000002,22·10⁻¹⁶3,51
black1,00000000000000003,55
cat1,00000000000000004,17
sits1,00000000000000003,79
on1,00000000000000003,39
the1,00000000000000004,16
mat1,00000000000000003,75

El context més allunyat de l'envolupant dels estats de l'encoder se'n surt per 0,0, que és zero exacte i no un zero aproximat: no hi ha cap manera que una mitjana ponderada amb pesos positius que sumen 1 caigui fora. Baixa la temperatura fins a 0,05 i mira què passa a l'abast efectiu: la columna cau a 1 i el context passa a ser una còpia d'un sol estat de l'encoder. Puja-la a 4 i tendeix a 7: el context es torna la mitjana de tota la frase, que és exactament el coll d'ampolla que l'atenció venia a resoldre.

Aquesta és la peça que el fitxer 11 hereta sencera. El Transformer no canvia ni la softmax per files ni el context com a combinació convexa: canvia d'on surten les consultes i les claus (del mateix text, en comptes de dos idiomes), hi afegeix una màscara i en posa uns quants caps en paral·lel. La puntuació multiplicativa dividida per √dₖ que veus aquí ja és, literalment, la del Transformer.

5. El salt: "Attention Is All You Need"# sense fórmules

El 2017 l'equip de Google es va fer la pregunta òbvia però atrevida: si l'atenció fa tota la feina pesada, per a què volem la recurrència?

Traure la recurrència soluciona el problema que realment importava a escala:

RNN/LSTMTransformer
Paral·lelització en entrenament❌ seqüencial per força✅ tots els tokens alhora
Camí entre dos tokensO(L)O(L) passosO(1)O(1) (atenció directa)
Cost per capaO(L⋅d2)O(L\cdot d^2)O(L2d+Ld2)O(L^2 d + L d^2)
Memòria en inferènciaO(d)O(d) (estat fix)O(L⋅d)O(L\cdot d) (KV-cache creixent)

El Transformer canvia cost quadràtic en longitud per paral·lelisme total. En una era de GPUs, això va ser el bescanvi correcte: es podia entrenar amb ordres de magnitud més dades en el mateix temps de calendari.

Observa l'última fila: la recurrència guanya en inferència (estat de mida constant). Aquesta és exactament la porta per on tornen els SSM i els models híbrids el 2024-2026.

RNN contra Transformer: el bescanvi, en números

El Transformer canvia cost quadràtic per paral·lelisme total. A partir de quina longitud comença a pagar-lo?

  • RNN: 4Ld²
  • Transformer: 8Ld² + 4L²d
  • · · · projeccions, 8Ld²
  • · · · atenció, 4L²d
  • L = 2d
La taula de la secció 5 amb els números d'aquesta configuració
RNN / LSTMTransformer
Paral·lelització en entrenamentseqüencial, 2.048 passostots alhora
Camí entre dos tokens2.0481
FLOPs per capa8,59 G34,36 G
Memòria en inferència131,1kB268,4MB
2.048 tokens
1024

Llama 3 8B: d = 4096. Creuament previst a L = 2d = 2.048.

32
FLOPs per token, RNN
134,22 M
FLOPs per token, Transformer
536,87 M
quant més car
4,00×
camí entre dos tokens
2.048 contra 1
memòria d’inferència, RNN
131,1kB
memòria d’inferència, Transformer
268,4MB
El punt on l'atenció passa a manar: resolt i mesurat

El cost per capa del Transformer té dos termes: les quatre projeccions, que valen 8Ld28Ld^2, i l'atenció, que val 4L2d4L^2d. Es creuen quan 4L2d=8Ld24L^2 d = 8Ld^2, és a dir a L=2dL = 2d, i aquesta és la frontera que decideix si el context llarg et surt car. Es pot resoldre amb un llapis; el widget el mesura a part, buscant a l'escombrat on les dues corbes de components es creuen de debò.

resolt: L = 2d, amb d = 1.0242.048 tokens
mesurat a l'escombrat, sense fer servir la fórmula2.048 tokens
diferència relativa0,000 %

I el creuament de cost total, on és? Enlloc: resolent 4Ld2=8Ld2+4L2d4Ld^2 = 8Ld^2 + 4L^2d surt L=−dL = -d, que no existeix. Per capa, el Transformer sempre costa més que la RNN, i amb L = 2.048 i d = 1.024 en costa 4,00 vegades més. El bescanvi no és de FLOPs: és que aquests FLOPs es poden fer tots alhora, i els de la RNN han d'anar en fila índia. En una GPU amb desenes de milers de nuclis, fer tres vegades més feina en paral·lel guanya de llarg a fer-ne una tercera part en sèrie.

L'última fila del readout és la que el text diu que importa el 2026: en inferència, la RNN manté 131,1kB passi el que passi, i el Transformer arriba a 268,4MB amb aquest context, perquè la KV-cache creix amb cada token generat. Puja L a 131.072 i mira aquella xifra. És per aquesta porta que tornen els models d'espai d'estats.

La fila del camí entre dos tokens és la que explica per què el Transformer aprèn dependències llargues i la RNN no: a la RNN, el senyal entre el primer i l'últim token ha de travessar L passos i multiplicar-se per la mateixa matriu L vegades, que és exactament el que mesura el widget de BPTT; al Transformer hi ha una aresta directa, i el gradient hi arriba sense multiplicar-se per res.

6. Què conservem de tot això# sense fórmules

  • Les portes (multiplicació per sigmoides) són arreu: SwiGLU, routers de MoE, gates de Mamba.
  • L'estat additiu és la connexió residual.
  • L'atenció és el mecanisme central de tot.
  • El marc encoder-decoder segueix viu en traducció, models de veu (Whisper) i models multimodals.
  • Beam search i la programació dinàmica de decodificació segueixen sent útils en tasques amb sortida restringida.

La mateixa porta, tres noms

La porta d'entrada d'una LSTM, SwiGLU i el router d'un MoE. Quina diferència hi ha, exactament?

  • σ(x): la porta, entre 0 i 1
  • x·σ(x) = SiLU: la porta aplicada a ella mateixa
  • tanh(x): el candidat de l’LSTM
Les tres operacions canal a canal, amb la mateixa entrada
canalaσ(a)bLSTMSwiGLUMoE densMoE top-2
04,410,9880,770,76460,76460,76460,7646
1-0,350,4130,770,31910,31910,31910 ✂
2-1,510,1800,610,11070,11070,11070 ✂
30,350,587-0,88-0,5188-0,5188-0,51880 ✂
4-0,350,4130,910,37820,37820,37820 ✂
51,470,8130,290,23580,23580,23580 ✂
6-1,170,238-0,91-0,2158-0,2158-0,21580 ✂
7-1,950,1250,880,11040,11040,11040 ✂

Els primers vuit canals dels 16. Les tres columnes del mig són idèntiques quan els paràmetres estan igualats; l'última és on el router es desmarca.

Posa les tres operacions davant de la mateixa (a, b). Desactiva-ho per veure què fan amb les seves entrades naturals.

2 de 16

A k = 16 el router és dens i idèntic a les altres dues. Baixa'l i apareix la diferència.

La mateixa llavor dona sempre el mateix resultat.

LSTM contra σ(a)⊙b
0
SwiGLU contra σ(a)⊙b
1,11·10⁻¹⁶
MoE dens contra σ(a)⊙b
0
MoE amb top-k
0,804
canals apagats pel top-k
88 %
canals
16
Amb els paràmetres igualats, les tres donen el mateix

Les tres operacions tenen la mateixa forma: σ(a)⊙b\sigma(a)\odot b. Canvia què s'hi endolla.

OnQuè és aQuè és bDiferència màxima
LSTM, porta d'entradaziz_itanh⁡(zc)\tanh(z_c) (el candidat)0
SwiGLUzgz_g (la branca de porta)zg zuz_g\, z_u1,11·10⁻¹⁶
MoE, router de sigmoidezrz_r (el logit del router)E(x)E(x) (el que treu l'expert)0

L'LSTM i el MoE donen zero exacte: no és «prou a prop», són els mateixos bits de coma flotant, perquè un cop igualats els paràmetres són literalment la mateixa expressió. SwiGLU se'n separa per 1,11·10⁻¹⁶, que és l'arrodoniment de fp64: per arribar a σ(a)·b hi passa per una divisió i una multiplicació de més, i cadascuna arrodoneix. Aquella xifra és de l'ordre de 10⁻¹⁶, i no de l'ordre de la diferència entre dues operacions diferents.

I on deixen de ser la mateixa cosa? No a la porta: al voltant. Amb el top-k a 2 de 16, el router apaga el 88 % dels canals i la diferència salta a 0,804. Aquesta és tota la diferència entre una porta i un router: la porta modula, el router tria, i el que no tria no es calcula. És d'aquí que surt tot l'estalvi d'un MoE. SwiGLU, per la seva banda, lliga l'argument de la sigmoide amb la branca de senyal —les dues surten de la mateixa xx— mentre que l'LSTM les té independents.

És una de les coses que més desorienten quan es llegeixen papers: tres articles de tres anys diferents descriuen la mateixa multiplicació per una sigmoide amb tres vocabularis incompatibles. Val la pena adquirir el reflex de buscar la forma σ(·)⊙· sota el nom que li hagin posat. Quan la trobis, ja saps què fa: deixa passar el senyal en proporció a com d'obert estigui, i el gradient hi passa multiplicat pel mateix factor.

7. Comprova que ho has entès#

0 de 6 resoltes

  1. Per què una RNN vanilla no pot aprendre dependències llargues? Amb un radi espectral de 0,9 a Whh\mathbf{W}_{hh} i una derivada mitjana de la tanh de 0,5, quin factor multiplica el gradient en travessar 30 passos?
    Marge acceptat: 25 %
  2. Quina propietat de l'LSTM soluciona el problema, i amb quina idea moderna s'emparenta?
  3. Què és exactament el coll d'ampolla de seq2seq? Amb un vocabulari de 4 símbols, frases de 10 símbols i un context de 6 dimensions a 2 bits cadascuna, quina fracció de frases es pot reconstruir com a màxim?
    Marge acceptat: 5 %
  4. Escriu les tres fórmules de l'atenció de Bahdanau i explica-les en una frase cadascuna.
  5. En quin aspecte concret una RNN és millor que un Transformer, i per què això importa el 2026?
  6. Fes explotar el gradient d'una RNN en comptes d'esvair-lo. No n'hi ha prou amb pujar l'escala de Whh\mathbf{W}_{hh}: calen dues coses alhora.

    Objectiu:Al widget de la RNN desplegada, aconsegueix que el gradient del primer pas sigui més gran que el de l'últim. Pista: mira els dos factors del producte ∏tWhh⊤ diag(tanh⁡′)\prod_t \mathbf{W}_{hh}^\top\,\text{diag}(\tanh').

    Vés al widget ↑w = per defecte · x = per defecte

8. Recursos#

Marca els que hagis llegit
  • Christopher Olah, Understanding LSTM Networks — encara insuperable com a explicació visual.

  • Bahdanau, Cho & Bengio (2014), Neural Machine Translation by Jointly Learning to Align and Translate.

  • Sutskever, Vinyals & Le (2014), Sequence to Sequence Learning with Neural Networks.

  • Karpathy, The Unreasonable Effectiveness of Recurrent Neural Networks (2015).