“AI draaien” dekt twee behoeften die niet om hetzelfde serverformaat vragen. Een applicatie die een model via een API aanroept, dimensioneert u zoals elke webapplicatie; een model dat op de server zelf draait, dimensioneert u eerst op zijn geheugen. Deze gids scheidt de twee gevallen, geeft de geheugenvoetafdruk van gangbare modellen en de manier om die te berekenen.
De meeste applicaties die “AI gebruiken” (assistenten, agents, samenvattingen, gegevensextractie, zoeken in documenten) roepen via een API een model aan dat door de aanbieder wordt gehost. De berekening gebeurt daar; uw server bereidt het verzoek voor, wacht op het antwoord en verwerkt het. U dimensioneert hem dan zoals elke webapplicatie: op zijn taal, zijn database en het aantal gelijktijdige gebruikers.
Het andere geval is een model dat op de server zelf draait, met Ollama, llama.cpp of een Python-bibliotheek. De redenen zijn bekend: gegevens die op uw eigen infrastructuur blijven, vaste kosten ongeacht het aantal verzoeken, achtergrondverwerking van grote volumes, een gespecialiseerd model. Dan moet het hele model in het geheugen passen, en is het het model dat het formaat bepaalt.
| Wat de server doet | De resource die beslist | Vertrekpunt |
|---|---|---|
| Roept een model aan via een API (assistent, agent, chatbot) | Het geheugen van de applicatie | 2 vCPU, 4 GB |
| Berekent ook embeddings en bevraagt een vectordatabase (pgvector) | Het geheugen voor de vectoren en hun index | 2 tot 4 vCPU, 6 tot 8 GB |
| Draait een klein model van 1 tot 4 miljard parameters, voor achtergrondverwerking | Het geheugen, daarna de processor | 4 vCPU, 8 GB |
| Draait een model van 7 tot 8 miljard parameters voor enkele gebruikers | Het geheugen en de bandbreedte ervan | 6 tot 8 vCPU, 16 GB |
| Draait een model van 12 tot 14 miljard parameters, met een lange context | Het geheugen | 8 vCPU, 24 GB |
Een verzoek aan een model via een API duurt van één tot enkele tientallen seconden, vooral wanneer het antwoord gaandeweg wordt doorgestuurd (streaming). Intussen rekent uw server bijna niets: hij wacht. Wat telt, is zijn vermogen om veel verzoeken in de wacht te houden zonder de andere te blokkeren:
proxy_read_timeout).Het benodigde geheugen is dat van de applicatie en haar database: 4 GB dekt een Python- of Node.js-applicatie met PostgreSQL bij de lancering. Een gangbare opzet, een Next.js-frontend, een FastAPI-API en een PostgreSQL-database die een model via een API aanroepen, past in 6 tot 8 GB, de build van de frontend inbegrepen.
Een applicatie die in uw documenten zoekt (RAG, retrieval-augmented generation), zet elke passage om in een vector en zoekt daarna de vectoren die het dichtst bij een vraag liggen. Twee posten om te dimensioneren:
Het type halfvec van pgvector slaat elke dimensie op in 2 bytes in plaats van 4: de helft van het geheugen, voor een zoekkwaliteit die er heel dicht bij blijft.
Een taalmodel is een bestand met gewichten, dat volledig in het geheugen wordt geladen om te antwoorden. De grootte hangt af van het aantal parameters en van de kwantisatie, de precisie waarmee elk gewicht wordt opgeslagen. Het GGUF-formaat, dat van llama.cpp en Ollama, biedt kwantisaties van 2 tot 16 bits; de variant Q4_K_M, rond 4 bits, is het gangbare compromis tussen grootte en kwaliteit.
| Grootte van het model | Voorbeelden | 4 bits (Q4_K_M) | 8 bits (Q8_0) | 16 bits |
|---|---|---|---|---|
| 1 tot 3 miljard parameters | Llama 3.2 3B, Qwen2.5 3B | 1 tot 2 GB | 1,3 tot 3,5 GB | 2,5 tot 6,5 GB |
| 7 tot 8 miljard | Mistral 7B, Llama 3.1 8B, Qwen2.5 7B | 4,4 tot 5 GB | 7,7 tot 8,5 GB | 14,5 tot 16 GB |
| 12 tot 14 miljard | Mistral Nemo 12B, Qwen2.5 14B | 7,5 tot 9 GB | 13 tot 16 GB | 25 tot 30 GB |
| 32 miljard | Qwen2.5 32B | ongeveer 20 GB | ongeveer 35 GB | ongeveer 65 GB |
| 70 miljard | Llama 3.3 70B | ongeveer 43 GB | ongeveer 75 GB | ongeveer 140 GB |
Bij dat gewicht komen nog twee posten:
Voorbeeld. Llama 3.1 8B in 4 bits, twee gelijktijdige gesprekken van 8.000 tokens en een kleine applicatie: 5 GB model, 2 GB context, 2 GB voor de applicatie en het systeem, samen 9 GB, en ongeveer 12 GB met 25% marge.
Om elk token te produceren, leest het model al zijn gewichten opnieuw uit het geheugen. Op een processor wordt de generatiesnelheid dus eerder begrensd door de geheugenbandbreedte dan door het aantal cores: een model van 5 GB, op een machine die 25 GB per seconde leest, haalt hooguit zo’n 5 tokens per seconde, nog voordat de berekening zelf meetelt.
Er zijn twee fasen te onderscheiden:
In de praktijk produceert een model van 7 tot 8 miljard parameters, gekwantiseerd in 4 bits, op enkele vCPU’s een paar tokens per seconde. Dat is ruim voldoende voor achtergrondverwerking (berichten sorteren, velden uit een document halen, ’s nachts samenvatten wat er overdag binnenkwam) en voor een interne assistent. Interactief gebruik op grote schaal, en modellen van enkele tientallen miljarden parameters, draaien op een grafische kaart (GPU).
De meting geeft de doorslag: llama-bench, dat met llama.cpp wordt meegeleverd, geeft de snelheid van beide fasen op uw server, voor uw model.
llama-bench -m model-Q4_K_M.gguf -p 512 -n 128
Een model neemt op schijf ongeveer evenveel ruimte in als in het geheugen: 5 GB voor een model van 8 miljard parameters in 4 bits. Reken op ruimte voor twee of drie modellen of versies, de vectorindexen, de brondocumenten en de database. Een NVMe-SSD laadt een model in enkele seconden bij het starten van de dienst, wat bij elke herstart telt.
Orde van grootte: 50 GB voor een applicatie die een model via een API aanroept, 80 tot 120 GB zodra een model en zijn documenten op de server staan.
Met Ollama volstaan twee commando’s om te beginnen:
curl -fsSL https://ollama.com/install.sh | sh
ollama run llama3.1:8b
Ollama luistert standaard op 127.0.0.1:11434, dus alleen vanaf de server zelf. Houd die instelling aan: de API vraagt geen enkele authenticatie, en een instantie die openstaat voor internet bedient iedereen, op uw resources. Uw applicatie, op dezelfde server, praat er lokaal mee; moet een andere server het model bevragen, gebruik dan een proxy die de verzoeken authenticeert, of een privénetwerk.
Stel daarna de contextgrootte (num_ctx) in op wat uw verzoeken nodig hebben: die laat het ingenomen geheugen groeien, gesprek na gesprek.
VPS Pro draait op Intel Xeon-processors, ECC-geheugen en gespiegelde NVMe-SSD’s, met root-toegang om Ollama, llama.cpp, pgvector of uw eigen stack te installeren. Full-Stack Support is inbegrepen: beschrijf uw project, API of model op de server, en wij adviseren u over het formaat; daarna stellen wij bij elke vraag de diagnose en vertellen u wat u moet doen, van het systeem tot de code van uw applicatie.
Ja. llama.cpp en Ollama draaien gekwantiseerde modellen op een processor. Een model van 7 tot 8 miljard parameters in 4 bits vraagt ongeveer 5 GB geheugen en produceert op enkele vCPU’s een paar tokens per seconde, wat goed past bij achtergrondverwerking en interne assistenten.
Ongeveer 5 GB voor het model, gekwantiseerd in 4 bits (Q4_K_M), plus 1 GB per gesprek van 8.000 tokens, plus de applicatie en het systeem. Een server van 8 GB draait het model alleen; 16 GB laat ruimte voor de applicatie, de database en meerdere gesprekken.
De API geeft toegang tot de krachtigste modellen, zonder bijzondere server, met kosten per verzoek. Het model op de server houdt de gegevens bij u en legt de kosten vast, met een compacter model. Veel applicaties combineren beide: embeddings en sortering op de server, het schrijfwerk via een API.
Ongeveer 50 GB voor een applicatie die een model via een API aanroept. Zodra een model op de server staat, rekent u op 80 tot 120 GB: een model van 8 miljard parameters in 4 bits weegt 5 GB, en vaak bewaart u er meerdere versies van, met de documenten en hun vectorindexen.
Simafri
Laten we het over uw website hebben
Vertel ons in een paar woorden over uw project: wij nemen snel contact met u op.
Bedankt! Uw aanvraag is verzonden. We nemen spoedig contact met u op.
Liever per e-mail? Schrijf ons op support@simafri.com.