TL;DR
- Sur LowCostGPU, une seule instance du template vLLM donne un endpoint compatible OpenAI ; un 8B sur une RTX 5090 coûte $0,481 par heure.
- Comptez environ 2 800 tokens agrégés par seconde pour un 8B sur une RTX 5090, 900 pour un 32B en 4-bit, 550 pour un 70B en 4-bit.
- Le coût par million de tokens en sortie est égal au tarif horaire divisé par les tokens par seconde, multiplié par 3 600, puis par un million ; le réservé réduit ce coût de 35 %.
- L’OOM le plus courant consiste à laisser max-model-len au maximum de 128k du modèle ; plafonnez le contexte et utilisez un cache KV en fp8.
Déployer en une commande
lowcostgpu launch --gpu rtx-5090 --template vllm --disk 60 \
--env MODEL=meta-llama/Llama-3.1-8B-Instruct
# ✓ i-52ab77c1 · https://i-52ab77c1.lowcostgpu.com:8000/v1
curl https://i-52ab77c1.lowcostgpu.com:8000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"meta-llama/Llama-3.1-8B-Instruct",
"messages":[{"role":"user","content":"ping"}]}'Le template télécharge les poids au premier démarrage (bande passante facturée : un modèle de 16 GB coûte $0,16). Placez HF_HOME sur un volume et toute future instance se passe du téléchargement.
Choisir la carte selon le modèle
| Classe de modèle | Carte | $/h | Tok/s agrégés ≈ | $ / M tokens de sortie ≈ |
|---|---|---|---|---|
| 7–8B FP16 | RTX 5090 | $0,481 | 2 800 | $0,048 |
| 14B FP16 / 32B-4bit | L40S | $0,448 | 900 | $0,138 |
| 70B-4bit | H100 PCIE | $1,811 | 550 | $0,91 |
Les débits sont des agrégats typiques en traitement par lots continu à contexte modéré ; votre mix de prompts les fera varier de ±40 %. C’est pour cela que la section benchmark existe.
Les options qui comptent
--max-model-len 8192 # cap context = cap KV-cache = predictable memory
--gpu-memory-utilization 0.92 # default 0.90; raise carefully once stable
--max-num-batched-tokens 8192 # throughput/latency dial — higher = more tok/s
--kv-cache-dtype fp8 # halves cache on Hopper/Blackwell — free VRAM
--tensor-parallel-size 2 # split across 2 GPUs when one is shortTout le reste peut rester par défaut tant que le benchmark n’indique pas le contraire. La cause la plus fréquente d’OOM est de laisser --max-model-len au maximum du modèle (128k) « au cas où » — la section sur le cache KV montre ce que cela coûte.
Benchmarker avant d’y croire
vllm bench serve \
--base-url https://i-52ab77c1.lowcostgpu.com:8000 \
--model meta-llama/Llama-3.1-8B-Instruct \
--dataset-name random --random-input-len 512 --random-output-len 256 \
--request-rate 16 --num-prompts 512
# → throughput, TTFT p50/p99, ITL p50/p99Jugez sur deux chiffres : le tok/s agrégé (votre coût) et le p99 time-to-first-token (vos utilisateurs). Augmentez --request-rate jusqu’à ce que le p99 TTFT dépasse votre budget — ce débit est la capacité honnête de la carte pour la forme de votre trafic.
Tarifer vos tokens
$/M output tokens = price_per_hour / (tokens_per_sec x 3600) x 1e6
# benchmark said 2,910 tok/s on the 5090:
0,481 / (2910 x 3600) x 1e6 = $0,046 per million output tokens
# reserved (-35%) and cache-hit traffic push it lower stillPosture de production
- Charge de base sur réservé (−35 %), pic sur serverless — un seul solde, deux courbes.
- Contrôle de santé GET /health ; le redémarrage en cas de défaillance est une option du template.
- Poids sur un volume en lecture seule — les workers de remplacement démarrent en quelques secondes, et un déploiement raté ne peut jamais corrompre la bibliothèque.
- Ne servez jamais en interruptible — ce mode est réservé au volet entraînement de votre pipeline.
Faites travailler ces chiffres
Chaque prix de ce guide est notre tarif en direct — fixe, ≥30 % sous la médiane du marché, facturé à la seconde. Déployez exactement la configuration ci-dessus depuis la console en environ 30 secondes, paiement en crypto, sans carte et sans KYC.


