Loading blog posts...
Loading blog posts...
Laden...

U hebt vaker naar "out of memory" fouten gestaard dan u kunt tellen. Uw 8GB GPU verstokt zich aan modellen die volgens Reddit "gewoon prima" draaien. Laten we dit voorspelbaar maken door te focussen op wat er werkelijk toe doet voor lokale LLM-inferentie.
Vergeet CUDA-cores. Vergeet kloksnelheden. VRAM bepaalt welke modellen u lokaal kunt draaien.
Tijdens inferentie moeten de gewichten van het model in GPU-geheugen zitten en worden constant gelezen terwijl tokens worden gegenereerd. Zodra gewichten overlopen naar systeemgeheugen, stort de prestatie meestal in elkaar: denk aan 50+ tokens/sec die zakken naar enkele cijfers.
De berekeningsregel is vrij simpel: modelgrootte + KV-cache + 10-25% ruimte = minimum VRAM. Een 7B model in FP16 heeft ongeveer 14 GB nodig. Kwantiseer het naar 4-bit GGUF en u zit rond de 4-5 GB. Een 70B model op Q4 wil nog steeds ongeveer 38-40 GB, wat meer is dan zelfs de 24 GB van een RTX 4090.
| GPU | VRAM | Realistische Modelgrootte | ~7B Q4 Snelheid |
|---|---|---|---|
| RTX 4060 | 8 GB | 3B-8B (beperkte context) | 28-35 tok/s |
| RTX 4070 | 12 GB | 7B-8B (bruikbare context) | 48-58 tok/s |
| RTX 4080 | 16 GB | 7B-14B | 70-85 tok/s |
| RTX 4090 | 24 GB | 13B-34B | 90-110 tok/s |
| RTX 5090 | 32 GB | 27B-70B (gekwantiseerd) | ~140 tok/s |
Geheugenbandbreedte is een groot deel van waarom snelheden variëren. Inferentie is eigenlijk non-stop gewichtenstreaming, dus de 1008 GB/s van de RTX 4090 versus de 1792 GB/s van de RTX 5090 toont zich direct in generatieprestaties.

Note
[!NOTE] AMD-gebruikers kunnen meevolgen met ROCm op Linux of Vulkan op Windows. Apple Silicon-gebruikers profiteren van unified memory, wat grotere modellen toegankelijker maakt op M-serie chips.
bashcurl -fsSL https://ollama.com/install.sh | sh
Op Linux dekt dat ene commando de installatie. Windows-gebruikers moeten de installer ophalen van ollama.com. De installer/script controleert uw GPU en stelt automatisch de juiste backend in.
Na installatie, bevestig de basis:
bashollama --version nvidia-smi
nvidia-smi toont huidig GPU-geheugengebruik en uw driverversie. Als GPU-versnelling later niet verschijnt, is dit de snelste manier om te zien of het een driverprobleem of een Ollama-setup probleem is.
bashollama pull llama3.1:8b-instruct-q4_K_M
De tag-details zijn belangrijk. 8b is de 8 miljard parameter variant van Llama 3.1. instruct betekent dat het getraind is om instructies te volgen (niet alleen autocomplete). q4_K_M is 4-bit kwantisatie met de K-quant methode op medium kwaliteit, wat meestal de beste snelheid vs geheugen vs kwaliteit afweging geeft voor lokale runs.
Als u opties wilt per VRAM-categorie:
bash# 8 GB VRAM - kleinere modellen ollama pull gemma3:4b-it-q4_K_M # 12-16 GB VRAM - sweet spot ollama pull llama3.1:8b-instruct-q4_K_M ollama pull qwen3:14b-q4_K_M # 24 GB VRAM - grotere modellen ollama pull llama3.1:70b-instruct-q4_K_M ollama pull gemma3:27b-it-q4_K_M
Gemma 3 van Google is een sterke keuze voor multimodaal werk, en Qwen3 presteert meestal bijzonder goed bij redeneer-intensieve taken. De juiste keuze hangt af van wat u dagelijks doet, maar elk van deze is solide voor algemene programmeer- en schrijfhulp.
bashollama run llama3.1:8b-instruct-q4_K_M
Terwijl het draait, open een andere terminal:
bashollama ps
textNAME ID SIZE PROCESSOR UNTIL llama3.1:8b-instruct-q4_K_M a]2c6b7d8e9f 5.4 GB 100% GPU 4 minutes from now
De PROCESSOR kolom vertelt u waar inferentie plaatsvindt. Alles minder dan 100% GPU betekent meestal dat gewichten overlopen naar systeemgeheugen. Als u zoiets ziet als 50% GPU / 50% CPU, past het model niet netjes in VRAM, en prestaties zullen dalen.
Dubbelcheck met nvidia-smi:
bashwatch -n 1 nvidia-smi
GPU-geheugengebruik zou moeten stijgen wanneer u prompts verstuurt. Als het vlak blijft terwijl Ollama zegt dat het model geladen is, werkt GPU-detectie waarschijnlijk niet zoals het zou moeten.
bashollama run llama3.1:8b-instruct-q4_K_M --num-ctx 4096
Contextlengte raakt VRAM via de KV-cache. In de meeste gevallen verdubbelt het verdubbelen van context ongeveer het KV-cache geheugen. De standaard 2048 tokens is prima voor typische chats, maar RAG-setups of lang-document werk heeft vaak 8192 of meer nodig.
Warning
[!WARNING] Als u context te hoog zet, kunt u out-of-memory fouten triggeren midden in een gesprek. Begin bij 4096 en ga alleen omhoog als u het echt nodig hebt. Een 32K context op een 12 GB GPU zal falen zelfs met kleine modellen.
Om de instellingen te laten blijven, gebruik een Modelfile:
textFROM llama3.1:8b-instruct-q4_K_M PARAMETER num_ctx 8192 PARAMETER temperature 0.7
bashollama create my-custom-llama -f Modelfile ollama run my-custom-llama
Deze aanpak houdt contextlengte, temperatuur en systeemprompts in één herbruikbare config, zodat u niet steeds flags hoeft te typen en zich afvraagt welke run welke instellingen gebruikte.
Ollama dekt de meeste workflows, maar llama.cpp geeft u strakkere controle over kwantisatie, batching en multi-GPU setups.
bashgit clone https://github.com/ggml-ai/llama.cpp cd llama.cpp make GGML_CUDA=1
GGML_CUDA=1 is wat NVIDIA GPU-ondersteuning aanzet. Zonder dit krijgt u CPU-inferentie zelfs als uw GPU daar nutteloos zit.
Download een GGUF model van Hugging Face:
bash./llama-cli -m models/llama-3.1-8b-instruct-q4_K_M.gguf \ -p "Explain quicksort in Python" \ -n 512 \ --n-gpu-layers 99 \ --ctx-size 4096
--n-gpu-layers 99 vertelt llama.cpp om zoveel mogelijk lagen naar de GPU te pushen. Als VRAM opraakt, zal het automatisch resterende lagen naar CPU verplaatsen. Als u een bewuste verdeling wilt (bijvoorbeeld VRAM vrijhouden voor een andere app), stel dan een specifiek getal in zoals 32.
| Format | Bits | Kwaliteit | Snelheid | Geheugen | Best Voor |
|---|---|---|---|---|---|
| Q8_0 | 8-bit | Uitstekend | Langzamer | Hoger | Kwaliteit-kritieke taken |
| Q6_K | 6-bit | Zeer Goed | Gemiddeld | Gemiddeld | Balans-zoekers |
| Q4_K_M | 4-bit | Goed | Snel | Laag | Meeste gebruikers |
| Q4_K_S | 4-bit | Acceptabel | Snelst | Laagst | VRAM-beperkt |
| Q2_K | 2-bit | Verslechterd | Zeer Snel | Minimaal | Alleen experimenteren |
De bitsandbytes documentatie gaat diep in op kwantisatiedetails. In de praktijk is Q4_K_M de standaardkeuze voor consumer GPU's omdat kwaliteit meestal dicht bij FP16 blijft terwijl geheugengebruik flink daalt. Als Q4_K_M nog steeds niet past, probeer Q4_K_S. Q2_K houdt u het beste voor snelle experimenten omdat kwaliteitsverlies duidelijk wordt.
Tip
[!TIP] Als u kiest tussen een groter model met lagere kwantisatie vs een kleiner model met hogere kwantisatie, wint het grotere model meestal. Een 14B Q4 model verslaat vaak een 7B Q8 model zelfs als de geheugenvoetafdruk vergelijkbaar is.

bashollama ps
Kijk naar PROCESSOR. Als CPU verschijnt, past het model niet in VRAM. Uw beste oplossingen zijn:
bashnvidia-smi
Controleer VRAM-gebruik voordat u het model laadt. Browsers met hardwareversnelling, Discord en videospelers kunnen stilletjes een stuk VRAM opeten. Sluit ze, of zet GPU-versnelling uit in hun instellingen.
bash# Controleer CUDA installatie nvcc --version # Verifieer driver compatibiliteit nvidia-smi
Ollama heeft CUDA 11.8+ nodig en drivers die compute capability 5.0+ ondersteunen. Als nvcc niet gevonden wordt, installeer de CUDA toolkit. Als nvidia-smi een oudere driver toont, update via NVIDIA of uw package manager.
Dat is normaal. De eerste prompt moet gewichten in VRAM laden, wat enkele seconden kan duren afhankelijk van modelgrootte en schijfsnelheid. Daarna hergebruiken prompts gecachte gewichten. SSD's maken hier een merkbaar verschil vergeleken met HDD's.
Voor een baseline:
bashollama run llama3.1:8b-instruct-q4_K_M --verbose
Stuur een prompt en bekijk de statistieken:
text>>> Write a Python function to calculate fibonacci numbers eval count: 256 tokens eval duration: 4.2s eval rate: 60.95 tokens/s
eval rate is uw generatiesnelheid. Vergelijk het met de tabel eerder. Als u ver onder zit wat uw GPU zou moeten halen, ga terug en controleer GPU-detectie en of u werkelijk in VRAM past.
Als u een zwaardere test wilt:
bash## Genereer 500 tokens voor stresstest ./llama-cli -m model.gguf -p "Write a detailed essay about renewable energy" -n 500 --n-gpu-layers 99
En houd temperaturen in de gaten tijdens langere runs:
bashwatch -n 1 "nvidia-smi --query-gpu=temperature.gpu,utilization.gpu,memory.used --format=csv"
Als u langere tijd boven ~83°C zit, loopt u waarschijnlijk tegen koelingslimieten aan. Dat kan prestaties beperken en is niet geweldig voor lange-termijn hardwaregezondheid.
Programmeerassistentie: Qwen3 14B of Llama 3.1 8B. Beide zijn sterk voor codegeneratie, debugging en uitleg. Qwen3 trekt meestal voor bij moeilijkere redeneertaken.
Schrijven en bewerken: Gemma 3 12B is een goede keuze voor creatief schrijven en toon-gevoelige bewerkingen.
RAG en document Q&A: Llama 3.1 8B met uitgebreide context (8192+). Het basismodel ondersteunt tot 128K context, dus gekwantiseerde builds kunnen nog steeds substantiële documenten aan als VRAM het toelaat.
Multimodale taken: Gemma 3 27B bevat vision-ondersteuning voor beeldbegrip naast tekst.
Als u meer context wilt over waarom teams lokaal gaan, voegt het stuk over de offline-first AI beweging nuttige achtergrond toe over privacy en kostenafwegingen.

Begin hier (uw eerste stap)
Installeer Ollama en run ollama pull llama3.1:8b-instruct-q4_K_M om in minder dan 5 minuten een werkende lokale LLM te krijgen.
Snelle winst (directe impact)
ollama ps tijdens chatten om 100% GPU-gebruik te bevestigen--num-ctx 4096 in om gespreksgeheugen te verbeteren zonder VRAM op te blazenDiepgaand (voor wie meer wil)
--n-gpu-layers om de beste GPU/CPU-verdeling voor uw machine te vindenLokale LLM's draaien op consumer GPU's komt vooral neer op drie dingen: VRAM, kwantisatie en contextlengte. Een 8 GB GPU kan 7B modellen comfortabel draaien. Een 24 GB kaart kan 34B-klasse modellen aan met ademruimte. En de tooling is volwassen genoeg dat u van nul naar een werkende setup kunt in minuten.
De grotere winst is niet alleen geld besparen versus API-calls. Lokale inferentie houdt uw data privé, vermijdt round trips naar externe servers, werkt offline, en geeft uw team volledige controle over hoe het model draait. Voor prototyping, gevoelig datawerk, of leren hoe deze systemen zich gedragen, verwijderen lokale setups veel afhankelijkheden en giswerk.