Serverless of dedicated GPU's voor inferentie
We kunnen commissie verdienen als je via de links hieronder koopt. Meer informatie
Wanneer serverless GPU's met facturering per seconde beter zijn dan een instance die altijd aan staat, en wanneer niet: cold starts, bezetting en facturering.
Op deze pagina
Samenvatting
Serverless GPU’s worden per seconde gefactureerd, alleen zolang een worker draait, en schalen naar nul, dus ze zijn goedkoper bij weinig of onregelmatig verkeer. Een dedicated GPU wordt gefactureerd voor elk uur dat hij aan staat, dus die wint zodra hij druk genoeg is. Voor dezelfde GPU bij dezelfde provider is het break-evenaandeel van de maand gelijk aan de dedicated uurprijs gedeeld door de serverless uurprijs; de tabel hieronder berekent het uit de huidige gecontroleerde prijzen. Latentie telt even zwaar als kosten: koude starts voegen de opstarttijd van de container en de laadtijd van het model toe, tenzij je workers warm houdt, en warme workers zijn gefactureerde tijd.
- Serverless: facturering per seconde, schaalt naar nul, koude starts, geen kosten bij stilstand tenzij je workers warm houdt.
- Dedicated: vaste kosten zolang hij draait, geen koude starts, volledige controle over batching en de serving-stack.
- Break-evenaandeel van de maand = dedicated prijs ÷ serverless prijs, voor dezelfde GPU, hetzelfde aantal GPU’s en dezelfde provider.
- Veel productieopstellingen combineren een kleine dedicated basis met serverless capaciteit voor pieken.
1. Hoe de twee factureringsmodellen verschillen
Serverless GPU’s worden gefactureerd voor de tijd dat een worker bestaat. Modal factureert bijvoorbeeld “by the second for CPU, memory, and GPU time”, en volgens Modal geldt: zodra een applicatie “has scaled down to zero containers you no longer get charged” [1]. De gefactureerde tijd bestaat uit drie delen: de opstarttijd (de container starten en het model in het GPU-geheugen laden), de uitvoering, en een inactieve periode na het laatste verzoek [1]. Modal houdt een inactieve container standaard maximaal 60 seconden aan voordat die wordt afgesloten, instelbaar van 2 seconden tot 20 minuten, en je betaalt voor de resources zolang hij wacht [2].
Dedicated GPU’s worden gefactureerd voor de tijd dat de instance draait, of hij nu werk doet of niet. Sommige providers factureren per seconde, andere per minuut of per uur (de afrekeneenheid van elk aanbod staat op de pagina van de provider), maar elke eenheid wordt gefactureerd tot je de instance stopt.
Serverless en dedicated GPU’s vergeleken
| Aspect | Serverless (schaalt naar nul) | Dedicated instance |
|---|---|---|
| Je betaalt voor | Workertijd: opstarten, uitvoering en inactieve periode | Elk uur of elke seconde dat de instance draait |
| Kosten bij stilstand | Geen zodra workers naar nul schalen, tenzij je workers warm houdt | Volle prijs |
| Latentie | Koude starts als er geen warme worker beschikbaar is | Geen koude start; het model blijft geladen |
| Schalen | Automatisch, binnen de workerlimieten van het platform | Je voegt zelf instances toe en haalt ze weg |
| Controle | De runtime, container en het verzoekmodel van het platform | Je eigen serving-stack, drivers en batchinstellingen |
Serverless en dedicated GPU’s vergeleken
Je betaalt voor
- Workertijd: opstarten, uitvoering en inactieve periode
- Elk uur of elke seconde dat de instance draait
Kosten bij stilstand
- Geen zodra workers naar nul schalen, tenzij je workers warm houdt
- Volle prijs
Latentie
- Koude starts als er geen warme worker beschikbaar is
- Geen koude start; het model blijft geladen
Schalen
- Automatisch, binnen de workerlimieten van het platform
- Je voegt zelf instances toe en haalt ze weg
Controle
- De runtime, container en het verzoekmodel van het platform
- Je eigen serving-stack, drivers en batchinstellingen
De providers in onze dataset die prijzen publiceren voor GPU’s die naar nul schalen, met hun laagste prijs en hoe fijn ze factureren:
Serverless GPU-prijzen die naar nul schalen in de dataset, per GPU-uur
| Provider | GPU-modellen | Laagste prijs | Facturering |
|---|---|---|---|
| Modal | 10 | $0.59≈ €0.527 (geschatte omrekening van $0.59) | Per seconde |
| OVHcloud | 4 | ≈ $0.946 (omgerekend van de EUR-lijstprijs, €0.83)€0.83 | Per minuut |
2. Bepaal de break-even-bezettingsgraad
Serverless GPU’s kosten per uur meestal meer dan een dedicated instance met dezelfde GPU. De vraag is hoeveel uur je werkelijk gebruikt. Kost een dedicated GPU D per uur en de serverless worker S per bezet uur, dan kost een maand dedicated capaciteit D × 730 en serverless S × bezette uren. De twee zijn gelijk als:
aandeel bezette tijd = D ÷ Sbezette uren per maand = 730 × D ÷ S
Onder dat aandeel van de maand is serverless goedkoper, erboven een dedicated instance. De tabel berekent het uit de huidige gecontroleerde prijzen, alleen waar één provider beide prijzen publiceert voor dezelfde GPU en hetzelfde aantal GPU’s, zodat providers, GPU-modellen en tarieven voor multi-GPU-clusters nooit door elkaar worden gehaald:
Break-even-bezetting: serverless versus dedicated, zelfde provider en GPU
| GPU | Provider | Serverless, per GPU-uur | Dedicated, per GPU-uur | Dedicated is goedkoper boven |
|---|---|---|---|---|
| H100 PCIe | OVHcloud | ≈ $3.53 (omgerekend van de EUR-lijstprijs, €3.10)€3.10 | ≈ $3.19 (omgerekend van de EUR-lijstprijs, €2.80)€2.80 | 90% bezet |
| L40S | OVHcloud | ≈ $1.77 (omgerekend van de EUR-lijstprijs, €1.55)€1.55 | ≈ $1.60 (omgerekend van de EUR-lijstprijs, €1.40)€1.40 | 90% bezet |
| A10 | OVHcloud | ≈ $1.03 (omgerekend van de EUR-lijstprijs, €0.90)€0.90 | ≈ $0.867 (omgerekend van de EUR-lijstprijs, €0.76)€0.76 | 84% bezet |
| L4 | OVHcloud | ≈ $0.946 (omgerekend van de EUR-lijstprijs, €0.83)€0.83 | ≈ $0.855 (omgerekend van de EUR-lijstprijs, €0.75)€0.75 | 90% bezet |
Een rekenvoorbeeld met het mediane paar uit de tabel: de L40S bij OVHcloud kost serverless $1.77 per uur en op een dedicated instance $1.60 per uur. Een worker die 4 uur per dag bezig is, ongeveer 122 uur per maand, kost serverless ongeveer $216, tegenover $1,165 voor de dedicated instance die de hele maand draait. Bij 16 bezette uren per dag (487 uur) komt serverless uit op ongeveer $861, nog steeds minder dan de dedicated instance.
Wat telt als bezet
Bezette tijd is gefactureerde workertijd, niet de tijd van de verzoeken. Koude starts, de inactieve periode na elk verzoek en alle workers die je warm houdt tellen mee, dus het werkelijke aandeel bezette tijd is hoger dan je op basis van het verkeer alleen zou denken.
De vergelijking gaat alleen over rekentijd. Tel opslag, netwerkvolumes en egress (uitgaand dataverkeer), die voor beide modellen gelden, erbij op met de GPU-kostencalculator.
3. Houd rekening met koude starts
Een koude start (cold start) is het wachten op een nieuwe worker: de container opstarten en je initialisatie uitvoeren, wat voor een LLM betekent dat er gigabytes aan gewichten in het GPU-geheugen worden geladen. Modal meldt dat zijn containers in ongeveer één seconde opstarten, maar een container telt pas als warm nadat je setupcode is uitgevoerd, en gewichten van tevoren downloaden in plaats van bij het opstarten “can reduce boot times from minutes to seconds” voor modellen van tientallen gigabytes [2]. Die opstartfase is ook gefactureerde tijd [1].
Zo beperk je koude starts, en wat dat kost
- Cache de gewichten of bouw ze in in de image of een volume, zodat elke worker de download overslaat.
- Houd workers warm. Met
min_containersstel je bij Modal een ondergrens in, zodat een functie nooit naar nul schaalt, enbuffer_containershoudt reservecontainers aan zolang de functie actief is [2]. - Blijf langer warm met een langere inactieve periode, zoals
scaledown_windowbij Modal [2]. - Gebruik een kleiner of gekwantiseerd model, dat sneller laadt; zie de VRAM-gids.
Elke warme worker is gefactureerde tijd, dus met deze instellingen beweeg je over dezelfde curve als in de break-eventabel. Modal benoemt de afweging zelf: ze “introduce a trade-off between cold start latencies and cost” [2].
4. Bezetting betekent ook batching
Een drukbezette dedicated GPU doet meer werk per dollar als de server verzoeken in batches verwerkt. Het PagedAttention-paper, waarmee vLLM werd geïntroduceerd, meldt een 2–4× hogere doorvoer dan eerdere serving-systemen bij dezelfde latentie, met grotere winst bij langere reeksen en grotere modellen [3]. Een dedicated instance onder constante belasting heeft dat voordeel continu.
Serverless platforms kunnen ook batchen, maar alleen als verzoeken bij dezelfde worker aankomen. Controleer hoeveel gelijktijdige verzoeken één worker accepteert: één verzoek per worker vermenigvuldigt de koude starts en de gefactureerde inactieve perioden.
Wil je vLLM op je eigen instance draaien, dan vind je op de pagina vLLM-hosting providers met een officiële vLLM-template of documentatie.
5. Wat kies je?
Welk factureringsmodel bij welke werklast past
| Situatie | Past beter | Waarom |
|---|---|---|
| Prototype, interne tool of weinig verkeer | Serverless | Uren zonder werk kosten niets; koude starts zijn acceptabel. |
| Constant verkeer het grootste deel van de dag | Dedicated | Boven het break-evenaandeel is de prijs voor altijd aan lager, en batching verhoogt de doorvoer. |
| Strikt latentiedoel met piekend verkeer | Dedicated basis plus serverless voor de overloop, of warme workers | De basis vangt de normale belasting op zonder koude starts; pieken gaan naar workers die uitschalen. |
| Geplande batchjobs | Serverless, of onderbreekbare capaciteit met checkpoints | Je betaalt alleen zolang jobs draaien; onderbrekingen zijn aanvaardbaar als het werk kan worden hervat. |
| Eigen serving-stack of langlopende verbindingen | Dedicated | Volledige controle over de runtime, drivers en netwerk. |
Welk factureringsmodel bij welke werklast past
Prototype, interne tool of weinig verkeer
- Serverless
- Uren zonder werk kosten niets; koude starts zijn acceptabel.
Constant verkeer het grootste deel van de dag
- Dedicated
- Boven het break-evenaandeel is de prijs voor altijd aan lager, en batching verhoogt de doorvoer.
Strikt latentiedoel met piekend verkeer
- Dedicated basis plus serverless voor de overloop, of warme workers
- De basis vangt de normale belasting op zonder koude starts; pieken gaan naar workers die uitschalen.
Geplande batchjobs
- Serverless, of onderbreekbare capaciteit met checkpoints
- Je betaalt alleen zolang jobs draaien; onderbrekingen zijn aanvaardbaar als het werk kan worden hervat.
Eigen serving-stack of langlopende verbindingen
- Dedicated
- Volledige controle over de runtime, drivers en netwerk.
Schat je bezette uren, vergelijk ze met het break-evenaandeel hierboven en bereken beide opties in de GPU-kostencalculator. Providers die beide modellen aanbieden, worden vergeleken onder inferentiehosting en beheerde AI-hosting.
Volgende stappen
Volgende stap: Bereken serverless en dedicated GPU’s voor jouw bezette uren.GPU-kostencalculator
Bronnen
Feitelijke uitspraken over providers, modellen, software en wetgeving verwijzen naar deze bronnen: eerst primaire bronnen (officiële prijspagina's, documentatie, modelkaarten en wetteksten), bronnen van derden alleen waar nodig en duidelijk als zodanig aangeduid. Prijzen en specificaties in de tabellen komen uit de dataset van AIHostCompare; de eigen bronnen en controlemomenten van elke provider staan op zijn providerpagina, en de methodologie legt uit hoe we data controleren. Aanbevelingen en vuistregels zijn ons redactionele oordeel.