Multimodale input uitgelegd: tekst, beeld en audio in één model
Door Ivo Donker — samengesteld met AI-ondersteuning (Claude & Gemini)
Traditionele grote taalmodellen waren strikt tekstuele voorspellingsmachines: ze accepteerden reeksen gehele getallen (tokens) die corresponderen met subwoorden, en voorspelden het volgende token. In een multimodale architectuur worden echter compleet verschillende fysische signalen — continue geluidsgolven, tweedimensionale pixelroosters en discrete tekens — gelijktijdig verwerkt door één centrale transformer-backbone. Dit gebeurt niet door voor elke modaliteit een afzonderlijk neuraal netwerk naast het taalmodel te laten draaien dat tekstuele samenvattingen doorgeeft, maar door alle signalen om te zetten naar continue embeddingvectoren met exact dezelfde dimensie.
In dit artikel ontleden we de interne mechanismen achter multimodale architecturen. We bekijken hoe ruwe audio-opnames en pixelrasters worden getransformeerd tot vectoren, hoe projectielagen ervoor zorgen dat verschillende zintuiglijke inputs op één gemeenschappelijke conceptuele lijn komen te liggen, en wat de rekenkundige consequenties zijn voor het contextvenster en de KV-cache.
1. De overgang van pipeline-koppeling naar native multimodaliteit
Vroege systemen die tekst en beeld combineerden, maakten gebruik van een samengestelde keten (vaak aangeduid als late fusion of een pipeline-architectuur). Hierbij transcribeerde een extern spraakmodel zoals Whisper eerst een audiofragment naar tekst, of beschreef een Vision Transformer (zoals een klassieke CLIP-beeldherkenner) een foto in tekstuele labels. Pas daarna kreeg het centrale taalmodel die geëxtraheerde tekst aangeboden als reguliere prompt. Hoewel deze modulaire aanpak eenvoudig te bouwen is, gaat er fundamentele context verloren: intonatie, achtergrondgeluiden, ademhaling, ruimtelijke verhoudingen tussen objecten en subtiele visuele nuances laten zich niet zonder kwaliteitsverlies vertalen naar een platte tekststring.
Moderne multimodale netwerken hanteren daarentegen early fusion of diepe cross-modale integratie. In een native multimodaal model worden ruwe sensorische data via gespecialiseerde lineaire projecties direct ingebed in de actieve verborgen toestand (de hidden dimension $d_{\text{model}}$) van de transformer. Hierdoor kan het netwerk cross-modale relaties modelleren met dezelfde self-attention-lagen die woordverbanden analyseren. Een model leert daardoor rechtstreeks dat een visuele afbeelding van een rode appel, het Nederlandse woord "appel" en het specifieke audiopatroon van iemand die het woord uitspreekt, naar hetzelfde onderliggende concept in de latente ruimte verwijzen.
2. Beeldinvoer: van pixels naar vision patches en lineaire projectie
Een tweedimensionale afbeelding bevat geen inherente volgorde van discrete symbolen zoals geschreven tekst. Om een afbeelding van bijvoorbeeld 448 bij 448 pixels met drie kleurkanalen (RGB) door een transformer te kunnen leiden, wordt het beeld eerst opgedeeld in een raster van kleinere vierkanten, zogeheten patches. Een gangbare patchgrootte is 14 bij 14 of 16 bij 16 pixels.
Voor een afbeelding met resolutie $H \times W$ en patchgrootte $P \times P$ ontstaan er $N = (H \cdot W) / P^2$ individuele patches. Bij een resolutie van $448 \times 448$ en een patchformaat van $14 \times 14$ levert dit precies $(448/14) \times (448/14) = 32 \times 32 = 1024$ visuele patches op. Elke individuele patch bestaat uit $14 \times 14 \times 3 = 588$ ruwe pixelwaarden.
Vervolgens transformeert een lineaire projectielaag of een voorgetrainde Vision Transformer (ViT-encoder) elke platgeslagen patch-vector van 588 dimensies naar de verborgen modeldimensie $d_{\text{model}}$ (bijvoorbeeld 4096). Ook wordt er een tweedimensionale positie-embedding (2D positional encoding) toegevoegd, zodat het model weet waar een patch zich in het oorspronkelijke rooster bevond. Voor een grondige vergelijking van hoe verschillende dataformaten worden opgedeeld, biedt de uitleg over multimodale tokenisatie van beelden en audio waardevolle verdieping.
| Resolutie | Patchgrootte | Aantal visual tokens | Geheugendruk (FP16 per token) | Typische toepassing |
|---|---|---|---|---|
| 224 × 224 | 14 × 14 | 256 tokens | Laag (~0,5 KB activering per laag) | Snelle mobiele classificatie, thumbnails |
| 448 × 448 | 14 × 14 | 1.024 tokens | Gemiddeld (~2 KB activering per laag) | Standaard document-OCR en objectdetectie |
| 896 × 896 | 14 × 14 | 4.096 tokens | Hoog (~8 KB activering per laag) | Complexe technische schema's, dichte PDF's |
| 1344 × 1344 | 14 × 14 | 9.216 tokens | Zeer hoog (vereist dynamische cropping) | Hoge-resolutie satelliet- en medische beelden |
3. Geluid en spraak: spectrogrammen en continue audiotokens
Geluidsgolven zijn eendimensionale continue signalen met een hoge bemonsteringsfrequentie (sample rate), doorgaans 16.000 tot 48.000 metingen per seconde. Zouden we elk audiosample direct als een token beschouwen, dan zou een audiofragment van tien seconden al resulteren in 160.000 invoerelementen, wat direct tot geheugentekorten leidt in het kwadratische aandachtsmechanisme.
Daarom wordt audiodata eerst via een Short-Time Fourier Transform (STFT) omgezet in een zogeheten log-mel-spectrogram. Dit transformeert het tijdsignaal naar een tweedimensionale representatie met frequentiebanden op de verticale as en tijdssegmenten (frames) op de horizontale as. Een audio-encoder (vaak gebaseerd op een Conformer- of 1D-convolutionele architectuur) comprimeert deze frames vervolgens in de tijd: typisch wordt elke 40 tot 80 milliseconde aan audio samengevat tot één audiotoken.
Hierdoor levert één seconde gesproken audio ongeveer 12,5 tot 25 tokens op. Een spraakopname van tien seconden vertaalt zich zo naar 125 tot 250 vector-embeddings. Deze audiotokens dragen niet alleen semantische informatie over de uitgesproken woorden, maar behouden ook akoestische eigenschappen zoals intonatie, spreeksnelheid, emotionele lading en omgevingsruis.
4. De wiskunde van de gedeelde vectorruimte
De kern van een modern multimodaal model is dat na de invoer- en projectiefase alle modaliteiten dezelfde wiskundige vorm aannemen: een geordende matrix van tensoren met dimensie $[B, S, D]$, waarbij $B$ de batchgrootte is, $S$ de totale sequentiesequentielengte (som van teksttokens, beeldtokens en audiotokens), en $D$ de verborgen modeldimensie ($d_{\text{model}}$).
Laat $X_{\text{tekst}} \in \mathbb{R}^{N_t \times d_t}$ de klassieke subwoord-embeddings zijn, $X_{\text{beeld}} \in \mathbb{R}^{N_v \times d_v}$ de geëxtraheerde feature-vectoren uit de Vision Transformer, en $X_{\text{audio}} \in \mathbb{R}^{N_a \times d_a}$ de output van de audio-encoder. Omdat $d_t$, $d_v$ en $d_a$ in eerste instantie van elkaar kunnen verschillen, worden getrainde projectiematrices $W_v \in \mathbb{R}^{d_v \times D}$ en $W_a \in \mathbb{R}^{d_a \times D}$ toegepast:
# Conceptuele samenstelling van een gecombineerde multimodale sequentie
import torch
import torch.nn as nn
class MultimodalProjector(nn.Module):
def __init__(self, d_vision, d_audio, d_model):
super().__init__()
# Meerlaagse perceptron (MLP) projectielagen met niet-lineariteit
self.vision_proj = nn.Sequential(
nn.Linear(d_vision, d_model),
nn.GELU(),
nn.Linear(d_model, d_model)
)
self.audio_proj = nn.Sequential(
nn.Linear(d_audio, d_model),
nn.GELU(),
nn.Linear(d_model, d_model)
)
def forward(self, text_emb, vision_feat, audio_feat):
# text_emb: [batch, len_text, d_model]
# vision_feat: [batch, len_vision, d_vision]
# audio_feat: [batch, len_audio, d_audio]
proj_vision = self.vision_proj(vision_feat) # -> [batch, len_vision, d_model]
proj_audio = self.audio_proj(audio_feat) # -> [batch, len_audio, d_model]
# Samengevoegde invoer voor de transformer backbone
interleaved_seq = torch.cat([text_emb, proj_vision, proj_audio], dim=1)
return interleaved_seq
Zodra deze vectoren zijn samengevoegd, ziet de backbone transformer geen functioneel verschil meer tussen de oorsprong van een token. In elke self-attention-laag berekenen de query-, key- en value-vectoren de onderlinge verbanden over de modaliteitsgrenzen heen via de bekende formule:
Attention(Q, K, V) = softmax((Q * K^T) / sqrt(d_k)) * V
Hierdoor kan een tekstuele queryvector ("Waar staat de fiets?") direct hoge aandachtsscores toekennen aan specifieke visuele beeldtokens waarin het patroon van spaken en wielen is gecodeerd.
5. Aandachtsverdeling en cross-modale uitlijning
Hoewel alle vectoren in dezelfde matrix staan, vertonen multimodale modellen specifiek aandachtsgedrag tijdens training en inferentie. Uit mechanistische analyses blijkt dat lagere lagen van de transformer vaak modaliteit-specifieke kenmerken verwerken: visuele tokens communiceren voornamelijk met naburige visuele tokens om randen en texturen te verfijnen, terwijl teksttokens syntactische structuren analyseren.
In de middelste en hogere lagen ontstaat cross-modale integratie (late alignment). Hier convergeert de informatie naar abstracte semantische representaties. Wanneer het model bijvoorbeeld een Nederlandse vraag beantwoordt over een ingesproken klacht of een geüploade foto van een kassabon, combineren de hogere aandachtsroppen de auditieve intonatie, de visuele layout van getallen en de grammaticale structuur van de gewenste uitvoer.
Om te evalueren of een prompt met beeld of audio betrouwbaarder reageert dan een zuivere tekstinstructie, is het raadzaam om modelprestaties empirisch te valideren; zie hiervoor de methodiek van A/B-testen voor prompts. Voor het structureel valideren van kwaliteitsverschillen tussen multimodale modellen biedt het dossier over multimodale AI evalueren en prestaties meten diepere handvatten.
6. Rekencomplexiteit, KV-cache en contextbeheer
De integratie van beelden en geluid heeft directe gevolgen voor de hardwarebelasting en inferentiekosten. Terwijl een gemiddelde schriftelijke alinea ongeveer 60 tot 100 subwoordtokens beslaat, verbruikt één enkele foto met standaardresolutie al snel 576 tot 1.024 tokens. Een geluidsfragment van een halve minuut voegt daar nog eens 400 tot 750 tokens aan toe.
Omdat het geheugengebruik van de Key-Value-cache (KV-cache) lineair meegroeit met de totale sequentiële contextlengte, en de aandachtsverwerking kwadratisch schaalt met betrekking tot de invoersequentie, leggen multimodale inputs een zware druk op het grafische geheugen (VRAM). Een interactieve sessie met vijf opeenvolgende schermafbeeldingen kan al snel meer dan 5.000 tokens aan actieve context vereisen, nog voordat de gebruiker één vraag heeft getypt.
Om deze geheugendruk te verminderen hanteren moderne multimodale architecturen specifieke optimalisatietechnieken:
- Dynamische patch-reductie (Token Pruning): Algoritmen die niet-informatieve patches (zoals egale witte achtergronden in documenten) identificeren en verwijderen vóórdat ze de transformer bereiken.
- Spatial Perceiver Resamplers: Cross-attention-modules met een vast aantal leerbare queries (bijvoorbeeld 64 of 128) die een willekeurig groot aantal visuele tokens comprimeren naar een compacte representatie van vaste lengte.
- Kwantisatie van de KV-cache: Het opslaan van sleutel- en waardetensoren in 4-bit of 8-bit precisie om geheugenruimte vrij te houden tijdens langdurige multimodale dialogen.
7. Valkuilen: cross-modale hallucinaties en temporele desynchronisatie
Ondanks de wiskundige elegantie van een gedeelde embeddingruimte kampen multimodale modellen met specifieke zwakke punten die niet voorkomen bij zuivere tekstmodellen:
1. Visuele hallucinatie door taalprior (Language Prior Dominance): Wanneer het taalmodel een sterke statistische correlatie kent uit zijn tekstuele trainingsdata (bijvoorbeeld: "een zebra heeft altijd strepen"), kan het visuele details negeren. Toont men een foto van een zeldzame ongepatroonde zebra, dan zal het model vaak ten onrechte beweren dat het dier normale strepen heeft, omdat de tekstuele waarschijnlijkheid de visuele patchrepresentatie overstemt.
2. Temporele desynchronisatie bij streaming audio: Bij real-time spraakinteractie moet het model synchroon luisteren en spreken. Omdat audiotokens sequentieel binnenkomen, kan vertraging in de cross-attention-laag ertoe leiden dat het model reageert op een intonatieverschuiving die enkele honderden milliseconden eerder plaatsvond, wat leidt tot haperende onderbrekingen.
3. Resolutieverlies bij kleine lettertypes: Bij documentanalyse en het uitlezen van scans (OCR) is de vaste patchindeling een structurele beperking. Letters die kleiner zijn dan enkele pixels vallen binnen één patch en vervagen tot een onherkenbaar gemiddelde van RGB-waarden, waardoor getallen in financiële tabellen vatbaar zijn voor hallucinaties.
8. Toepassing in software-architecturen en agent-systemen
In moderne software-omgevingen stelt native multimodaliteit ontwikkelaars in staat om robuuste pipelines te bouwen waarin visuele inspectie, spraakherkenning en gestructureerde JSON-uitvoer samenkomen in één aanroep. In plaats van aparte OCR- en ASR-servers (Automatic Speech Recognition) te beheren, volstaat één modelendpoint dat heterogene payloads accepteert.
Wie autonome systemen wil ontwerpen die live camerabeelden en gesproken commando's combineren, kan de praktische route volgen om AI-agent engineer te worden in 2026. Hierbij fungeert het multimodale model als het centrale zintuiglijke verwerkingssysteem dat visuele en akoestische waarnemingen direct omzet in gerichte functie-aanroepen (tool calls).


