Kan een thuisserver met alleen een CPU nuttige RAG uitvoeren voor een documentbibliotheek van het gezin?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Ja, een thuisserver die alleen op de CPU draait, kan nuttige RAG voor familiedocumenten uitvoeren als het ophalen compact blijft en de generatie een klein, gekwantiseerd model gebruikt.

Een huishoudelijke verzameling met handleidingen, kassabonnen, schoolberichten, garanties en gescande pdf's heeft zelden datacenterdoorvoer nodig. Wel zijn privé zoeken, controleerbare passages en een aanvaardbare reactietijd voor één of twee personen belangrijk. De CPU moet nog steeds documenten embedden, vectoren doorzoeken, opgehaalde tekst verwerken en een antwoord genereren. De bruikbaarheid hangt daarom af van het beperken van de modelgrootte, contextlengte, gelijktijdigheid en fouten bij het opschonen van documenten.

Het oordeel hangt af van de RAG-pijplijn, niet van het GPU-label

RAG splitst de taak op in opname, ophalen en generatie. Bij opname wordt tekst geëxtraheerd en worden embeddings gemaakt; bij het ophalen worden enkele relevante tekstfragmenten gevonden; bij de generatie worden die fragmenten omgezet in een antwoord. Een CPU kan elke fase uitvoeren, maar elke fase heeft een andere bottleneck. Zo kan het zoeken in vectoren snel klaar zijn, terwijl het evalueren van de prompt en het genereren van tokens het grootste deel van de wachttijd veroorzaken.

Offline RAG die alleen op de CPU draait kan veilig werken op beperkte hardware. Dat betekent niet dat elk model of elke documentbelasting interactief is. De bescheidener bewering is deze: met een passend model, gecontroleerde context en een geduldige workflow voor één gebruiker kan het systeem gefundeerde vragen beantwoorden zonder afzonderlijke GPU of cloudeindpunt.

Voor een familiebibliotheek moet ‘nuttig’ betekenen dat het juiste document wordt opgehaald, het antwoord de passage vermeldt en veelvoorkomende vragen binnen een afgesproken wachttijd worden afgerond. Het hoeft geen directe chat voor meerdere gebruikers te betekenen, noch foutloos redeneren over honderden pagina's. Een server die alleen op de CPU draait, biedt voordelen op het gebied van privacy en hergebruik van bestaande hardware; hij schiet tekort wanneer latentie of gelijktijdige belasting de belangrijkste vereiste wordt.

Ophalen is meestal betaalbaar; generatie bepaalt het tempo

Een lokale vectorindex doorzoekt compacte numerieke representaties in plaats van elk bestand opnieuw te lezen. Voor een huishoudelijke verzameling van duizenden of tienduizenden fragmenten kan de index vaak in het RAM blijven en snel kandidaten teruggeven. OCR en het maken van embeddings zijn zwaarder tijdens de eerste opname, maar deze bewerkingen kunnen op de achtergrond worden uitgevoerd en hoeven alleen opnieuw te gebeuren voor gewijzigde documenten.

Ophalen voegt nog steeds meetbare latentie toe en kan in sommige ontwerpen een groot deel van de tijd tot het eerste token veroorzaken. Gemeten afwegingen in RAG-systemen laten ook zien dat integratiekeuzes de nauwkeurigheid en end-to-endvertraging veranderen. Houd op een thuis-CPU de top-k klein en voorkom herhaald ophalen tijdens de generatie, zodat een bescheiden zoekfase geen steeds terugkerende belasting wordt.

Generatie blijft sequentieel: het model verwerkt prompttokens en produceert antwoordtokens stap voor stap. Lange opgehaalde passages kosten daarom dubbel zoveel: meer promptverwerking en meer kansen op irrelevante informatie. Een kleinere, goed opgedeelde context kan een bescheiden model sneller en nauwkeuriger laten aanvoelen dan wanneer volledige documenten aan een groter CPU-model worden gevoerd. Meer context betekent niet automatisch beter ophalen.

Kleine gekwantiseerde modellen maken het geheugenbudget haalbaar

Quantisatie slaat modelgewichten op met een lagere precisie, waardoor het RAM-gebruik en de geheugenbandbreedte per gegenereerd token afnemen. Daardoor zijn modellen met drie tot acht miljard parameters haalbaar op machines met een normale hoeveelheid systeemgeheugen, hoewel contextbuffers, het besturingssysteem, de vectordatabase en OCR-services ook ruimte nodig hebben. Een model dat maar net past, kan naar schijf worden gewisseld en daardoor onbruikbaar traag worden.

Lokale gekwantiseerde modellen laten op kleine computers en in verschillende runtimes uiteenlopende prestaties zien op het gebied van doorvoer, geheugen en energieverbruik. Alleen het aantal parameters voorspelt de ervaring daarom niet. Het quantisatieniveau, de geheugenbandbreedte, de runtime, de promptlengte en de modelarchitectuur beïnvloeden allemaal het aantal tokens per seconde en de tijd tot het eerste antwoord.

Begin met een model dat minstens enkele gigabytes overlaat voor de rest van de stack en meet vervolgens op je exacte CPU. Als een vierbitsmodel voldoende geciteerde antwoorden met een aanvaardbare snelheid oplevert, kan overstappen op een groter model de reactiesnelheid sterker verminderen dan het de terugvindbaarheid van familiedocumenten verbetert. De kwaliteit van het ophalen, de nauwkeurigheid van OCR en de grenzen van tekstfragmenten verdienen vaak eerst aandacht, voordat je het model vergroot.

-15% OFF
Single board computer zimaboard2

RAG die alleen op de CPU draait schiet tekort bij lange context en gelijktijdigheid

Het ontwerp wordt minder comfortabel wanneer meerdere gebruikers lange vragen indienen, elk antwoord veel opgehaalde fragmenten bevat of het model grote contracten en medische dossiers moet samenvatten. Gelijktijdige generaties concurreren om geheugenbandbreedte en processorkernen. De latentie groeit niet-lineair als verzoeken in de wachtrij komen, contextcaches groter worden of de server begint te wisselen.

Kleine taalmodellen met RAG vereisen dat het model, de vectordatabase en het ontwerp voor het ophalen als één implementatieprobleem worden behandeld. Een familieserver die alleen op de CPU draait, moet daarom geen serviceniveaus in cloudstijl beloven. Hij is zeer geschikt voor incidentele opzoekingen en korte samenvattingen, maar niet voor spraakassistenten met lage latentie, grootschalige documentanalyse of veel gelijktijdige sessies.

De grens is niet alleen computationeel, maar ook informatief. ZimaSpace merkt in het overzicht van een privé-AI-assistent op een NAS op dat lichtere zoekopdrachten en samenvattingen beter bij systemen met alleen een CPU passen dan zware inferentie. Een snel antwoord op basis van de verkeerde OCR-tekst is nog steeds fout. De interface moet daarom bronbestandsnamen en geciteerde passages tonen ter controle.

Voer een acceptatietest met 20 vragen uit voordat je het nuttig noemt

Stel een testset samen op basis van echte huishoudelijke taken: zoek de garantiedatum van een apparaat, vind een verzekeringsclausule, bepaal een deadline van school en beantwoord een vraag waarvan het juiste antwoord ontbreekt. Neem zowel gescande als oorspronkelijk digitale pdf's op. Noteer voor elke vraag of de juiste bron is opgehaald, of de bronvermelding klopt, wat de tijd tot het eerste token is, wat de totale reactietijd is, wat het piek-RAM-gebruik is en of het model ontbrekend bewijs erkent.

Zoekwerk kan worden verminderd door voor elke vraag slechts een beperkt deel van een index te onderzoeken. TeleRAG gebruikt geclusterde zoekopdrachten om het actieve zoekgebied te beperken. Een thuistest hoeft die architectuur niet te kopiëren, maar moet hetzelfde principe controleren: het ophalen moet enkele relevante fragmenten teruggeven en niet de volledige bibliotheek naar de prompt overbrengen.

Accepteer het ontwerp dat alleen op de CPU draait als minstens 18 van de 20 vragen de juiste bron ophalen, elk feitelijk antwoord een controleerbare passage toont, typische vragen binnen je latentiedoel voor het huishouden vallen en het piek-RAM-gebruik onder 80 procent blijft. Als het ophalen faalt, verbeter dan de OCR of de fragmentering; als het ophalen slaagt maar de generatie te traag is, verklein dan de context of het model. Voeg pas een GPU toe wanneer de gemeten bottleneck dat rechtvaardigt.

Vastgestelde fout Waarschijnlijke bottleneck Volgende test
Verkeerd bestand opgehaald OCR, fragmenten of embeddings Inspecteer de vijf beste passages
Juiste passages, langzaam eerste token Promptverwerking Verlaag top-k en fragmentlengte
Trage tokenstroom Model/runtime Probeer een kleiner gekwantiseerd model
Alleen gelijktijdig gebruik faalt Wachtrij en geheugenbandbreedte Verwerk verzoeken sequentieel

Tech & AI HUB

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.