Hardware
Tijdens het ontwikkelen hebben we op veel verschillende hardware kunnen testen. Dit, omdat het prototype al kan draaien wanneer er 16 GB RAM is. In theorie zou daarmee bijvoorbeeld een Raspberry Pi 5 met 16 GB RAM het gehele prototype kunnen draaien. Echter blijkt de snelheid erg af te hangen van de rekenkracht die je meebrengt, en niet zozeer van extra (> 16 GB) RAM-geheugen. De genoemde Raspberry Pi zal daardoor toch afvallen.
Zo:
- Werkt het op moderne AMD/NVIDIA desktop GPU's met 16 GB VRAM (videogeheugen) het allersnelst.
- Maar kan Ollama de lagen van een LLM verdelen over CPU en GPU indien nodig.
- Werken Apple Silicon GPU's redelijk snel.
- Zijn Intel GPU's (zowel integrated als Intel Arc) nog niet ondersteund door Ollama.
- Zal Ollama automatisch de CPU gebruiken als de GPU niet geschikt is, terwijl CPU's aanzienlijk slechter performen bij AI inference.
Alle hieronder uiteengezette configuraties gaven geen fouten, maar verschilden slechts in performance:
| Type | CPU | GPU | Snelheid | Opmerkingen |
|---|---|---|---|---|
| Desktop | AMD Ryzen 9 5900X | Intel Arc A770 | ⚠️ | Intel Arc desktop GPU nog niet ondersteund door Ollama |
| Laptop | Apple M2 Pro (12 core) | Apple M2 Pro (19 core) | ⚠️ | |
| Laptop | Apple M1 | Apple M1 (7 core) | ⚠️ | |
| Laptop | Intel Core Ultra 5 | Intel Arc A770 | ❌ | Intel Arc integrated GPU nog niet ondersteund door Ollama |
| Desktop | AMD Ryzen 7 9700X | AMD Radeon 7800XT | ✅ |
Legenda:
- ✅: Goed (Genereert 20 vragen in < 1 minuut)
- ⚠️: Acceptabel (Genereert 20 vragen in 1 - 5 minuten)
- ❌: Niet geadviseerd (Werkt, maar doet er langer over)
Mogelijke softwareverbeteringen
Op een bepaald moment hebben wij de knoop doorgehakt om Ollama te gebruiken voor de LLM inference. Echter ondersteunt LangChain ook veel andere inference engines zoals llama.cpp. Omwille van tijd en daardoor beperkte scope, hebben we dit niet kunnen testen.
Llama.cpp heeft een veel grotere hardwareondersteuning, waarmee vooral veel Intel hardware ook binnen de boot valt.
Het is belangrijk aandacht te besteden aan de wijze waarop de inference engine gedraaid wordt. Draait deze in Docker? Dan kan het zo zijn dat toegang tot de GPU niet mogelijk is. De engine zal dan proberen op de CPU te draaien, met een meestal dramatisch lagere snelheid tot gevolg. Het is uitdagend om Docker zo te configureren dat er wel GPU toegang is.
Het is ons advies daarom om de inference library of tool buiten Docker (direct op de host) te draaien.
Advies
Op basis van de resultaten kunnen we een advies voor hardware uitbrengen. Er zijn verschillende opties om het project goed te kunnen draaien.
Geschikte videokaarten
Zoals gezegd wordt het beste resultaat bereikt met een videokaart met AMD- of NVIDIA-chip, aangezien deze vrijwel altijd goed ondersteund zijn. Om qua VRAM wat marge over te houden adviseren we voor minimaal 16 GB VRAM te kiezen. Dit zorgt voor een veilige marge waarmee veel middelgrote LLM's, waaronder de door ons uitgekozen, goed kunnen draaien naast dat je de videokaart nog kunt gebruiken als primaire videokaart voor beelduitvoer.
Geschikte GPU's zijn:
- AMD Radeon RX 6800 of hoger (binnen de 6000-serie)
- AMD Radeon RX 7600 XT of hoger (binnen de 7000-serie)
- NVIDIA RTX A4000 of hoger (binnen de A-serie)
- NVIDIA RTX 3090 of hoger (binnen de 3000 serie)
- NVIDIA RTX 4070 Ti of hoger (binnen de 4000-serie, maar let op >= 16 GB VRAM ⚠️)
- NVIDIA RTX 5070 Ti of hoger (binnen de 5000-serie)
In praktijktests waarbij Ollama volledig de GPU gebruikte, was er nauwelijks CPU-gebruik meetbaar. Onze conclusie daaruit is dat deze videokaarten eventueel aan een oudere machine toegevoegd kunnen worden, om deze geschikt te maken voor LLM-experimenten of zelfs voor een budget-productieserver.
Veel inference engines kunnen de verschillende lagen waar een LLM uit bestaat verdelen over de CPU en de GPU. Hierbij krijgt de GPU vaak de voorkeur. De lagen die vanwege VRAM en/of rekenkracht niet meer op de GPU kunnen, worden op de CPU uitgevoerd.
Wanneer voor ontwikkeldoeleinden een videokaart met 16 GB VRAM geen optie is, kan het prototype daardoor mogelijk nog steeds acceptabel draaien op kleinere hardware.
Apple Mac mini
Tijdens onze test bleek een Macbook Pro met Apple M2 Pro CPU/GPU erg acceptabel te werken. De nieuwere Apple M4 Pro is alweer aanzienlijk sneller en zou naar onze verwachting tegen "Goed" aan moeten presteren.
Een laptop lijkt ons geen praktische keuze voor hosting of voor prototyping door een team, maar deze processor is ook te vinden in de laatste Mac mini. Voor een beperkte meerprijs is deze beschikbaar met 4 extra GPU-cores voor een totaal van 20 GPU-cores. De prijs van deze samenstelling ligt op het moment van schrijven tegen de €2000. Dit maakt de Mac mini naar ons idee een geschikte tool voor onderzoek naar LLM's en mogelijk voor een kleine productieomgeving.
NVIDIA Project DIGITS
Naast videokaarten maakt NVIDIA ook CPU's. Begin 2025 heeft NVIDIA dan ook een eigen server aangekondigd die gebruik maakt van een eigen ontwerp CPU en GPU. Deze server is specifiek gebouwd om AI-taken te accelereren, waaronder het gebruik van LLM's. RAM-geheugen en opslag zit erbij, waarmee dit net zoals de Apple Mac mini een handige keuze kan zijn doordat alle benodigdheden reeds geintegreerd zijn. Tevens biedt de grote hoeveelheid RAM (128 GB) een kans om met grotere LLM's te experimenteren.
Op het moment van schrijven is deze server nog niet te koop, maar naar verwachting zal de prijs rond de $3000 liggen.