AI-productie deployen: van prototype naar productie

Gevorderd • Les 24

AI-productie deployen: van prototype naar productie

Een AI-prototype dat goed werkt op je laptop is heel wat anders dan een betrouwbare productiesysteem. De stap naar productie omvat latency, kosten, monitoring, fallbacks en veiligheid. Dit is waar veel AI-projecten vastlopen.

Latency en streaming

Taalmodellen zijn traag vergeleken met traditionele API’s. Streaming (het token voor token sturen van de output) verbetert de perceived latency sterk: de gebruiker ziet iets zodra het eerste token binnenkomt. Gebruik streaming bij interactieve toepassingen. Voor batchverwerking is streaming minder relevant.

Kosten beheren

API-kosten schalen lineair met tokenverbruik. Bereken je gemiddelde tokens per aanroep en project dit op het verwachte volume. Caching van veelgestelde vragen en hun antwoorden bespaart kosten. Kies het kleinste model dat voldoet aan de kwaliteitseisen: een klein model voor classificatietaken, een groot model alleen waar nodig.

Monitoring en observability

Log elke AI-aanroep: invoer, uitvoer, tokens, latency en fouten. Dit is essentieel voor debugging, kostenbeheersing en kwaliteitsbewaking. Tools als LangSmith, Braintrust en Langfuse bieden uitgebreide observability voor LLM-applicaties. Stel alerts in op onverwachte kostenpieken of foutpercentages.

Fallbacks en graceful degradation

AI-API’s kunnen traag of onbeschikbaar zijn. Bouw altijd fallbacks in: een eenvoudigere fallback-aanroep, een cached antwoord, of een duidelijke foutmelding. Rate limits zijn een veelvoorkomend probleem bij hoog volume; implementeer exponential backoff en retries. Test je applicatie op wat er gebeurt als de AI-API 30 seconden niet reageert.

Diffusiemodellen: hoe AI-beelden worden gegenereerd

Gevorderd • Les 23

Diffusiemodellen: hoe AI-beelden worden gegenereerd

Achter Stable Diffusion, DALL-E en Midjourney schuilt een elegante wiskundige truc: het model leert hoe het ruis kan omzetten naar betekenisvolle beelden. Dit principe, diffusie, is fundamenteel anders dan hoe taalmodellen tekst genereren.

Het forward-process: ruis toevoegen

Tijdens training worden echte afbeeldingen stap voor stap verpest door willekeurige ruis toe te voegen, totdat er alleen maar sneeuw over is. Het model leert bij elke stap hoe het de toegevoegde ruis eruit kan filteren. Dit is het forward-diffusion-process: afbeelding naar ruis.

Het reverse-process: ruis verwijderen

Bij gebruik draait het model dit proces om. Het begint met pure willekeurige ruis en verwijdert stap voor stap ruis, geleid door de tekstprompt via een tekst-encoder (meestal CLIP). Na tientallen tot honderden stappen ontstaat een coherent beeld dat overeenkomt met de beschrijving.

Latent diffusion

Originele diffusiemodellen werkten direct op pixelniveau, wat enorm veel geheugen en rekenkracht vergde. Latent diffusion models (zoals Stable Diffusion) werken in een gecomprimeerde latente ruimte. Een variational autoencoder (VAE) comprimeert de afbeelding naar een kleine representatie, diffusie vindt daar plaats, en de VAE decodeert het resultaat terug naar pixels.

ControlNet en guided generation

ControlNet maakt het mogelijk om naast tekst ook structurele informatie mee te geven: een schets, dieptekaart of pose. Dit geeft creators veel meer controle over de compositie van gegenereerde beelden. LoRA (Low-Rank Adaptation) laat toe om met weinig trainingsdata een stijl of persoon in het model te integreren.

AI in de creatieve industrie: kunst, muziek en schrijven

Gevorderd • Les 22

AI in de creatieve industrie: kunst, muziek en schrijven

Generatieve AI produceert inmiddels beelden, muziek en teksten die niet van menselijk werk te onderscheiden zijn. Dit brengt enorme mogelijkheden mee voor creators, maar roept ook serieuze vragen op over auteursrecht, authenticiteit en de toekomst van creatief werk.

Beeldgeneratie

Modellen als DALL-E, Midjourney en Stable Diffusion genereren beelden op basis van tekstbeschrijvingen. Ze zijn getraind op miljoenen gelabelde afbeeldingen van het internet. Illustratoren, fotografen en grafisch ontwerpers zien hun markt veranderen. Tegelijkertijd gebruiken steeds meer creators AI als gereedschap voor inspiratie, prototyping en productie.

Muziekgeneratie

Tools als Suno en Udio genereren complete liedjes inclusief zang op basis van een prompt. AI-gegenereerde muziek is al te horen in reclame, games en podcasts. De muziekindustrie worstelt met vragen over rechten en vergoedingen: als een AI is getraind op bestaande muziek, wie heeft dan recht op de royalties van de output?

Schrijven en auteursrecht

AI-schrijfassistenten helpen bij het schrijven van marketingteksten, scripts en artikelen. Uitgevers en platforms worstelen met de vraag hoe ze AI-gegenereerde content moeten behandelen. In de EU en VS lopen rechtszaken over of het trainen van AI op auteursrechtelijk beschermde werken legaal is. De uitkomsten zullen de sector de komende jaren vormgeven.

De positie van de creator

De meest succesvolle toepassing van AI in de creatieve sector is als collaboratief gereedschap: AI versnelt het productieproces en geeft creators meer ruimte voor het verfijnen van ideeën. Menselijke smaak, intentie en verhaalkunst blijven vooralsnog moeilijk te repliceren. De markt beloont steeds meer creators die AI beheersen en integreren.

RLHF: hoe AI wordt bijgestuurd met menselijke feedback

Gevorderd • Les 21

RLHF: hoe AI wordt bijgestuurd met menselijke feedback

Een voorgetraind taalmodel produceert plausibele tekst, maar dat betekent niet dat het nuttig, eerlijk of veilig is. RLHF is de techniek die ChatGPT, Claude en andere assistenten heeft getransformeerd van tekstgeneratoren naar behulpzame assistenten.

De drie fasen van RLHF

RLHF bestaat uit drie stappen. Eerst wordt het basismodel gesuperviseerd ge-fine-tuned op gewenst gedrag met behulp van door mensen geschreven voorbeelden. Vervolgens worden twee of meer reacties van het model beoordeeld door menselijke evaluatoren op basis van voorkeur. Ten slotte wordt een beloningsmodel getraind op die voorkeuren en gebruikt om het taalmodel verder te optimaliseren via reinforcement learning.

Constitutional AI

Anthropic heeft een variant ontwikkeld genaamd Constitutional AI (CAI). In plaats van alleen menselijke beoordelaars in te zetten, wordt het model geleid door een set expliciete principes (een “grondwet”). Het model leert zichzelf te evalueren en te verbeteren op basis van die principes, wat menselijke beoordelaars gedeeltelijk vervangt en schaalbaarder is.

Beperkingen van RLHF

RLHF leidt soms tot sycophancy: het model leert wat evaluatoren leuk vinden in plaats van wat feitelijk correct is. Menselijke evaluatoren zijn zelf niet perfect en brengen hun eigen biases mee. Het beloningsmodel kan worden “gehackt” door het taalmodel, een fenomeen genaamd reward hacking. Dit is een actief onderzoeksgebied.

DPO als alternatief

Direct Preference Optimization (DPO) is een nieuwere techniek die hetzelfde doel bereikt als RLHF maar eenvoudiger te implementeren is. In plaats van een apart beloningsmodel te trainen, optimaliseert DPO het taalmodel direct op voorkeursparen. Het wordt inmiddels breed ingezet als efficiënt alternatief voor RLHF.

Generatieve AI voor code: GitHub Copilot en alternatieven

Gevorderd • Les 20

Generatieve AI voor code: GitHub Copilot en alternatieven

AI-codeassistenten zijn een van de meest impactvolle toepassingen van generatieve AI. Ze versnellen het schrijven van code, helpen bij het begrijpen van legacy-systemen en verlagen de drempel om nieuwe technologieen te leren.

Hoe werken code-AI-modellen?

Code-modellen zijn getraind op enorme hoeveelheden publieke broncode van platforms als GitHub, GitLab en Stack Overflow. Ze leren patronen: hoe functies worden geschreven, hoe API’s worden aangeroepen, en hoe problemen worden opgelost in specifieke talen. GitHub Copilot gebruikt modellen van de GPT-familie, gespecialiseerd op code.

Wat kunnen ze goed?

Code-assistenten blinken uit in het aanvullen van boilerplate, het schrijven van unit tests, het refactoren van bestaande code, het genereren van documentatie en het uitleggen van complexe codefragmenten. Ze zijn bijzonder nuttig bij bekende bibliotheken en frameworks met veel trainingsdata.

Alternatieven voor Copilot

Naast GitHub Copilot zijn er Cursor (een volledig AI-geinte greerde code-editor), Cody van Sourcegraph (codebase-bewust), Tabnine (privacy-gericht, lokaal uitvoerbaar) en Claude Code (terminal-gebaseerd, gericht op complexe multi-step taken). Elk heeft andere sterke punten wat betreft context-bewustzijn, privacy en integratie.

Beperkingen en risico’s

Code-AI’s kunnen subtiele bugs introduceren die er correct uitzien maar onjuist zijn. Ze reproduceren soms onveilige patronen uit hun trainingsdata. Bij kritieke systemen moet gegenereerde code altijd worden gereviewd. Bovendien kan afhankelijkheid van AI-assistenten de basiskennis van ontwikkelaars ondermijnen als ze niet kritisch blijven nadenken.

Retrieval-Augmented Generation (RAG) in de praktijk

Gevorderd • Les 19

Retrieval-Augmented Generation (RAG) in de praktijk

RAG is de meest gebruikte architectuur om taalmodellen te voorzien van actuele of domeinspecifieke kennis zonder het model opnieuw te trainen. Je koppelt een zoeksysteem aan een LLM en het model genereert antwoorden op basis van opgehaalde documenten.

De basis-RAG-pipeline

Een RAG-pipeline bestaat uit drie stappen. Indexering: documenten worden opgesplitst in chunks, omgezet naar embeddings en opgeslagen in een vector database. Retrieval: bij een vraag wordt de vraag ook naar een embedding omgezet en de meest vergelijkbare chunks worden opgehaald. Generatie: de opgehaalde chunks worden samen met de vraag naar het LLM gestuurd dat een antwoord genereert.

Chunk-strategie

De grootte en manier van opsplitsen van documenten (chunking) heeft grote invloed op RAG-kwaliteit. Te kleine chunks missen context; te grote chunks bevatten ruis. Populaire methoden zijn fixed-size chunking, sentence-based chunking en recursive chunking. Experimenteer met overlap tussen chunks om context-verlies bij grenzen te verminderen.

Re-ranking en geavanceerd ophalen

Na het ophalen van de top-k chunks kun je een re-ranker inzetten om de relevantie opnieuw te beoordelen. Tools als Cohere Rerank of cross-encoders zijn effectiever dan pure cosine similarity. Hybride zoeken combineert vector search met traditioneel keyword search (BM25) voor betere recall.

Evalueren van RAG

Evalueer RAG op retrieval-kwaliteit (haalt het de juiste chunks op?) en op generatie-kwaliteit (is het antwoord correct en gebaseerd op de opgehaalde context?). Frameworks als RAGAS bieden gestandaardiseerde metrics. Veelvoorkomende problemen zijn hallucinations ondanks context, en antwoorden die de opgehaalde chunks negeren.

AI en duurzaamheid: de ecologische voetafdruk van grote modellen

Gevorderd • Les 18

AI en duurzaamheid: de ecologische voetafdruk van grote modellen

De snelle groei van AI heeft een keerzijde: enorm energieverbruik. Het trainen van een groot taalmodel zoals GPT-4 verbruikt evenveel energie als honderden huishoudens in een jaar. Dit roept terechte vragen op over duurzaamheid in de AI-industrie.

Training versus inference

Er zijn twee fases met significante energiekosten. Training is de eenmalige, enorm energie-intensieve fase waarbij het model wordt gebouwd op duizenden GPU’s gedurende weken of maanden. Inference is het dagelijkse gebruik: elke vraag aan een AI verbruikt rekenkracht. Bij populaire diensten met miljarden gebruikers telt inference op tot een enorm totaal.

Waterverbruik

Datacenters koelen hun servers met water. Grote AI-bedrijven als Microsoft en Google verbruiken miljoenen liters water per dag voor koeling. In regio’s met waterschaarste is dit een groeiend probleem. Sommige bedrijven rapporteren nu ook hun waterverbruik naast hun CO2-uitstoot.

Efficiëntere modellen

De industrie werkt aan oplossingen: kleinere, efficiëntere modellen die minder rekenkracht nodig hebben, betere hardware (NVIDIA Blackwell verbruikt minder energie per operatie dan vorige generaties), en slimmere trainingstrategieën. Quantisatie, pruning en kennisdistillatie zijn technieken om modellen kleiner en zuiniger te maken zonder veel kwaliteitsverlies.

Hernieuwbare energie

Grote AI-bedrijven investeren fors in hernieuwbare energie: zonneparken, windenergie en soms kernenergie. Google, Microsoft en Amazon streven naar 100% CO2-neutraliteit voor hun datacenters, al is de definitie van “CO2-neutraal” een discussiepunt. Transparantie over energieverbruik wordt steeds meer vereist door investeerders en toezichthouders.

Chain-of-thought prompting en redeneerketens

Gevorderd • Les 17

Chain-of-thought prompting en redeneerketens

Een taalmodel dat direct een antwoord geeft maakt meer fouten dan een model dat eerst hardop redeneert. Chain-of-thought prompting benut dit principe door het model te dwingen zijn redenering zichtbaar te maken voor het eindantwoord.

Wat is chain-of-thought?

Bij chain-of-thought (CoT) prompting vraag je het model zijn gedachtegang stap voor stap te beschrijven: “Denk hier stap voor stap over na.” Dit simpele verzoek leidt aantoonbaar tot betere resultaten bij wiskunde, logica en redeneerproblematiek. Het model legt als het ware zijn werk uit en pakt daarin fouten eerder op.

Zero-shot versus few-shot CoT

Zero-shot CoT voeg je toe met een instructie als “Denk stap voor stap” zonder verdere voorbeelden. Few-shot CoT geeft je expliciete voorbeelden van de gewenste redeneerstructuur mee. Few-shot is krachtiger maar vereist meer promptwerk. Voor moeilijke problemen loont het om redeneervoorbeelden te schrijven die het model kan volgen.

Extended thinking

Recente modellen zoals Claude Sonnet met extended thinking en OpenAI o1/o3 zijn specifiek getraind om uitgebreid te redeneren voor een antwoord te geven. Ze produceren een intern redeneerproces (reasoning tokens) dat niet altijd zichtbaar is voor de gebruiker maar wel de kwaliteit van het eindantwoord verhoogt. Dit is een geautomatiseerde vorm van CoT.

Wanneer gebruik je CoT?

CoT is het meest effectief bij problemen met meerdere stappen, wiskundige berekeningen, logische puzzels en planningsvragen. Bij eenvoudige feitenretrieval voegt het weinig toe. Het nadeel is dat CoT meer tokens verbruikt en de latency vergroot.

Systeem-prompts en rollen in AI-applicaties

Gevorderd • Les 16

Systeem-prompts en rollen in AI-applicaties

Elke AI-applicatie, van klantenservicebot tot codeerassistent, begint met een system prompt: een set instructies die het karakter, de beperkingen en het doel van de assistent vastlegt. Een goed ontworpen system prompt is het fundament van een betrouwbare AI-toepassing.

De rollenstructuur

Moderne AI-API’s werken met een berichtenstructuur van drie rollen: system (de achtergrondinstelling), user (de berichten van de eindgebruiker) en assistant (de reacties van het model). De system-rol heeft hogere prioriteit dan de user-rol; instructies in de system prompt zijn moeilijker te overschrijven door de gebruiker.

Wat zet je in een system prompt?

Effectieve system prompts bevatten: een duidelijke omschrijving van de rol (“Je bent een klantenservicemedewerker voor webshop X”), de doelgroep, de toon (formeel/informeel), wat de assistent wel en niet mag, en eventuele domeinspecifieke kennis. Hoe specifieker de instructies, hoe consistenter het gedrag van het model.

Few-shot voorbeelden in de system prompt

Je kunt in de system prompt voorbeelden meegeven van gewenst gedrag: een voorbeeld-vraag en gewenst antwoord. Dit heet few-shot prompting. Het is bijzonder effectief voor het aanleren van een specifieke stijl of het formatteren van output op een bepaalde manier die moeilijk in woorden te beschrijven is.

Valkuilen

Een te lange system prompt neemt context weg van de gebruikersinteractie. Tegenstrijdige instructies leiden tot inconsistent gedrag. Test altijd met edge cases: wat doet de assistent als de gebruiker iets vraagt wat buiten het gedefinieerde domein valt? Een goede system prompt handelt ook “out-of-scope” verzoeken graceful af.

Tokenisatie: hoe taalmodellen tekst verwerken

Gevorderd • Les 15

Tokenisatie: hoe taalmodellen tekst verwerken

Taalmodellen lezen geen letters of woorden maar tokens. Begrijpen hoe tokenisatie werkt helpt je betere prompts te schrijven, kosten te beheersen en beter te begrijpen waarom modellen soms vreemde fouten maken.

Wat is een token?

Een token is een stuk tekst dat het model als eenheid verwerkt. Het kan een heel woord zijn, een deel van een woord, of zelfs een enkel leesteken. Het woord “kunstmatige” wordt door de meeste tokenizers opgesplitst in meerdere tokens. In het Engels zijn tokens gemiddeld zo’n 4 tekens lang; in het Nederlands en andere talen met langere woorden zijn teksten vaak duurder in tokens.

Byte Pair Encoding

De meest gebruikte tokenisatiemethode is Byte Pair Encoding (BPE). Het algoritme start met alle individuele tekens als tokens en voegt vervolgens de meest voorkomende tekenparen samen totdat een gewenst vocabulaire is bereikt. Zo worden veelvoorkomende woorden en woorddelen hun eigen token, terwijl zeldzame woorden worden opgesplitst.

Praktische implicaties

Tokenisatie verklaart waarom modellen soms slecht zijn in simpele taken zoals letters tellen of omgekeerd schrijven: het model ziet de tekst niet op teken-niveau maar op token-niveau. Het verklaart ook waarom code en getallen soms vreemd worden verwerkt. Code heeft een hoge token-dichtheid, wat promptoptimalisatie voor code-taken relevant maakt.

Kosten en limieten

API-kosten worden berekend per token (invoer en uitvoer apart). Een prompt van 1.000 woorden bevat typisch 1.300 tot 1.500 tokens. Wees zuinig met tokens in production-systemen: vermijd onnodige herhaling in system prompts, gebruik beknopte instructies en meet je gemiddeld tokenverbruik per use case.