Een open model draaien op je laptop werkt tot je een echte GPU nodig hebt. Een eigen server huren is dan vaak overkill. Modal zit daartussen: je schrijft een gewone Python-functie, zet er één regel boven en die functie draait op een cloud-GPU, per seconde afgerekend. In vier stappen heb je je eerste GPU-functie draaien en weet je wat het kost.
Stap 1: installeren en inloggen
Modal installeer je als Python-pakket, daarna koppel je je account met één commando (Bron: Modal docs):
pip install modal
modal setup
modal setup opent je browser om in te loggen en zet een token op je computer. Werkt het commando niet, probeer dan python -m modal setup. Wil je straks een GPU gebruiken, voeg dan in je account een betaalmethode toe: zonder krijg je geen GPU, ook niet binnen je gratis credits (Bron: Modal docs).
Stap 2: je eerste functie met een GPU
Maak een bestand gpu_test.py:
import modal
app = modal.App("eerste-gpu")
@app.function(gpu="T4")
def check():
import subprocess
return subprocess.run(["nvidia-smi"], capture_output=True, text=True).stdout
@app.local_entrypoint()
def main():
print(check.remote())
Draai het met modal run gpu_test.py. Modal bouwt een container, start hem op een T4 en geeft de uitvoer van nvidia-smi terug in je terminal. Het argument gpu= in de decorator bepaalt welke kaart je krijgt; in de docs staat bijvoorbeeld gpu="h100" (Bron: Modal docs).
💡 Beginner-tip: begin altijd op een T4 of L4. Werkt je code daar, schaal dan pas op naar een A100 of H100. Een fout in je script kost op een H100 bijna zeven keer zoveel per seconde.
Stap 3: de juiste GPU kiezen
Modal rekent per seconde, en alleen zolang je functie draait (Bron: Modal pricing). Omgerekend naar uurprijzen:
| GPU | Per seconde | Per uur (afgerond) |
|---|---|---|
| T4 | $0,000164 | $0,59 |
| L4 | $0,000222 | $0,80 |
| A100 80 GB | $0,000694 | $2,50 |
| H100 | $0,001097 | $3,95 |
Daar komen CPU en geheugen bij. Het Starter-plan is gratis met 30 dollar aan credits per maand, het Team-plan kost 250 dollar per maand plus verbruik met 100 dollar aan credits (Bron: Modal pricing). Voor experimenten kom je dus een heel eind met het gratis plan.
Moeten je gegevens in Europa blijven? Zet dan region=["eu"] in de decorator. Een brede regio zoals eu kost 1,15 keer de basisprijs, een smalle zoals eu-west 1,75 keer (Bron: Modal docs).
Stap 4: blijvend neerzetten als API
Wil je dat andere software je functie kan aanroepen, maak er dan een webfunctie van met @modal.fastapi_endpoint(). Daarvoor heeft je container FastAPI nodig (Bron: Modal docs):
image = modal.Image.debian_slim().pip_install("fastapi[standard]")
@app.function(image=image, gpu="T4")
@modal.fastapi_endpoint()
def f():
return "Hello world!"
Met modal serve gpu_test.py krijg je tijdens het ontwikkelen een tijdelijke publieke URL. Met modal deploy gpu_test.py zet je de app blijvend neer, met een vaste URL (Bron: Modal docs).
⚡ Gevorderden: die URL staat op het open internet. Zet er authenticatie op voordat je er een model achter hangt dat geld kost per aanroep.
Twijfel je of je een model beter lokaal draait of huurt? Lees dan eerst Qwen 3.8 27B draaien: zelf hosten of huren? en ons overzicht van open-weight modellen die je zelf draait. Waarom open modellen zo hard terrein winnen, staat in de staat van open-source AI op hetlaatsteainieuws.nl.
Checklist: ben je klaar?
-
pip install modalenmodal setupzijn gelukt - Er staat een betaalmethode in je account (nodig voor GPU’s)
-
modal rungeeft denvidia-smi-uitvoer van een T4 terug - Je hebt de GPU gekozen op basis van wat je model echt nodig heeft
- Je weet of je
region=["eu"]nodig hebt, en rekent met de toeslag - Een gedeployde webfunctie heeft authenticatie
