Tokens kopen, GPU's huren of zelf een rack neerzetten?
Op deze pagina
Tot voor kort was een frontier-model zelf hosten geen serieuze vraag. Open-weight modellen liepen een generatie achter op de gesloten modellen, dus er viel niets te rekenen.
Toen kromp het gat. Niet tot nul, maar tot ongeveer dertig Elo-punten. Kimi K3 verscheen met open weights en staat tweede op de frontend-code-arena met 1.682, achter Claude Opus 5 Max met 1.712 en voor al het andere1. De weights passen, op papier, op één node met acht GPU’s. Je kunt het model vanavond gratis downloaden.
De machine is een ander verhaal. Ervan uitgaande dat je die investering kunt doen. En dat het, als je eenmaal hebt gerekend, de moeite blijkt te zijn.
Dus heb ik vier manieren doorgerekend om dezelfde workload te draaien: een rack op kantoor, eigen hardware in een colocatie-datacenter, gehuurde dedicated GPU’s en API’s die per token rekenen. Die laatste noem ik hierna de meter.
Het antwoord is niet “koop het rack”. Onder ongeveer 44 engineers blijft de meter het goedkoopst. Tussen ruwweg 44 en 95 winnen gehuurde GPU’s. Daarboven loont kopen, en bij 750 engineers verslaat het de meter ruwweg zes op één.
Het getal dat dit beslist is de benutting. Een rack dat je op een driejarig schema koopt kost om drie uur ‘s nachts evenveel, of het nu tokens serveert of het gebouw verwarmt.
K3 is hier alleen het uitgewerkte voorbeeld. Dezelfde methode werkt voor wat er daarna komt.
Vier manieren om inference te kopen
| Optie | Je bezit | Je huurt | Je betaalt voor |
|---|---|---|---|
| Rack op kantoor | GPU’s, stroomvoorziening, koeling | niets | Capex, elektriciteit, een elektricien, vloeroppervlak, mensen |
| Colo-rack (jouw hardware, andermans gebouw) | GPU’s | Ruimte, stroom, koeling | Capex, rackhuur per kW2, mensen |
| Dedicated / gehuurde GPU’s | niets | Hele GPU’s per uur | Gereserveerde uren, mensen |
| De meter (API per token) | niets | niets | Tokens |
Naarmate je die tabel afdaalt, daalt je vaste verplichting en stijgt je flexibiliteit. Je levert controle in en, bij voldoende schaal, de kosten per eenheid. Uitzoeken waar die afweging omslaat is de hele oefening.
Eerst, voor het spreadsheet, een simpelere vraag: kun je zo’n machine eigenlijk wel op kantoor zetten?
Kan dat?
In seizoen twee van Silicon Valley vangen de servers van Gilfoyle vuur. Het team geeft Anton te veel werk, de stroomsterkte schiet door het plafond, de hoofdschakelaar slaat door en alles brandt. Iedereen onthoudt het als een grap over hoogmoed. Hier behandelen we het als commentaar op elektrotechniek.

Anton, een paar seconden nadat de hoofdschakelaar het opgaf. Silicon Valley, HBO.
Sorry als je Silicon Valley niet hebt gezien. Het is een moderne klassieker, zijn tijd ver vooruit.
K3 heeft 2,8 biljoen parameters, 104 miljard actief per token, 896 experts, en is direct uit de training gequantiseerd naar MXFP43. Dat is op papier 1.390GB aan weights. Een B200-node met acht GPU’s biedt 1.440GB, dus op papier past het met 50GB over. Meldingen over de echte checkpoint komen eerder uit op 1,56TB zodra je alles meetelt wat geen gequantiseerde weight is, en dan past het helemaal niet. Dit is de natte droom van r/selfhosted: het op een na beste codeermodel ter wereld, zoemend in een kast, van jou.
Dan lees je het spec sheet.
| Spec, één DGX B200 | Waarde | Wat dat op kantoor betekent |
|---|---|---|
| Stroomverbruik | 14,3 kW4 | Twee volledige inductiekookplaten, elk vuur, permanent |
| Brits stroomnet (ring main) | 7,4 kW | Eén server wil twee hele groepen voor zichzelf |
| Warmteafgifte | ~48.800 BTU/uur | Drie tot vier airco’s voor thuisgebruik, op volle toeren |
| Luchtstroom | 2.145 CFM4 | Geen kast. Een machinekamer |
| Gewicht | 130 kg4 | Zonder rack, PDU’s en koeling |
| Twee nodes per rack | 2x 380V driefasig 32A4 | Je belt een elektricien, je koopt geen verlengsnoer |
Eén inconsistentie die ik toegeef: de cijfers voor stroom, gewicht en luchtstroom komen van NVIDIA voor de DGX B200, het eigen kant-en-klare apparaat, terwijl de $450.000 die ik modelleer een straatprijs is voor een HGX B200 met 8 GPU’s, het board waar een OEM een server omheen bouwt. Een DGX staat eerder op $515.000. Ik gebruik het goedkopere bedrag met het stroomverbruik van de duurdere machine. Dat maakt zelf hosten gunstiger op capex en ongunstiger op elektriciteit.
Anton blies die schakelaar niet op omdat een scenarioschrijver in het derde bedrijf een brand wilde. Hij blies hem op omdat dat gebeurt als je industriële belasting aan huishoudelijke bedrading hangt.
Eén node is trouwens het milde scenario, en dat in een tweede opzicht. Die 50GB marge laten niets over voor de KV-cache, het werkgeheugen dat een model nodig heeft om een lang gesprek vast te houden, dus een echte productie-opstelling heeft meer accelerators nodig dan dit. Moonshot raadt er 64 of meer aan5. Dat zijn acht van deze kasten, 114 kilowatt, op jouw kantoor. Minder een serverruimte dan een minikerncentrale die wacht tot iemand er een Series A omheen aankondigt.
Ik heb toch de enkele node gemodelleerd, omdat het het goedkoopste is dat de weights aannemelijk kan bevatten. Pas wel op: dit is geen worstcasescenario. Personeel en elektrisch werk zijn bijna vast, dus meer nodes verdelen ze over meer capaciteit en de economie verbetert. Een resultaat met één node is de zwaarste test voor zelf hosten, niet de makkelijkste.
Dan is er nog het aanbod. Blackwell-allocatie gaat eerst naar de grootste kopers, dus eraan komen betekent in de rij staan achter Musk.
Je hebt een Gilfoyle nodig
Gilfoyle is de systems-man. Hij beheert de racks, vertrouwt niets, en hij is de enige in het gebouw die weet waarom het cluster in brand staat.
Dat brengt ons bij mijn favoriete fictie in een business case voor zelf hosten: een fractie van een engineer.
Je kunt geen 0,3 mens aannemen. Deze rol draait vLLM of SGLang in productie, weet wat expert parallelism is, debugt NCCL om twee uur ‘s nachts en houdt enkele honderden gigabytes mixture-of-experts warm en actief. Robert Half noemt voor Londen een mediaan van £102.000 voor een machine learning engineer en een bovenste kwartiel van bijna £119.0006. Ik heb £120.000 gemodelleerd, bewust een aanname uit het bovenste kwartiel, want de mediaan kan deze klus niet.
Ze hebben ook meningen. Over je cloudkosten, over het toetsenbord dat ze eisen, over het aandelenpakket dat toekomt aan de ene persoon in het gebouw die begrijpt waar iedereen nu van afhankelijk is. Dat zijn de echte kosten van het zelf draaien, en je vindt ze op geen enkel GPU-spec sheet.
Je hebt er twee nodig, want één is een single point of failure met een paspoort en sterke gevoelens over zijn vakantiedagen.
| Regel | Waarde (GBP) |
|---|---|
| Basissalaris (bovenste kwartiel) | £120.000 |
| Opslagfactor (werkgeverspremies, pensioen, apparatuur) | 1,3 |
| Volledige kosten per persoon | £156.000 |
| Benodigde mensen | 2 |
| Jaartotaal | £312.000 (ongeveer $396.000) |
Dat bedrag schrijft niet af. Het wordt niet goedkoper, en het maakt niet uit of je hardware bezig is.
De workload beslist meer dan de hardware
De meeste rekensommen over zelf hosten die ik heb gezien zijn doorgerekend op chat. Dat is het slechtst denkbare geval voor eigen hardware en lijkt in niets op wat een ontwikkelteam de hele dag doet.
Agentic coding draait op 4,17 miljoen tokens per taak, met een verhouding input tot output van ruwweg 153:17. Niets hier telt zwaarder dan die verhouding, behalve de benutting.
Op je eigen hardware helpt het. Prefill, het lezen van je prompt, en decode, het schrijven van het antwoord, zijn verschillende klussen met verschillende kosten. vLLM haalt 26.200 tokens per GPU per seconde op prefill tegen 10.100 op decode8, dus prefill is twee en een half keer efficiënter. Agentic coding is bijna helemaal prefill. Het werk van je team is toevallig het werk waar GPU’s het best in zijn.
Op de meter helpt het ook, omdat input vijf keer goedkoper is dan output.
| Onderdeel | Berekening | $/1M tokens |
|---|---|---|
| Input zonder cache | 0,30 × 0,9935 × $5 | 1,49 |
| Input uit cache (lezen tegen 0,1×) | 0,70 × 0,9935 × $5 × 0,1 | 0,35 |
| Output | 0,0065 × $25 | 0,16 |
| Gemiddeld, 70% cache-hits | $2,00 | |
| Gemiddeld, helemaal geen cache | 0,9935 × $5 + 0,0065 × $25 | $5,13 |
Die 70% is een aanname, geen meting, en het is het op een na belangrijkste getal in dit stuk. Het meer dan halveert de meter, van $5,13 naar $2,00. Halveer het hitpercentage naar 35% en de meter komt op $3,57, wat elk omslagpunt hieronder scherp richting zelf hosten schuift. Ga de andere kant op en de meter wint bijna overal.
Nog twee dingen over die $2,00 voordat je erop vertrouwt. Anthropic rekent ongeveer 1,25x de inputprijs om een cache-item te schrijven, en ik heb elke token zonder cache geprijsd als gewone leesactie. Als alle 30% zonder cache schrijfacties waren, is de meter $2,37 in plaats van $2,00. De waarheid ligt ergens ertussen.
Iemand zal vragen waarom ik zelf gehoste K3 afzet tegen Opus 5 en niet tegen de eigen API van K3, die goedkoper is met $3 en $15 per miljoen en cache-hits van $0,309, op deze tokenmix ongeveer $1,20. Omdat productieverkeer naar een Chinese cloud sturen voor de meeste bedrijven waar dit stuk voor is geen reële optie is, wat de prijslijst ook zegt. Dat is geen technisch oordeel maar een inkoopoordeel, en het wordt boven jouw hoofd genomen. De realistische keuze is K3 zelf draaien of Opus 5 bij Anthropic kopen, en dat vergelijken de tabellen.
Het is trouwens ook dezelfde reflex die mensen in de eerste plaats zelf laat hosten. Als je er ontspannen over was waar de weights draaien, gebruikte je de API en las je niet verder.
Dus voordat je hier iets mee doet: ga kijken wat je echte cache-hitpercentage is. Het doet meer ertoe dan de prijs van een GPU.
Wat één machine echt serveert
Om vier opties te vergelijken heb ik twee getallen nodig: hoeveel werk één node verwerkt en hoeveel werk één engineer genereert. Geen van beide is exact, dus hier is elke aanname, ook de aannames die de fantasie slopen.
| Stap | Berekening | Resultaat |
|---|---|---|
| Inputaandeel van de tokens | 153 ÷ 154 | 0,9935 |
| Gemengde doorvoer per GPU | harmonisch gemiddelde van 26.200 prefill en 10.100 decode bij die mix | 25.932 tok/s |
| Korting voor K3 t.o.v. DeepSeek-klasse | 104B actieve parameters vs ~37B | × 0,35 |
| Korting voor B200 t.o.v. GB200 | benchmark draaide op GB200 | × 0,70 |
| Korting voor echt verkeer t.o.v. benchmark | benchmarks zijn netjes, productie niet | × 0,60 |
| Gekorte doorvoer per GPU | 25.932 × 0,147 | 3.812 tok/s |
| Per node | × 8 GPU’s | 30.496 tok/s |
| Jaarcapaciteit bij 100% bezetting | × 31.536.000 seconden | 962.000M tokens |
Daartegenover staat de vraag:
| Stap | Berekening | Resultaat |
|---|---|---|
| Taken per engineer per dag | workload-aanname, niet gemeten | 6 |
| Tokens per taak | Bai et al.7 | 4,17M |
| Werkdagen per jaar | 260 min verlof en feestdagen | 230 |
| Tokens per engineer per jaar | 6 × 4,17M × 230 | 5.755M |
Op volle toeren bedient één node ongeveer 167 engineers. Bij een jaarlijkse bezetting van 21%, ongeveer kantooruren, kan hij er zo’n 35 aan.
Over het exacte capaciteitscijfer valt te twisten en ik kom terug op hoe fout het kan zijn. Zodra de hardware gekocht is, overheerst de benutting elke andere variabele.
De benutting beslist
Eigen hardware kost hetzelfde slapend als op volle toeren. De afschrijving loopt, de rackhuur loopt en je twee Gilfoyles worden toch betaald. Elektriciteit is de enige regel die de vraag volgt, en elektriciteit blijkt zakgeld.
| Benutting | Kantoorrack $/1M | Colo $/1M | Meter $/1M |
|---|---|---|---|
| 5% | 12,23 | 12,81 | 2,00 |
| 10% | 6,14 | 6,40 | 2,00 |
| 21% (alleen kantooruren) | 2,95 | 3,05 | 2,00 |
| 35% | 1,79 | 1,83 | 2,00 |
| 50% | 1,27 | 1,28 | 2,00 |
| 80% | 0,81 | 0,80 | 2,00 |
| 100% | 0,66 | 0,64 | 2,00 |
De kantoorlijn kruist de meter bij 31,2% benutting, colo bij 32,0%.
Eén kanttekening die hier hoort en niet aan het eind: dat is een curve voor één node. Twee platform engineers en de factuur van de elektricien schalen niet met het aantal nodes, dus bij twee nodes zakt het kruispunt naar ongeveer 21% en bij vijf naar ongeveer 14%. Hoe groter je wordt, hoe minder benutting je nodig hebt om kopen te rechtvaardigen.
Houd er nu een echt team tegenaan. Acht uur per dag, 230 dagen per jaar, komt neer op 1.840 uur van de mogelijke 8.760. Een bezetting van 21%. Een team dat kantooruren werkt en dan naar huis gaat zit onder break-even, en zelf hosten verliest.
De vraag was dus nooit of open-weight modellen goed genoeg zijn, of dat GPU’s goedkoop genoeg zijn. Dat is beide beslist. De vraag is of je de nachtdienst kunt vullen met batchjobs, evals, herindexering en de CI waar niemand naar kijkt. Krijg je de machine op 35%, dan win je. Bij 50% win je ruim. Laat je hem elke avond stilstaan, dan heb je een erg dure kachel gekocht op een driejarig contract.
Onafhankelijke analyses van Azure’s provisioned throughput leggen de break-even tegen pay-as-you-go rond 80% aanhoudende benutting10. Noch AWS noch Microsoft publiceert een eigen break-evencijfer, dus zie dat als rekenwerk van derden en niet als advies van de leverancier. Dat is mijlenver van mijn 31%, en ik ga niet doen alsof dat niet zo is. Ze meten andere dingen: hun product draagt marge en wordt geprijsd tegen de eigen lijstprijs, de mijne is ruwe kostprijs tegen de lijstprijs van een concurrent. Wat ze delen is de richting: gereserveerde capaciteit moet het grootste deel van de tijd bezig zijn voordat ze loont.
Gehuurde GPU’s winnen het midden
De benutting bepaalt de prijs per eenheid. De teamgrootte bepaalt welke optie wint, want die verdeelt de vaste kosten.
Bij 25 engineers draait één node op 15% bezetting en wint de meter met overmacht. Twee platform engineers kosten $396.240 per jaar. De hele tokenrekening die ze zouden vervangen is $287.777. Het personeel kost meer dan het probleem. Niets anders op het spreadsheet is het lezen waard.
Bij 60 engineers draait één node op 36% bezetting en loopt gehuurde capaciteit voorop.
| Jaarlijkse regel (USD) | Kantoor | Colo | Gehuurd | Meter |
|---|---|---|---|---|
| Afschrijving hardware11 | 150.000 | 150.000 | 0 | 0 |
| Stroominfrastructuur | 25.400 | 0 | 0 | 0 |
| Elektriciteit | 31.821 | 0 | 0 | 0 |
| Rackhuur | 0 | 69.564 | 0 | 0 |
| GPU-huur | 0 | 0 | 138.382 | 0 |
| Platform engineers | 396.240 | 396.240 | 396.240 | 0 |
| Tokenkosten | 0 | 0 | 0 | 690.664 |
| Totaal | 603.461 | 615.804 | 534.622 | 690.664 |
| Per engineer | 10.058 | 10.264 | 8.910 | 11.511 |
| Per 1M tokens | 1,75 | 1,78 | 1,55 | 2,00 |
Let op wat er in die tabel ontbreekt: een personeelskorting voor huren. Elke zelfgehoste optie draagt twee hele platform engineers, want je kunt geen fractie van een persoon om twee uur ‘s nachts oppiepen, wie de hardware ook bezit. Huren bespaart je de capex, de elektricien en de rij achter Musk. Het bespaart je de loonlijst niet.
Daarom is de winst smal. Van goedkoopste naar duurste over alle vier de opties is het verschil hier 29%, ruim binnen de foutmarge van mijn eigen aannames.
Ik ben gaan zoeken naar iemand die deze optie tegen de andere drie had doorgerekend en kwam er niet uit, wat me verbaast, want er is niets obscuurs aan GPU’s huren. Lambda, CoreWeave, Spheron en een dozijn anderen publiceren uurtarieven voor B200, en één aggregator volgt er meer dan 2612. Het midden is gewoon te koop, en voor een team van 60 engineers verslaat het beide uitersten.
Bij 750 engineers draaien vijf nodes op 90% bezetting en verliest huren dik, omdat er per uur wordt gefactureerd en je bij die benutting vrijwel alle uren betaalt. Hardware bezitten kost $1.494.059 in een colo of $1.565.997 op je eigen kantoor, tegen $2.126.018 gehuurd en $8.633.301 op de meter. Dit is de enige plek in het hele model waar bezitten overduidelijk goed is, en het verslaat de meter ruwweg zes op één.
Merk wel op hoe dicht de kolommen voor kantoor en colo bij elkaar liggen. Boven ongeveer 95 engineers zitten ze binnen een paar procent van elkaar en wisselen ze van plek afhankelijk van het aantal nodes. Omdat mijn kantooroptie geen huur betaalt, is de eerlijke lezing dat het hetzelfde antwoord is, en dat de keuze erom draait wie je de filters wilt laten verwisselen.
| Teamgrootte | Goedkoopste optie | Jaarlijkse kosten per engineer | Belangrijkste reden |
|---|---|---|---|
| 25 | De meter | $11.511 | Platformpersoneel kost meer dan de hele tokenrekening |
| 60 | Gehuurde GPU’s | $8.910 | Genoeg bezetting om capaciteit te willen, te weinig om capex te rechtvaardigen |
| 750 | Eigen hardware (colo) | $1.992 | Bijna continue vraag maakt huururen duur |
Tokens zijn geen geld
In technologieplanning leeft een hardnekkige aanname, en ik zeg dit als iemand die er onmiskenbaar deel van uitmaakt, dat tokens de nieuwe vaten olie zijn. De universele ruileenheid. Hele bedrijven draaien nu planningscycli die erin zijn uitgedrukt.
Volledig belast en volledig benut kost de eigen node in dit model ongeveer $0,66 per miljoen tokens, tegen $2,00 op de meter met cache. Alleen elektriciteit is daarvan 6,6 cent, een tiende van het totaal en, vervelend genoeg, een factor tien af van het getal hierboven. Beide kloppen.
| Regel | Berekening | Waarde |
|---|---|---|
| Stroom van de node | 14,3 kW × 8.760 uur | 125.268 kWh/jaar |
| Tegen Britse zakelijke tarieven13 | × £0,25 | £31.317 |
| Met koelingsoverhead op kantoor (PUE 1,6) | × 1,6 | £50.107 |
| In dollars | × 1,27 | $63.636 |
| Geproduceerde tokens bij volle bezetting | 962.000M | |
| Elektriciteit per 1M tokens | 6,6 cent |
Het punt is niet dat iemand zeven cent moet rekenen. De prijs van een token bevat hardware, personeel, risico, onderzoek en marge, en dat hoort ook zo. Het punt is dat een token een retail-factureringsabstractie is bovenop GPU-seconden, met een wisselkoers die wordt bepaald door wie verkoopt. Als tokens echt de nieuwe olie zijn, dan zijn de hyperscalers OPEC, met het handige voordeel dat ze de natuurkunde mogen herzien zodra de marges hulp nodig hebben.
Daar gaat dit naartoe, en het is minder een voorspelling dan een patroon dat al eens is doorlopen. AI-compute wordt gefinancialiseerd, precies zoals Web 2.0-compute. EC2 begon met prijzen per instance-uur, en binnen een paar jaar bestond de echte markt uit reserved instances, savings plans, spot en sustained-use-kortingen. Grote kopers betalen al jaren niet meer het on-demandtarief.
Het begint al. Bedrock verkoopt provisioned throughput per model-unit-uur, van $4,11 tot $49,50 afhankelijk van het model, en het tarief daalt naarmate je je langer vastlegt10. Azure verkoopt dezelfde vorm als provisioned throughput units. Dat zijn geen tokenprijzen, het zijn capaciteitsreserveringen met een kortingscurve voor de looptijd.
Het verraderlijke is wat er op die pagina ontbreekt. Voor geen enkel huidig Claude-model staat een gepubliceerd provisioned-throughput-tarief. De gereserveerde markt voor frontier-modellen bestaat, maar je krijgt een offerte en geen lijstprijs, en dat zegt hoe vroeg het nog is.
Volg dat door en je stopt met tokens kopen. Je reserveert capaciteit voor je basisvraag, pakt de sustained-use-korting en schakelt naar de meter als je piekt. Tokens worden de uitlaatgassen van een pijp die je al hebt betaald, en waar je in budgetteert wordt het GPU-uur, dat tenminste een echte aanbodcurve achter zich heeft.
Moeten we dat doen?
Een deel hiervan leest misschien als een pleidooi om metaal te gaan kopen. Dat is het niet, helemaal.
Je koopt een activum dat afschrijft terwijl de meterprijs daalt. Opus 5 kwam uit tegen exact dezelfde prijs als Opus 4.8, $5 en $25 per miljoen tokens, en is een wezenlijk beter model14. De prijslijst bewoog niet terwijl wat erachter zit beter werd. Je capex is dus een driejarige gok dat frontier-intelligentie langzamer goedkoper wordt dan je hardware slijt, en de frontier beweegt op een tijdschaal van maanden. Hardware die je vandaag specificeert zit tot 2029 vast aan de economie van vandaag.
Beide dingen zijn dus tegelijk waar. Tokens dragen een dikke marge, en machines kopen is voor de meeste mensen een slechte manier om eraan te ontsnappen. De uitweg is dat je geen rack hoeft te kopen om te stoppen met retailprijzen betalen. Reserveer de capaciteit, koop niet het gebouw.
Twee dingen overleven de rekensom, al is er maar één die dat schoon doet.
Soevereiniteit. Als je data het gebouw niet mag verlaten, vergelijk je niet met $2,00, maar met niets, omdat de meter voor jou tegen geen enkele prijs te koop is. Draai de benuttingsgetallen toch, maar je hebt al besloten.
Latency, maar minder dan je hoopt. Een model in hetzelfde rack bespaart je een netwerkrondreis. Dat is misschien veertig milliseconden tegenover de dertig-en-nog-wat seconden die het ding nodig heeft om na te denken, dus voor agentic werk is het ruis. Het loont bij het snelle werk, autocomplete en inline suggesties, waar je een budget van minder dan 100ms najaagt en het netwerk een echt deel ervan is. Als dat je workload niet is, zet het dan niet in de business case.
Dit zou ik dus echt doen: stop met kiezen uit de vier. Reserveer genoeg capaciteit voor je basisvraag en meet de rest. Voorspelbaar werk in groot volume draait ‘s nachts op de pijp die je al hebt betaald, bij een benutting waarop het twee op één of beter wint. Het zware redeneerwerk gaat naar het frontier-model op de meter, waar je betaalt voor iets wat je niet kunt nabouwen en niet kunt afschrijven.
In de praktijk is plaatsing, en niet modelkeuze, de belangrijkste economische hefboom. Dat was mijn argument over routeren tussen modellen, een laag dieper in de stack.
Waar dit model fout kan zitten
Vier dingen.
Mijn doorvoerkorting is waarschijnlijk te hard, en corrigeren begunstigt huren. Ik heb de vLLM-benchmark met een factor zeven omlaag gehaald om te dekken dat K3 groter is, de hardware luchtgekoeld is en echt verkeer rommeliger is dan een benchmark. Dat is rekenwerk op een bierviltje, en een ruwe controle tegen de ruwe FLOPs zegt dat het echte cijfer drie of vier keer hoger kan liggen. Draai het opnieuw met dat getal en 200 engineers slaat om van kopen naar huren, omdat snellere hardware de gehuurde GPU-uren direct verlaagt en niets doet aan de capex waar je je al aan hebt verbonden. Het werkt tegen een rack, niet ervoor.
Taken per engineer per dag is een gok. Ik gebruikte zes. Het bepaalt de absolute vraag en dus de uitkomsten per teamgrootte. Het raakt de benuttingstabel niet, en daarom is dat de sterkere claim en heb ik hem eerst genoemd.
De opstelling met één node is optimistisch, zoals eerder aangegeven. Moonshot wil 64 accelerators voor productie en ik heb er acht gemodelleerd, de gulste lezing die zelf hosten kan vragen.
De kantooroptie krijgt het gebouw gratis. Ze betaalt voor hardware, de elektrische en koelingsinstallatie en de elektriciteit. Ze betaalt geen huur, bedrijfsbelasting, verzekering, brandblussing, UPS, PDU’s, constructiewerk voor 130kg per node of een upgrade van de netaansluiting bij de netbeheerder (DNO), en boven ongeveer twee nodes heeft een Brits bedrijfspand die upgrade nodig en geen elektricien. Colo betaalt dat alles binnen de £285/kW/maand. Dat gat is deels waarom kantoor overal in mijn tabellen colo verslaat, en je moet de twee als dichter bij elkaar beschouwen dan ze lijken. Als je de kantooroptie de helft van het alles-inclusieve tarief van colo rekent, blijft ze nog steeds voor bij elke teamgrootte, en dat is de enige reden dat ik geen getal heb bedacht.
Elk getal heeft een bron en een betrouwbaarheidsscore in de werkmap erachter. De onzekere zijn de drie die je net hebt gelezen.
De rekensom kan dus aan de randen fout zijn. De natuurkunde niet. Veertien kilowatt is veertien kilowatt, of mijn doorvoerschatting nu klopt of niet, de warmte moet ergens heen en de elektricien wil nog steeds betaald worden.
Ik kan tokens kopen en nooit meer hierover nadenken. Of ik kan over alles nadenken en een zonnesteek oplopen terwijl ik weer een videokaart aansluit.
Footnotes
-
Arena WebDev leaderboard, 28 juli 2026, 492.170 stemmen. claude-opus-5-max 1.712, kimi-k3-max 1.682, claude-opus-5-high 1.669, claude-fable-5 1.628, gpt-5.6-sol-xhigh 1.623, claude-opus-4-8-thinking 1.568. Goed om te onthouden: de coderang van K3 flatteert. Op het algemene tekstleaderboard (27 juli 2026) staat kimi-k3-max elfde met 1.486 ±10, achter claude-fable-5 (1.508) en claude-opus-5-max (1.495), en in een statistisch gelijkspel met claude-opus-4-8-thinking (1.484 ±5). Het is een codeerspecialist, niet het beste model ter wereld. ↩
-
Ik modelleer colo op £285 per kW per maand. Dat getal heb ik uit mijn duim gezogen, omdat ik geen bron kon vinden die goed genoeg was om erachter te staan. Voor wat het waard is: Britse wholesale-colocatie kost £150-300 per kW per maand vanaf 1MW, retail in Londen wordt geprijsd op £300-800 per kast en loopt voor dichtheid op tot boven £2.000, en high-density GPU-racks dragen een toeslag waar niemand een getal aan hangt. Mijn opstelling is 14 tot 72kW, veel te klein voor wholesale-prijzen. Als je weet wat een GPU-rack van 30kW in Londen echt kost, laat het me weten en ik corrigeer dit. Ik behandel het tarief als alles-inclusief, voor ruimte, koeling, redundantie en stroom, omdat gemeten elektriciteit erbovenop rekenen de grootste regel op een colofactuur dubbel zou tellen. ↩
-
Moonshot AI, Kimi-K3 model card. Hugging Face. 2,8T parameters totaal, 104B actief (16 van 896 experts), MXFP4-weights met MXFP8-activaties, context van 1.048.576 tokens. ↩
-
NVIDIA, Data Center Best Practices with DGX B200. Spec sheet. Geschat systeemvermogen maximaal 14,3kW, gewicht >130kg en 150 CFM per kilowatt, wat 2.145 CFM per node geeft (het document noemt 4.290 CFM voor een rack met twee nodes). Twee nodes per rack vragen 2x 380V driefasige 32A-aansluitingen. Het warmtecijfer is mijn eigen omrekening, niet die van NVIDIA: 14,3kW x 3.412 = ~48.800 BTU/uur. ↩ ↩2 ↩3 ↩4
-
Moonshot AI, Kimi K3 launch post: “we recommend deploying Kimi K3 on supernode configurations with 64 or more accelerators”. Een aanbeveling, geen ondergrens. Moonshot publiceert geen minimaal aantal GPU’s. ↩
-
Robert Half, 2026 Salary Guide, machine learning engineer, London. 50e percentiel £102.000, 75e percentiel ongeveer £119.000. ↩
-
Bai et al. (2026), How Do AI Agents Spend Your Money? Paper, Figuur 1. Agentic coding komt gemiddeld op 4,17M tokens per taak met een verhouding input tot output van 153,85:1, tegen 1,33 voor codechat en 0,16 voor coderedeneren. Het paper noemt ook $1,86 per taak, maar dat is een gemiddelde over acht modellen, de meeste veel goedkoper dan Opus 5, en komt neer op ongeveer $0,45 per 1M tokens. Ik neem het tokenvolume en de verhouding uit het paper en prijs ze zelf: dezelfde taak op Opus 5 met 70% cache-hits kost ongeveer $8,34. Lees de twee kostencijfers niet als vergelijkbaar. ↩ ↩2
-
vLLM, Driving vLLM WideEP and Large-Scale Serving Toward Maturity on Blackwell (Part I), 3 februari 2026. Link. 26,2K prefill- en 10,1K decode-tokens per GPU-seconde op GB200 voor MoE in DeepSeek-stijl bij 2K in / 2K uit. Twee dingen om bij het getal te onthouden: het komt uit een gedisaggregeerde topologie met 16 GPU’s (vier prefill-instances van elk twee GB200, één decode-instance van acht), en de doorvoer vlakt af rond een batchgrootte van 64K. Het lineair opschalen naar één luchtgekoelde kast met acht GPU’s is precies de fout waarvoor mijn kortingen er zijn. ↩
-
Kimi K3 op de API van Moonshot kost $3 per miljoen inputtokens en $15 per miljoen output, met cache-hits van $0,30, vast over de volledige context van 1M. De tarieven worden breed gemeld, maar ik heb ze niet kunnen bevestigen op de eigen prijspagina van Moonshot, dus zie ze als indicatief. Op de tokenmix van dit stuk komt dat gemiddeld op $1,20 per miljoen tegen $2,00 voor Opus 5. ↩
-
AWS, Bedrock pricing. Gepubliceerde provisioned-throughput-tarieven lopen van $4,11 tot $49,50 per model-unit-uur en gelden alleen voor oudere modellen (Llama 2 $21,18 voor één maand, Cohere Command $49,50 voor één maand tegen $23,77 voor zes, Command Light van $8,56 naar $4,11). Voor geen enkel huidig Claude-model staat een gepubliceerd provisioned-tarief. Het equivalent van Azure is de provisioned throughput unit, waarvan de werking staat op Microsoft Learn, al bevat die pagina geen dollarbedragen. De break-even van ~80% is analyse van derden, geen advies van de leverancier, en geen van beide platforms publiceert zo’n getal. ↩ ↩2
-
De straatprijs voor een HGX B200 met 8 GPU’s ligt rond $400.000 tot $500.000 en ik heb $450.000 gemodelleerd over een lineaire levensduur van drie jaar zonder restwaarde. Zie dat als mijn aanname en niet als citaat: de enige openbare bronnen zijn contentmarketingpagina’s van leveranciers zonder genoemde auteur en zonder primaire bronnen, waarvan één toegeeft dat er geen werkende tweedehandsmarkt bestaat om tegen te controleren. Als je een echte offerte hebt, wint die van de mijne. ↩
-
Gepubliceerde uurtarieven voor B200 lopen enorm uiteen per aanbieder en looptijd, ruwweg $2,14 tot $27,04 per GPU-uur. Lambda noemt $4,99 en Spheron $3,70 on demand tegen $2,74 spot, terwijl AWS p6 op $14,24 zit. getdeploying verzamelt meer dan 26 aanbieders. Ik heb $5,50 gemodelleerd, tussen de prijzen van neoclouds en hyperscalers in en gelijk aan geen van beide, dus zie het als een aanname voor het midden en niet als een offerte. ↩
-
DESNZ, Quarterly Energy Prices, juni 2026, tabellen 3.4.1 tot 3.4.2. Volumegewogen gemiddelde elektriciteitsprijs voor niet-huishoudens van 24,14p/kWh in Q1 2026, voorlopig, inclusief Climate Change Levy en exclusief btw. Ik heb naar boven afgerond op 25p, wat de zelfgehoste opties iets slechter laat uitzien in plaats van beter. PUE is power usage effectiveness, de verhouding tussen het totale vermogen van de faciliteit en het vermogen dat de apparatuur echt bereikt. ↩
-
Anthropic, Models overview. Opus 5 en Opus 4.8 staan allebei op $5 per miljoen inputtokens en $25 per miljoen outputtokens. ↩