Sebastian Raschka introduceert een uitgebreide videocursus en een begeleidend boek, Build Reasoning Model (From Scratch), waarin wordt uitgelegd hoe je een redeneermodel implementeert met Python en PyTorch.
Het artikel maakt eerst een essentieel onderscheid tussen drie concepten:
- LLM's: De basismodellen.
- Redeneermodellen: Upgrades van LLM's via post-training en reinforcement learning voor complexere probleemoplossing.
- Agenten: De software-omgeving (agent-harness) waarin een model als 'motor' fungeert om taken uit te voeren.
De cursus gebruikt een vooraf getraind Qwen3-model en is verdeeld in acht lessen:
- Setup: Inrichten van de omgeving en hardware.
- Basis: Laden van het model, tekstgeneratie en KV-caching.
- Verificatie: Bouwen van verifieerders voor wiskundige evaluatie.
- Inference-time scaling I: Sampling en self-consistency.
- Inference-time scaling II: Scoring en self-refinement.
- Reinforcement Learning I: Implementatie van GRPO voor RLVR.
- Reinforcement Learning II: Geavanceerde tracking, clipping en KL-termen.
- Distillatie: Het trainen van een klein model op basis van een groter teacher-model.
Voor de cursus is basiskennis van Python en PyTorch vereist, waarbij een GPU noodzakelijk is voor de trainingsonderdelen.
Bouw je eigen reasoning model: een volledige videocursus
Ik heb de afgelopen twee jaar veel geschreven over reasoning models (redeneermodellen) op Ahead of AI, waaronder een recent artikel over mechanismen om de inspanningsniveaus van redeneren in hedendaagse LLM's te beheersen. Redeneermodellen zijn relevanter dan ooit; feitelijk zijn bijna alle huidige generaties LLM's redeneermodellen of bieden ze een redeneermodus aan.
Voor wie geïnteresseerd is in hoe deze modellen werken — inclusief inference scaling, reinforcement learning en distillation — heb ik onlangs het boek Build Reasoning Model (From Scratch) geschreven. Hierin worden deze technieken vanaf de basis geïmplementeerd in PyTorch, wat naar mijn ervaring de beste manier is om echt te begrijpen hoe deze zaken werken.
De afgelopen maanden heb ik bijbehorende colleges opgenomen om met jullie te delen. Hieronder vind je acht videolessen over het vanaf nul bouwen van een redeneermodel (in totaal meer dan 11 uur aan content).
We beginnen met een vooraf getraind LLM en implementeren methoden om dit model in Python en PyTorch te evalueren en te verbeteren. Voor wie vorig jaar mijn cursus Coding LLMs from the Ground Up heeft gevolgd: dit is in feite het vervolg (hoewel de cursus ook zonder die voorkennis te volgen is).
---
De relatie tussen LLM's, redeneermodellen en agenten
Voordat we aan de video's beginnen, volgt een korte toelichting op de vraag hoe redeneermodellen zich verhouden tot de huidige AI-agenten.
Een redeneermodel is in feite een upgrade van een conventioneel LLM. Dit gebeurt door extra post-training toe te voegen via reinforcement learning met verifieerbare beloningen (verifiable rewards) en optioneel inference scaling-technieken. Hierdoor kan het model complexere problemen oplossen. Traditioneel worden redeneermodellen ontwikkeld voor wiskunde en code, maar deze capaciteiten kunnen generaliseren naar andere domeinen.
Een redeneermodel fungeert vervolgens als de motor binnen een agent-harness. De agent-harness is een software- of tooling-framework rondom het model om nog uitdagendere taken aan te pakken (zoals grote programmeertaken, het boeken van reizen of andere taken als persoonlijke assistent). De taak van de harness is geavanceerd contextbeheer en het geven van toegang tot tools aan het LLM.
In deze analogie is het model de motor, en de agent-harness is de machine die ons in staat stelt deze motor voor diverse doeleinden te gebruiken (als upgrade van een simpele chatbot-interface). Een agent kan zowel een conventioneel LLM als een redeneermodel gebruiken, maar redeneermodellen zijn de meest logische keuze vanwege hun superieure capaciteiten.
De belangrijkste resources over deze onderwerpen zijn:
- Het boek en de video's van Build a Large Language Model (From Scratch).
- Het boek en de onderstaande video's van Build A Reasoning Model (From Scratch).
- Het artikel Components of a Coding Agent op Substack.
---
Reikwijdte en vereisten
De video's over het vanaf nul bouwen van redeneermodellen richten zich op een klein, vooraf getraind Qwen3-model, waarbij we de redeneermethoden zelf implementeren in Python en PyTorch. Door te starten met een vooraf getraind model kunnen we ons concentreren op de meest interessante aspecten: evaluatie, inference-time scaling, reinforcement learning en distillation.
Vereisten:
- Kennis: Een goede basis in Python en PyTorch wordt aanbevolen. De materialen zijn ontworpen als op zichzelf staande content, dus eerdere cursussen zijn aanbevolen maar niet strikt vereist.
- Hardware: De vroege voorbeelden van tekstgeneratie en evaluatie kunnen op een CPU worden uitgevoerd. Voor latere experimenten, en met name voor training, is een GPU noodzakelijk om het werk praktisch uitvoerbaar te maken.
---
Het begeleidende boek
Deze video's horen bij mijn boek, Build a Reasoning Model (From Scratch). Voor wie de uitleg in meer detail en in eigen tempo wil lezen, oefeningen wil maken en meer verdieping zoekt, raad ik het boek aan als aanvulling.
De meest effectieve leermethode is om een hoofdstuk te lezen, de code uit te voeren samen met de bijbehorende video, en vervolgens de oefeningen te maken. Het boek is verkrijgbaar via Manning en Amazon.
---
De videolessen
Voor wie een korter, conceptueel overzicht wenst, raad ik mijn cursus AI Reasoning Models op LinkedIn Learning aan (ca. 90 minuten). Deze legt de hoofdlijnen uit van inference-time scaling, reinforcement learning en distillation zonder de volledige implementaties door te lopen.
Hieronder volgt de detailed breakdown van de acht hoofdlessen.
1. Motivatie en code-setup
Deze video begint met de relatie tussen conventionele LLM's, redeneermodellen en agenten. Daarna ligt de focus op het inrichten van de programmeeromgeving.
Behandelde onderwerpen:
- De relatie tussen conventionele LLM's, redeneermodellen en agent harnesses.
- De voordelen van leren door middel van code-implementaties.
- De reikwijdte van deze videoserie.
- Installeren van Python-afhankelijkheden (met
uv).
- Keuze van hardware en het controleren van CUDA- of Apple Silicon-ondersteuning.
- Gebruik van een remote GPU met VS Code en het oplossen van omgevingsproblemen.
2. Basismodel laden, tekstgeneratie en KV-caching
Voordat we redeneermethoden toevoegen, hebben we een werkend basismodel nodig. We gebruiken de vooraf getrainde gewichten van een Qwen3 0.6B model.
Behandelde onderwerpen:
- Tekst encoderen als tokens en deze weer decoderen naar tekst.
- Downloaden van Qwen3-gewichten en het laden van het model op het gekozen compute-apparaat.
- Analyse van tensor-shapes, logits en next-token predictions.
- Implementatie van greedy decoding en streaming text generation.
- Omgaan met end-of-sequence tokens en het meten van generatiesnelheid.
- Toevoegen van een KV-cache om attention-keys en values te hergebruiken.
- Combineren van KV-caching met
torch.compile en het vergelijken van hardwareprestaties.
3. Een verifieerder bouwen voor evaluatie en reinforcement learning
In deze les bouwen we stap voor stap een verifieerder voor wiskunde-antwoorden, van extractie tot normalisatie en het controleren van mathematische equivalentie.
Behandelde onderwerpen:
- Introductie tot verifieerders en hun rol in LLM-evaluatiemethoden.
- Het hergebruiken van antwoordverificatie als beloningssignaal voor Reinforcement Learning with Verifiable Rewards (RLVR).
- De flow van de verifieerder: extractie van finale antwoorden, normalisatie en controle op equivalentie.
- Bouwen van een answer grader en een evaluatielus voor MATH-500.
- Vergelijken van basismodellen en redeneermodellen op de MATH-500 dataset.
4. Inference-time scaling: sampling en self-consistency
Hier verkennen we manieren om antwoorden te verbeteren zonder de modelgewichten aan te passen. We implementeren methoden om diverse antwoorden te genereren vanuit dezelfde prompt.
Behandelde onderwerpen:
- Vergelijking tussen de voordelen van extra compute tijdens training versus tijdens inference.
- Introductie tot inference-scaling via chain-of-thought prompts.
- Implementatie van temperature scaling en multinomial sampling voor diverse antwoorden.
- Toevoegen van top-p filtering om de kwaliteit van diverse antwoorden te controleren.
- Combineren van kandidaat-antwoorden via self-consistency (majority voting).
- Evaluatie van MATH-500 nauwkeurigheid versus de kosten van extra inference-compute.
5. Inference-time scaling: scoring en self-refinement
Voortbouwend op de vorige les implementeren we scoringsfuncties om meerdere antwoorden te vergelijken en tie-breakers te creëren in self-consistency.
Behandelde onderwerpen:
- Gebruik van scoringsfuncties voor het vergelijken van antwoorden.
- Implementatie van een eenvoudige heuristische scorer.
- Berekenen van token-waarschijnlijkheden en sequence likelihoods.
- Gebruik van log-waarschijnlijkheden voor verbeterde numerieke stabiliteit.
- Bouwen van een self-refinement loop waarin het model een antwoord bekritiseert en reviseert.
- Evaluatie van self-refinement op MATH-500.
6. Reinforcement learning: GRPO implementeren voor RLVR
We stappen over naar een trainingstechniek genaamd Reinforcement Learning with Verifiable Rewards (RLVR). We implementeren een vereenvoudigde versie van Group Relative Policy Optimization (GRPO).
Behandelde onderwerpen:
- Genereren van reasoning traces en de relatie tussen antwoordlengte en probleemoplossend vermogen.
- Discussie en vergelijking tussen Reinforcement Learning from Human Feedback (RLHF) en Reinforcement Learning with Verifiable Rewards (RLVR).
- Omzetten van verifieerder-scores naar beloningen en relatieve voordelen (relative advantages).
- Berekenen van sequence log probabilities en een vereenvoudigde GRPO-loss.
- Opzetten van de trainingslus met logging en checkpoint-saves.
- Evaluatie van checkpoints en controle van trainingsstabiliteit en geheugenbehoefte.
7. Reinforcement learning: tracking, clipped policy ratios en KL-termen
We analyseren de trainingsruns in detail door extra statistieken toe te voegen aan de trainingslus.
Behandelde onderwerpen:
- Uitvoeren van langere trainingsexperimenten en het interpreteren van logs.
- Tracken van advantages en entropy om trainingsgedrag te begrijpen.
- Implementatie van clipping in de policy loss en analyse van de effecten hiervan.
- Toevoegen van een KL-loss term en discussie over reward hacking.
- Beperkingen van de vereenvoudigde KL-formulering.
- Implementeren van format rewards en het conditioneren hiervan op de correctheid van het antwoord.
- Vergelijken van checkpoints op MATH-500 en verdere GRPO-onderzoeken.
8. Een reasoning-model distilleren
Als laatste alternatief voor RL bekijken we hoe we een klein redeneermodel kunnen trainen door te leren van een sterker en groter teacher model.
Behandelde onderwerpen:
- Vergelijking van distillatie-aanpakken: soft vs hard distillatie, en on-policy vs off-policy distillatie.
- Verzamelen van antwoorden gegenereerd door een teacher-model (bijv. DeepSeek R1) voor de MATH-dataset.
- Voorbereiden van de distillatie-dataset, inclusief tokenisatie en splitsing in training/validatie/test.
- Berekenen van answer-token log probabilities en begrijpen van de cross-entropy loss.
- Implementeren van supervised training en het tracken van training- en validatieverliezen.
- Evaluatie van checkpoints op MATH-500 en vergelijking van distillatieresultaten.
---
Slotwoord
Tijdens het volgen van deze lessen moedig ik je aan om regelmatig te pauzeren en eigen experimenten uit te voeren. Verander de sampling-instellingen, inspecteer foutieve antwoorden of probeer variaties op de suggesties uit de oefeningen.
Voor de volledige schriftelijke uitleg, figuren en oefeningen kun je terecht in het boek Build a Reasoning Model (From Scratch). Veel kijk- en programmeerplezier!
Bouw je eigen reasoning model: een volledige videocursus
Ik heb de afgelopen twee jaar veel geschreven over reasoning models (redeneermodellen) op Ahead of AI, waaronder een recent artikel over mechanismen om de inspanningsniveaus van redeneren in hedendaagse LLM's te beheersen. Redeneermodellen zijn relevanter dan ooit; feitelijk zijn bijna alle huidige generaties LLM's redeneermodellen of bieden ze een redeneermodus aan.
Voor wie geïnteresseerd is in hoe deze modellen werken — inclusief inference scaling, reinforcement learning en distillation — heb ik onlangs het boek Build Reasoning Model (From Scratch) geschreven. Hierin worden deze technieken vanaf de basis geïmplementeerd in PyTorch, wat naar mijn ervaring de beste manier is om echt te begrijpen hoe deze zaken werken.
De afgelopen maanden heb ik bijbehorende colleges opgenomen om met jullie te delen. Hieronder vind je acht videolessen over het vanaf nul bouwen van een redeneermodel (in totaal meer dan 11 uur aan content).
We beginnen met een vooraf getraind LLM en implementeren methoden om dit model in Python en PyTorch te evalueren en te verbeteren. Voor wie vorig jaar mijn cursus Coding LLMs from the Ground Up heeft gevolgd: dit is in feite het vervolg (hoewel de cursus ook zonder die voorkennis te volgen is).
---
De relatie tussen LLM's, redeneermodellen en agenten
Voordat we aan de video's beginnen, volgt een korte toelichting op de vraag hoe redeneermodellen zich verhouden tot de huidige AI-agenten.
Een redeneermodel is in feite een upgrade van een conventioneel LLM. Dit gebeurt door extra post-training toe te voegen via reinforcement learning met verifieerbare beloningen (verifiable rewards) en optioneel inference scaling-technieken. Hierdoor kan het model complexere problemen oplossen. Traditioneel worden redeneermodellen ontwikkeld voor wiskunde en code, maar deze capaciteiten kunnen generaliseren naar andere domeinen.
Een redeneermodel fungeert vervolgens als de motor binnen een agent-harness. De agent-harness is een software- of tooling-framework rondom het model om nog uitdagendere taken aan te pakken (zoals grote programmeertaken, het boeken van reizen of andere taken als persoonlijke assistent). De taak van de harness is geavanceerd contextbeheer en het geven van toegang tot tools aan het LLM.
In deze analogie is het model de motor, en de agent-harness is de machine die ons in staat stelt deze motor voor diverse doeleinden te gebruiken (als upgrade van een simpele chatbot-interface). Een agent kan zowel een conventioneel LLM als een redeneermodel gebruiken, maar redeneermodellen zijn de meest logische keuze vanwege hun superieure capaciteiten.
De belangrijkste resources over deze onderwerpen zijn:
- Het boek en de video's van Build a Large Language Model (From Scratch).
- Het boek en de onderstaande video's van Build A Reasoning Model (From Scratch).
- Het artikel Components of a Coding Agent op Substack.
---
Reikwijdte en vereisten
De video's over het vanaf nul bouwen van redeneermodellen richten zich op een klein, vooraf getraind Qwen3-model, waarbij we de redeneermethoden zelf implementeren in Python en PyTorch. Door te starten met een vooraf getraind model kunnen we ons concentreren op de meest interessante aspecten: evaluatie, inference-time scaling, reinforcement learning en distillation.
Vereisten:
- Kennis: Een goede basis in Python en PyTorch wordt aanbevolen. De materialen zijn ontworpen als op zichzelf staande content, dus eerdere cursussen zijn aanbevolen maar niet strikt vereist.
- Hardware: De vroege voorbeelden van tekstgeneratie en evaluatie kunnen op een CPU worden uitgevoerd. Voor latere experimenten, en met name voor training, is een GPU noodzakelijk om het werk praktisch uitvoerbaar te maken.
---
Het begeleidende boek
Deze video's horen bij mijn boek, Build a Reasoning Model (From Scratch). Voor wie de uitleg in meer detail en in eigen tempo wil lezen, oefeningen wil maken en meer verdieping zoekt, raad ik het boek aan als aanvulling.
De meest effectieve leermethode is om een hoofdstuk te lezen, de code uit te voeren samen met de bijbehorende video, en vervolgens de oefeningen te maken. Het boek is verkrijgbaar via Manning en Amazon.
---
De videolessen
Voor wie een korter, conceptueel overzicht wenst, raad ik mijn cursus AI Reasoning Models op LinkedIn Learning aan (ca. 90 minuten). Deze legt de hoofdlijnen uit van inference-time scaling, reinforcement learning en distillation zonder de volledige implementaties door te lopen.
Hieronder volgt de detailed breakdown van de acht hoofdlessen.
1. Motivatie en code-setup
Deze video begint met de relatie tussen conventionele LLM's, redeneermodellen en agenten. Daarna ligt de focus op het inrichten van de programmeeromgeving.
Behandelde onderwerpen:
- De relatie tussen conventionele LLM's, redeneermodellen en agent harnesses.
- De voordelen van leren door middel van code-implementaties.
- De reikwijdte van deze videoserie.
- Installeren van Python-afhankelijkheden (met
uv).
- Keuze van hardware en het controleren van CUDA- of Apple Silicon-ondersteuning.
- Gebruik van een remote GPU met VS Code en het oplossen van omgevingsproblemen.
2. Basismodel laden, tekstgeneratie en KV-caching
Voordat we redeneermethoden toevoegen, hebben we een werkend basismodel nodig. We gebruiken de vooraf getrainde gewichten van een Qwen3 0.6B model.
Behandelde onderwerpen:
- Tekst encoderen als tokens en deze weer decoderen naar tekst.
- Downloaden van Qwen3-gewichten en het laden van het model op het gekozen compute-apparaat.
- Analyse van tensor-shapes, logits en next-token predictions.
- Implementatie van greedy decoding en streaming text generation.
- Omgaan met end-of-sequence tokens en het meten van generatiesnelheid.
- Toevoegen van een KV-cache om attention-keys en values te hergebruiken.
- Combineren van KV-caching met
torch.compile en het vergelijken van hardwareprestaties.
3. Een verifieerder bouwen voor evaluatie en reinforcement learning
In deze les bouwen we stap voor stap een verifieerder voor wiskunde-antwoorden, van extractie tot normalisatie en het controleren van mathematische equivalentie.
Behandelde onderwerpen:
- Introductie tot verifieerders en hun rol in LLM-evaluatiemethoden.
- Het hergebruiken van antwoordverificatie als beloningssignaal voor Reinforcement Learning with Verifiable Rewards (RLVR).
- De flow van de verifieerder: extractie van finale antwoorden, normalisatie en controle op equivalentie.
- Bouwen van een answer grader en een evaluatielus voor MATH-500.
- Vergelijken van basismodellen en redeneermodellen op de MATH-500 dataset.
4. Inference-time scaling: sampling en self-consistency
Hier verkennen we manieren om antwoorden te verbeteren zonder de modelgewichten aan te passen. We implementeren methoden om diverse antwoorden te genereren vanuit dezelfde prompt.
Behandelde onderwerpen:
- Vergelijking tussen de voordelen van extra compute tijdens training versus tijdens inference.
- Introductie tot inference-scaling via chain-of-thought prompts.
- Implementatie van temperature scaling en multinomial sampling voor diverse antwoorden.
- Toevoegen van top-p filtering om de kwaliteit van diverse antwoorden te controleren.
- Combineren van kandidaat-antwoorden via self-consistency (majority voting).
- Evaluatie van MATH-500 nauwkeurigheid versus de kosten van extra inference-compute.
5. Inference-time scaling: scoring en self-refinement
Voortbouwend op de vorige les implementeren we scoringsfuncties om meerdere antwoorden te vergelijken en tie-breakers te creëren in self-consistency.
Behandelde onderwerpen:
- Gebruik van scoringsfuncties voor het vergelijken van antwoorden.
- Implementatie van een eenvoudige heuristische scorer.
- Berekenen van token-waarschijnlijkheden en sequence likelihoods.
- Gebruik van log-waarschijnlijkheden voor verbeterde numerieke stabiliteit.
- Bouwen van een self-refinement loop waarin het model een antwoord bekritiseert en reviseert.
- Evaluatie van self-refinement op MATH-500.
6. Reinforcement learning: GRPO implementeren voor RLVR
We stappen over naar een trainingstechniek genaamd Reinforcement Learning with Verifiable Rewards (RLVR). We implementeren een vereenvoudigde versie van Group Relative Policy Optimization (GRPO).
Behandelde onderwerpen:
- Genereren van reasoning traces en de relatie tussen antwoordlengte en probleemoplossend vermogen.
- Discussie en vergelijking tussen Reinforcement Learning from Human Feedback (RLHF) en Reinforcement Learning with Verifiable Rewards (RLVR).
- Omzetten van verifieerder-scores naar beloningen en relatieve voordelen (relative advantages).
- Berekenen van sequence log probabilities en een vereenvoudigde GRPO-loss.
- Opzetten van de trainingslus met logging en checkpoint-saves.
- Evaluatie van checkpoints en controle van trainingsstabiliteit en geheugenbehoefte.
7. Reinforcement learning: tracking, clipped policy ratios en KL-termen
We analyseren de trainingsruns in detail door extra statistieken toe te voegen aan de trainingslus.
Behandelde onderwerpen:
- Uitvoeren van langere trainingsexperimenten en het interpreteren van logs.
- Tracken van advantages en entropy om trainingsgedrag te begrijpen.
- Implementatie van clipping in de policy loss en analyse van de effecten hiervan.
- Toevoegen van een KL-loss term en discussie over reward hacking.
- Beperkingen van de vereenvoudigde KL-formulering.
- Implementeren van format rewards en het conditioneren hiervan op de correctheid van het antwoord.
- Vergelijken van checkpoints op MATH-500 en verdere GRPO-onderzoeken.
8. Een reasoning-model distilleren
Als laatste alternatief voor RL bekijken we hoe we een klein redeneermodel kunnen trainen door te leren van een sterker en groter teacher model.
Behandelde onderwerpen:
- Vergelijking van distillatie-aanpakken: soft vs hard distillatie, en on-policy vs off-policy distillatie.
- Verzamelen van antwoorden gegenereerd door een teacher-model (bijv. DeepSeek R1) voor de MATH-dataset.
- Voorbereiden van de distillatie-dataset, inclusief tokenisatie en splitsing in training/validatie/test.
- Berekenen van answer-token log probabilities en begrijpen van de cross-entropy loss.
- Implementeren van supervised training en het tracken van training- en validatieverliezen.
- Evaluatie van checkpoints op MATH-500 en vergelijking van distillatieresultaten.
---
Slotwoord
Tijdens het volgen van deze lessen moedig ik je aan om regelmatig te pauzeren en eigen experimenten uit te voeren. Verander de sampling-instellingen, inspecteer foutieve antwoorden of probeer variaties op de suggesties uit de oefeningen.
Voor de volledige schriftelijke uitleg, figuren en oefeningen kun je terecht in het boek Build a Reasoning Model (From Scratch). Veel kijk- en programmeerplezier!