Salta al contingut
Entendre els LLMs
Bloc 6avançat3 h
IntuïtiuMatemàtic

Abans d'això: L'arquitectura Transformer

24 · Multimodalitat

Idea central: el Transformer és agnòstic a la modalitat. Si pots convertir qualsevol cosa (píxels, ones sonores, fotogrames, accions) en una seqüència de vectors, la pots posar dins del mateix model. Aquesta universalitat és la raó per la qual la IA ha convergit en una sola arquitectura.


1. Vision Transformer (ViT)# sense fórmules

Dosovitskiy et al. (2020): "una imatge val 16×16 paraules".

  1. Divideix la imatge en patches (p. ex. 14×14 o 16×16 píxels).
  2. Aplana cada patch i projecta'l linealment → un "token" de dimensió dd.
  3. Afegeix embeddings posicionals.
  4. Passa-ho per un Transformer estàndard.

Una imatge de 224×224 amb patches de 16 dona 196 tokens. A resolucions altes, el nombre de tokens creix quadràticament — d'aquí que la compressió de tokens visuals sigui una de les àrees més actives.

ViT vs CNN: les CNN tenen biaixos inductius (localitat, invariància a translació) que les fan eficients amb poques dades. Els ViT no en tenen i necessiten moltes més dades — però escalen millor. A partir de cert volum, guanyen. (Els híbrids ConvNeXt i les arquitectures amb resolució nativa variable barregen el millor dels dos.)

Una imatge en tokens

Quants tokens fa una imatge, i què passa quan es tallen i es tornen a unir? I la frase del text sobre ViT i CNN —les CNN són eficients amb poques dades, els ViT escalen millor—, surt quan es mesura?

«un quadrat vermell a dalt a l'esquerra i un quadrat blau a dalt a la dreta i una creu groga a baix a l'esquerra»

La seqüència que entra al Transformer: 16 tokens

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Davant de tot hi va un vector CLS après, i a cada vector se li suma un embedding de posició après: el ViT del text, amb 17 posicions.

Patch, p
Patch de la imatge de joguina

Quina imatge de joguina es talla.

La prova a repetir
Imatges d’entrenament
224×224, patches de 16
196 tokens
a 448×448
784 tokens
joguina, 16×16 amb 4
16 tokens de 48
paràmetres: ViT / CNN
7.104 / 1.460
(H/p)·(W/p): 224/16 = 14 per costat, 196 tokens; amb el doble de resolució, 784, 4 vegades més

Els 196 del text són (224/16)² = 14². El nombre de tokens creix amb el quadrat de la resolució: doblar el costat multiplica el nombre per quatre, i amb l’atenció, que és quadràtica en el nombre de tokens, el cost en fa setze.

Patchificar en 16 patches de 4×4×3 = 48 números i tornar-ho a unir: la imatge idèntica, els 768 números bit a bit (Object.is)

Tallar en patches i aplanar-los no perd res: és només una altra manera d’ordenar els mateixos números. Cada patch aplanat és un vector de 48 components que una matriu projecta a la dimensió del model, i a partir d’aquí el Transformer no sap si el vector ve d’una paraula o d’un tros d’imatge. Aquest ViT ho fa amb el Transformer del fitxer 11, posant els vectors a l’entrada en lloc dels de la taula d’embeddings (i, comprovat, si li poses les files de la taula surten els mateixos logits bit a bit).

ViT contra CNN, classificant la forma: amb 100 imatges, 52,3 % contra 96,3 %; amb 6.400, 93,0 % contra 100,0 %
imatgesViTCNN
10052,3 %96,3 %
40079,8 %99,8 %
1.60094,8 %100,0 %
6.40093,0 %100,0 %

La meitat de la frase surt: amb poques dades la CNN és molt més eficient, i la diferència es tanca amb dades, de 44 punts a 7. L’altra meitat, que a partir de cert volum el ViT guanya, no surt a aquesta escala: amb 6.400 imatges la CNN ja és al 100 % i el ViT no la passa. Els volums on el ViT guanya són de desenes de milions d’imatges. Mesurat a Node, 800 passos amb lots de 16 per a tots dos. I la CNN ho fa amb 1.460 paràmetres, contra els 7.104 del ViT.

Posicions no vistes: entrenats amb l’objecte només a l’esquerra, a la dreta el ViT encerta el 58,5 % (a l’esquerra, el 96,3 %); la CNN, el 100,0 %

Aquí és on el biaix inductiu es nota de debò. La convolució aplica el mateix filtre a tot arreu i la mitjana global no mira on és el que ha trobat: la CNN reconeix a la dreta el que només ha vist a l’esquerra. El ViT té un embedding de posició après per a cada patch, i el que ha après dels patches de l’esquerra no passa sol als de la dreta: ho ha d’aprendre de les dades, i aquí no n’hi havia.

Repeteix aquí una casella de les taules: el ViT i la CNN, 800 passos cadascun amb lots de 16, alternats. Els números poden no coincidir exactament amb els de Node: el navegador calcula exp i log amb una altra biblioteca.

Les CNN porten la localitat i la invariància a la translació escrites a l’arquitectura; el ViT les ha d’aprendre. Amb poques dades això és un avantatge enorme per a la CNN. El que el text diu del ViT —que escala millor— és una afirmació sobre volums que no caben en una pàgina web: aquí es veu que la distància es tanca, no que s’inverteixi.

2. CLIP i SigLIP: l'alineació imatge-text# sense fórmules

CLIP (Radford et al., 2021) entrena dos encoders (imatge i text) perquè les parelles correctes tinguin embeddings similars, amb una pèrdua contrastiva InfoNCE sobre un batch de NN parelles:

L=−12N∑i[log⁡esii/τ∑jesij/τ+log⁡esii/τ∑jesji/τ]\mathcal{L} = -\frac{1}{2N}\sum_i\left[\log\frac{e^{s_{ii}/\tau}}{\sum_j e^{s_{ij}/\tau}} + \log\frac{e^{s_{ii}/\tau}}{\sum_j e^{s_{ji}/\tau}}\right]

Conseqüències: classificació zero-shot (compara l'embedding de la imatge amb els de "una foto d'un gat", "una foto d'un gos"...), cerca imatge↔text, i —el més important— un encoder visual amb representacions alineades amb el llenguatge, que és el que fa servir la majoria de VLMs.

SigLIP substitueix la softmax global per una pèrdua sigmoide per parell: no necessita batches gegants ni normalització global, i escala millor. És l'encoder per defecte de moltes famílies actuals.

Alinear imatges i text

Dos encoders entrenats perquè la imatge i la seva frase quedin a prop. La pèrdua és la del text? Classifiquen sense haver vist mai una etiqueta, i combinacions que no han vist mai? I què canvia la mida del lot amb la softmax i amb la sigmoide?

Els models encara no hi són.

Model
Forma
Color

On és l’objecte i quin lot es mostra.

Parelles del lot de la matriu
Casella a repetir: pèrdua
i mida del lot

Descarregant els pesos de CLIP, SigLIP i el VLM (604 kB)…

La mida del lot, amb 25.600 parelles per a tothom: amb lots de 4, CLIP 28,5 % i SigLIP 45,0 %; amb lots de 64, 58,0 % i 76,0 %
lotCLIP, zero-shotSigLIP, zero-shotCLIP, R@1SigLIP, R@1
428,5 %45,0 %83,8 %85,6 %
1654,0 %73,5 %93,1 %96,9 %
6458,0 %76,0 %96,3 %97,5 %

Totes dues milloren amb el lot, i SigLIP és per sobre de CLIP a totes les mides. La diferència més gran és amb lots petits: amb 4 parelles, la softmax només té 3 negatius per imatge i aprèn poc de cada pas; la sigmoide aprofita igualment cada casella. Amb 16, SigLIP ja passa del que CLIP fa amb 64. És el que el text diu, a escala de joguina: la softmax global necessita lots grans; la sigmoide, no tant. R@1 és trobar la frase bona entre 16. Mesurat a Node; el zero-shot és sobre 200 imatges, i un punt de diferència és soroll.

Repeteix una casella de la taula: 25.600 parelles, és a dir 6.400 passos amb lots de 4.

L’encoder d’imatge de CLIP o SigLIP és el que fa servir gairebé tot VLM: les seves representacions ja estan alineades amb el llenguatge. El que no ve de franc és la composició: un encoder que ha vist blaus i triangles però mai un triangle blau no el reconeix pas sempre.

3. Com es construeix un VLM# sense fórmules

Arquitectura d'adaptador (la clàssica, 2023-2024)

imatge → [encoder visual congelat: SigLIP/CLIP] → [projector: MLP o Q-Former] → tokens visuals
                                                                                      ↓
text → tokens ────────────────────────────────────────────────────────────→ [ LLM ] → resposta
  • LLaVA: un simple MLP de projecció + fine-tuning amb instruccions visuals. Sorprenentment efectiu i molt reproduït.
  • Flamingo / BLIP-2: cross-attention o Q-Former (un mòdul que comprimeix les característiques visuals a un nombre fix de tokens).
  • Entrenament per fases: alinear el projector amb l'LLM congelat → fine-tuning conjunt amb dades d'instrucció visual.

Fusió nativa (la frontera, 2025-2026)

Els models actuals no s'entrenen com "un LLM amb un adaptador enganxat": es preentrena un sol tronc amb text, imatges, àudio i vídeo entrellaçats des del principi. Avantatges: millor transferència entre modalitats, capacitat de generar en diverses modalitats amb el mateix model, i raonament genuïnament creuat. La tendència de 2026 és que aquest tronc únic vagi cap a un model del món que prediu i actua, no només que descriu.

Resolució dinàmica: els models moderns processen imatges a resolució i relació d'aspecte natives (dividint en mosaics + una vista global) en lloc de forçar 224×224, cosa que és decisiva per a documents, captures de pantalla i text petit dins d'imatges.

Un VLM amb adaptador

L’encoder de SigLIP congelat, un projector i un mini-GPT. Què es mou a cada fase, i què en surt? Quant es perd comprimint la imatge a M tokens? I quants tokens fa un document a resolució nativa?

La frase bona: un triangle groc i un quadrat verd

Els models encara no hi són.

Quina escena es descriu.

Objectes a l’escena
Q-Former: consultes M (0 = MLP, sense comprimir)
Mosaic

Descarregant els pesos de CLIP, SigLIP i el VLM (604 kB)…

El Q-Former amb una sonda: amb 1 consulta, el 35,8 % de les escenes amb tots els objectes bé; amb 8, el 49,0 %; amb 16, el 49,0 %. L’MLP sense comprimir (17 vectors), el 42,0 %
projectortokens del prefixescenes encertades
MLP1742,0 %
Q-Former, M = 1135,8 %
Q-Former, M = 2240,8 %
Q-Former, M = 4443,0 %
Q-Former, M = 8849,0 %
Q-Former, M = 161649,0 %

Per no entrenar un VLM per a cada M, el prefix alimenta una sonda lineal que ha de dir quins objectes hi ha (16 sí-o-no) i compta les escenes on els diu tots bé. M consultes apreses atenen sobre els 17 vectors de l’encoder i en fan M mitjanes ponderades: comprimir a 1 perd informació; a partir de 8 no se’n guanya més, perquè el coll d’ampolla ja és l’encoder. L’MLP passa els 17 vectors tal qual, però cada un per separat, i la sonda lineal no els sap combinar tan bé com l’atenció del Q-Former. Mesurat a Node, 8.000 escenes d’entrenament i 2.000 passos; un punt de diferència és soroll (400 escenes de prova).

Repeteix una fila: primer les característiques de 8.400 escenes amb l’encoder congelat, després 2.000 passos de la sonda.

Resolució dinàmica: 1344×896 en 6 mosaics de 448 més la vista global, 7.168 tokens; redimensionat a 224×224, 256

Amb patches de 14, cada mosaic de 448×448 són 1.024 tokens, i se’n fan els que calguin per cobrir la imatge sencera (3×2) i un més amb la imatge reduïda a un mosaic, perquè el model en vegi el conjunt. Són 28,0 vegades els tokens de forçar-la a 224×224, que és el preu de no perdre detall: reduint 1344×896 a 224×224, una lletra de 12 píxels d’alt queda en 2,0 píxels, i no hi ha model que la llegeixi.

Les tres fases, amb la mateixa llavor i sobre l’encoder desat, al teu navegador. En acabar es comparen els pesos amb els desats, paràmetre a paràmetre.

L’adaptador és la manera barata de fer un VLM: un encoder i un LLM que ja existeixen, i només una peça petita al mig. Els models de la frontera fan l’altra cosa —un sol tronc preentrenat amb totes les modalitats des del principi—, que no té fase 1 perquè no hi ha res a enganxar.

4. Àudio i vídeo# sense fórmules

Àudio:

  • Reconeixement de veu: Whisper (encoder-decoder sobre espectrogrames mel) com a referència oberta.
  • Tokenització d'àudio: còdecs neuronals (EnCodec, SoundStream) converteixen l'ona en tokens discrets → el llenguatge i l'àudio comparteixen el mateix tipus de seqüència.
  • Veu a veu de baixa latència: models nadius que processen àudio d'entrada i generen àudio de sortida sense passar per text, preservant to, emoció i permetent interrupcions naturals. És l'estàndard de les interfícies de veu de 2026.

Vídeo:

  • Problema central: el cost. Un minut a 30 fps són 1.800 imatges → milions de tokens. Solucions: mostreig temporal, compressió de tokens (fusió de patches semblants, poda espaciotemporal), atenció jeràrquica i memòria.
  • La generació de vídeo és territori de la difusió amb Transformers (DiT) — vegeu 28pendent.

El cost del vídeo

Quants tokens fa un vídeo, i quants se n’estalvien mostrejant menys fotogrames i no tornant a enviar els trossos que no canvien? Hi caben 10 minuts en 128.000?

Els tokens, contra el pressupost de 128.000

a 30 fps352.800
mostrejat a 30 fps352.800
sense fusionar352.800

La ratlla vertical és el pressupost de 128.000 tokens.

Els primers fotogrames mostrejats del clip: en groc, els patches que s’envien

t = 0,00 s · 16/16
t = 0,03 s · 16/16
t = 0,07 s · 16/16
t = 0,10 s · 16/16
1 min
Tokens per fotograma

196: 224×224 amb patches de 16. 576: 336×336 amb patches de 14.

Mostreig
Fusió de patches (llindar d’error quadràtic)
L’objecte es mou (píxels/s)
Soroll del sensor, σ
1 min a 30 fps
352.800 tokens
amb mostreig i fusió
352.800 tokens
fusionats (mesurat)
0,0 %
moviment conservat
100,0 %
fps × segons × tokens per fotograma: 30 × 60 × 196 = 352.800. Un minut a 30 fps amb 196 tokens: 352.800

Un minut són 1.800 fotogrames, i cadascun és una imatge sencera: 1.800 × 196 = 352.800 tokens. El text diu «milions de tokens»: amb 196 per fotograma s’hi arriba als tres minuts, i amb els 576 d’un encoder a 336×336 ja hi és el primer minut (1.036.800). Una hora a 30 fps amb 196, 21.168.000.

Sense mostrejar: els 30 fotogrames de cada segon, 352.800 tokens

És la palanca més grossa i la més bruta: el que passa entre dos fotogrames mostrejats no arriba al model. A 1 fps, una acció que dura mig segon pot no sortir a cap fotograma. Per això els models que miren vídeo llarg mostregen poc i de manera desigual, més on hi ha canvis.

Sense fusió: cada patch de cada fotograma mostrejat s’envia, encara que sigui igual que l’anterior

Un patch que gairebé no ha canviat des de l’últim que es va enviar a la mateixa posició no es torna a enviar. «Gairebé» és el llindar sobre l’error quadràtic mitjà, i el soroll del sensor el condiciona: dos fotogrames d’un fons quiet amb soroll σ difereixen en 2σ² = 0,0018 de mitjana. Per sota d’això no es fusiona res; una mica per sobre es fusiona tot el fons; massa amunt es fusionen també patches on l’objecte s’ha mogut, i el model es perd el moviment. La fracció es mesura sobre un clip sintètic de 20 s amb el fons quiet i s’aplica al minut: un vídeo de debò amb la càmera en moviment en fusionaria molt menys.

L’objectiu (10 minuts, 196 tokens per fotograma, ≤ 128.000 tokens, moviment conservat ≥ 95 %): ara en són 352.800, i la durada no és de 10 minuts

A 1 fps i sense fusionar, 10 minuts són 600 × 196 = 117.600 tokens. Amb fusió, s’hi pot mostrejar més sovint.

La percepció es paga en tokens, i els tokens d’una imatge o d’un fotograma entren al context com els de text: es rellegeixen a cada pas, ocupen KV-cache i desplacen el que hi havia. Mostrejar, fusionar i comprimir són maneres de pagar menys per veure el mateix.

L’àudio en tokens

Un segon de so: quants fotogrames d’espectrograma, quants tokens amb un còdec de quantització residual, i quant s’assembla el que es reconstrueix a l’original a cada nivell?

Entrenant els diccionaris de l’RVQ…


5. Models d'acció: VLA# sense fórmules

Vision-Language-Action: models que produeixen accions de robot en lloc de text (RT-2, OpenVLA, π0 i successors). L'observació clau és que el coneixement semàntic del preentrenament web transfereix a la manipulació física: un robot que mai ha vist un objecte pot manipular-lo si el model sap què és.

Reptes: dades (no hi ha "internet de la robòtica"), la bretxa sim-to-real, la freqüència de control (els models grans són lents per al control en temps real → arquitectures de dos nivells: un model lent que planifica i un de ràpid que executa).

Pensar lent, actuar ràpid

Un model gran entén «segueix el vermell», però triga a respondre. Què passa si el robot només l’escolta a ell, i què hi guanya un controlador ràpid que executa el que el gran ha decidit?

L’error de seguiment contra la latència del model lent

  • el lent sol
  • dos nivells
  • el ràpid sol
  • 1,5·L·v

Els últims 400 passos: dos nivells

En vermell i en blau, els dos objectes; ara la instrucció diu el blau. La línia discontínua és el robot.

25 passos (500 ms)
6,0 mil·lèsimes del món per pas
La instrucció canvia cada
Trajectòria que es dibuixa
error, el lent sol
0,212
error, dos nivells
0,020
error, el ràpid sol
0,172
decisions del lent
120
El lent sol, sense canvis d’instrucció: 0,214 de distància mitjana; la fita de línia recta, 1,5·L·v = 0,225

La decisió que el model pren amb el que veu a l’instant t₀ arriba a t₀ + L, i es fa servir fins a la següent, a t₀ + 2L: l’objectiu té de mitjana 1,5·L passos de retard, i un objecte a velocitat v ja és 1,5·L·v més enllà. Els objectes giren i reboten, i el desplaçament és més curt que el camí, de manera que la mesura queda per sota de la fita. Amb les instruccions que canvien, el lent sol fa 0,212: cada canvi l’envia a l’objecte nou amb retard.

Dos nivells: 0,020, 10,7 vegades menys error que el lent sol amb la mateixa latència

El model lent només diu quin objecte, que és el que no canvia de pressa i el que necessita entendre la instrucció. El controlador ràpid fa la resta a cada pas, amb el que veu ara. L’error que queda és el de reaccionar a un canvi d’instrucció, que encara triga entre L i 2L passos. És l’arquitectura del text: un model lent que planifica i un de ràpid que executa.

El ràpid sol: 0,172. Va a l’objecte que té més a prop, i el 40 % dels passos és el que la instrucció no demana

Sense el model gran no hi ha qui llegeixi «el vermell»: el controlador ràpid pot seguir qualsevol cosa perfectament, però no sap quina. El coneixement semàntic —què és el vermell, què vol dir «agafa la tassa»— és el que el model gran porta del preentrenament, i és el que fa que un robot que mai ha vist un objecte el pugui manipular si el model sap què és.

Un VLA de milers de milions de paràmetres respon unes quantes vegades per segon; el control d’un braç en vol centenars. Les arquitectures de dos nivells (un model lent que planifica i un de ràpid que executa) són la resposta a aquesta diferència, i la latència del lent continua marcant quant triga el robot a canviar d’idea.

6. Avaluació multimodal# sense fórmules

Benchmarks habituals: MMMU (raonament expert multidisciplinari amb imatges), MathVista (matemàtiques visuals), DocVQA i ChartQA (documents i gràfics), MMBench, VideoMME. Per a generació: FID i CLIPScore (imperfectes), i cada cop més preferència humana i jutges multimodals.

Mirar o endevinar

Quan el VLM descriu una imatge, quants dels objectes que diu hi són de debò? Mira la imatge o diu el que a les dades sol anar junt? Sap comptar? I què diu d’una imatge negra?

Els models encara no hi són.

El VLM, després de la fase
Escenes

Quina escena es mostra d’exemple.

Descarregant els pesos de CLIP, SigLIP i el VLM (604 kB)…

Totes aquestes patologies es poden mesurar perquè aquí la veritat és coneguda. Amb imatges de debò, el que costa és la veritat: CHAIR necessita anotacions, i les proves del prior necessiten imatges triades perquè la contradiguin.

7. Comprova que ho has entès#

0 de 6 resoltes

  1. Com converteix un ViT una imatge en tokens? Fes-ho amb números: una imatge de 448×448 amb patches de 14, quants tokens fa?
    Marge acceptat: ± 1,000
  2. Explica la pèrdua contrastiva de CLIP i què permet fer.
  3. Quina és la diferència entre l’arquitectura d’adaptador i la fusió nativa?
  4. Per què el vídeo és tan car? Un minut de vídeo a 30 fps, amb fotogrames de 224×224 i patches de 16: quants tokens?
    Marge acceptat: 2 %
  5. Cita tres patologies conegudes dels VLMs i com les detectaries.
  6. 10 minuts de vídeo han de cabre en una finestra de 128.000 tokens. Com ho faries?

    Objectiu:Al widget «El cost del vídeo», posa 10 minuts amb 196 tokens per fotograma i configura el mostreig i la fusió de patches perquè el total quedi per sota de 128.000 tokens sense perdre més del 5 % dels patches on l’objecte s’ha mogut.

    Vés al widget ↑minuts = per defecte · tpf = per defecte · fps = per defecte · fusio = per defecte · vel = per defecte · soroll = per defecte

8. Recursos#

Marca els que hagis llegit
  • Dosovitskiy et al. (2020), An Image is Worth 16x16 Words (ViT).

  • Radford et al. (2021), Learning Transferable Visual Models From Natural Language Supervision (CLIP).

  • Zhai et al. (2023), Sigmoid Loss for Language Image Pre-Training (SigLIP).

  • Liu et al. (2023), Visual Instruction Tuning (LLaVA).

  • Radford et al. (2022), Robust Speech Recognition via Large-Scale Weak Supervision (Whisper).