Je eigen AI draaien met Ollama: wat je op een CPU mag verwachten
Ollama is een tool die open AI-modellen op je eigen server draait. Servers van Seturack hebben geen videokaart (GPU), dus modellen draaien op de CPU. Dat betekent dat kleine modellen (1-4 miljard parameters) bruikbaar zijn voor chat en korte taken, modellen met 7-8 miljard parameters draaien maar traag, en grotere zijn niet praktisch. De bestandsgrootte van een model is de ondergrens voor het RAM dat je ervoor moet reserveren.
De opmerkingen over snelheid in dit artikel komen uit algemene ervaring, niet uit metingen op servers van Seturack. De modelgroottes komen uit de eigen bibliotheek van Ollama.
Het model moet in het RAM passen
| Model | Parameters | Bestandsgrootte |
|---|---|---|
llama3.2:1b | 1 miljard | 1,3 GB |
llama3.2:3b | 3 miljard | 2,0 GB |
gemma3:4b | 4 miljard | 3,4 GB |
qwen2.5:7b | 7 miljard | 4,7 GB |
llama3.1:8b | 8 miljard | 4,9 GB |
gemma3:12b | 12 miljard | 8,2 GB |
qwen2.5:14b | 14 miljard | 9,0 GB |
qwen2.5:32b | 32 miljard | 20 GB |
De bestandsgrootte komt dicht in de buurt van het deel van het model dat in het geheugen wordt geladen. Daar komen het contextgeheugen (afhankelijk van de lengte van het gesprek), de eigen overhead van Ollama en het besturingssysteem nog bovenop. RAM ter grootte van het bestand is dus niet genoeg en je moet ruimte overlaten. Er is geen exacte vermenigvuldigingsfactor, maar meten is makkelijk: voer free -h uit nadat het model is geladen. De bibliotheek wordt voortdurend bijgewerkt, dus bekijk de modelbibliotheek van Ollama voor de actuele lijst.
Welke servergrootte?
| Modelgroep | Redelijk RAM om mee te beginnen |
|---|---|
| 1-3 miljard parameters | 4 GB |
| 7-8 miljard parameters | 8 GB |
| 12-14 miljard parameters | 16 GB |
| 32 miljard parameters | 24-32 GB, op een CPU nog steeds erg traag |
Deze tabel is een vuistregel, gemaakt door ruimte toe te voegen aan de bestandsgroottes hierboven. Het is geen officiële aanbeveling. Raakt het RAM op, dan gaat het systeem de schijf als geheugen gebruiken (swap) en zakt de snelheid sterk, of het proces wordt afgebroken. Voordat je een groot model probeert, is het veiliger om de server eerst op te schalen.
Wat je op een CPU mag verwachten
- Tekstgeneratie wordt grotendeels beperkt door de geheugenbandbreedte. Hoe groter het model, hoe trager het antwoord binnenkomt.
- Vergeleken met een videokaart is een CPU merkbaar trager. Het antwoord kan trager binnenstromen dan je kunt lezen.
- Een lange tekst verwerken verlengt de wachttijd voor het eerste antwoord. Bij het eerste verzoek wordt het model van schijf in het geheugen geladen, dus dan komt het nog later.
- Meerdere gebruikers tegelijk verdelen de snelheid onderling.
Wat goed werkt: korte samenvattingen, classificatie, e-mailconcepten, een persoonlijke assistent, experimenten en ontwikkeling, kleine automatiseringen. Waar het moeite mee heeft: een live dienst voor veel gebruikers, grote modellen, antwoorden in realtime, zware codegeneratie.
Installatie (Ubuntu)
- Voer het officiële installatiescript van één regel uit:
curl -fsSL https://ollama.com/install.sh | shHet is verstandig om het script eerst te downloaden en te lezen. - Begin met een klein model:
ollama run llama3.2:3b - Kijk waar het model draait:
ollama psStaat in de kolom Processor alleen CPU, dan zit het model helemaal in het systeemgeheugen. - Houd je schijfruimte in de gaten. Op Linux staan de modellen onder
/usr/share/ollama/.ollama/modelsen elk neemt gigabytes in beslag. Metollama listzie je ze en metollama rmverwijder je er een.
Geef je de voorkeur aan Docker, dan is de officiële opdracht docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama. We raden aan de poort alleen aan het lokale adres te binden: -p 127.0.0.1:11434:11434.
Welk model kies je?
Begin met een model van 3 miljard parameters en probeer het op je eigen werk uit. Kleine modellen zijn in het Turks meestal zwakker dan in het Engels, dus test ze met je eigen teksten. Schieten de antwoorden tekort, ga dan één formaat omhoog en controleer met free -h of het RAM genoeg is.
De groottes in de tabel zijn voor de standaardtags van de bibliotheek. Modellen worden meestal gecomprimeerd (gekwantiseerd) geleverd, tot ongeveer 4 bits. Bij 16-bits precisie nemen 8 miljard parameters ongeveer 16 GB in, en de compressie brengt dat terug tot ongeveer 5 GB, zoals in de tabel. In ruil daarvoor lever je een klein beetje kwaliteit in.
Gebruik vanuit applicaties
Ollama biedt een lokale API. Vanuit de server kun je het zo proberen:
curl http://127.0.0.1:11434/api/generate -d '{"model":"llama3.2:3b","prompt":"Hello, introduce yourself.","stream":false}'
Het antwoord komt terug als JSON. Automatiseringstools en je eigen applicaties kunnen met dezelfde API verbinden.
Geheugen beheren
- Ollama houdt een model standaard 5 minuten na het laatste verzoek in het geheugen. Het is normaal dat het RAM in die tijd vol lijkt. Met
ollama stop MODEL_NAMElaad je het model meteen uit. OLLAMA_MAX_LOADED_MODELSbeperkt hoeveel modellen tegelijk geladen kunnen blijven. De standaardwaarde op een CPU is 3. Is het RAM krap, zet het dan op 1, anders blijven alle modellen in het geheugen staan als je na elkaar verschillende modellen aanroept.OLLAMA_NUM_PARALLELis het aantal parallelle verzoeken per model en staat standaard op 1. Hoe hoger je het zet, hoe meer RAM het nodig heeft.
Beveiliging
- Standaard luistert Ollama alleen op poort 11434 van
127.0.0.1. Open je het metOLLAMA_HOST, dan kan iedereen die het adres kent je model gebruiken, omdat de API standaard geen authenticatiestap heeft. Stel het niet bloot. - Voor gebruik op afstand is een SSH-tunnel genoeg:
ssh -L 11434:127.0.0.1:11434 user@SERVER_IP - Docker slaat ufw-regels over voor de poorten die het publiceert. Daarom bind je de poort alleen aan het lokale adres, zoals hierboven.
- Om vanuit een browser te chatten kun je een interface zoals Open WebUI installeren. Draai die achter HTTPS en beveilig hem met gebruikersaccounts.
Gegevens en licenties
Draai je een model op je eigen server, dan blijven je gesprekken op je server. Ollama biedt ook modellen die in de cloud draaien. Die draaien niet op je server en vallen buiten dit artikel. Elk model heeft een eigen licentie, dus lees de licentie op de modelpagina voordat je het commercieel gebruikt.
De server opschalen
De RAM-behoefte verandert als je van model wisselt. Begin je met een model van 3 miljard parameters en stap je over op een van 8 miljard, dan schaal je de server op in het paneel. Opschalen verwijdert de server niet en je IP-adres en gegevens blijven hetzelfde. Bij afschalen krimpt de schijf niet, en omdat modellen een schijf kunnen vullen, houd je ook rekening met de schijf.
Op de prijzenpagina reken je je prijs uit.
Kant-en-klaar bij Seturack: Ollama, AnythingLLM, Qdrant.
Reacties0
Nog geen reacties
Deel als eerste uw gedachten.
Meld u aan of registreer u om een reactie te plaatsen.