Guide GPU
API OpenAI trop chère ? Héberge ton LLM sur un GPU à l’heure, au Canada
Mis à jour le
Réponse courte
Déploie le modèle vLLM compatible OpenAI en un clic : tu obtiens une adresse HTTPS /v1 et une clé, et ton code OpenAI existant fonctionne en changeant seulement base_url et api_key, sur un GPU au Canada dès 0,67 $ CA/h. Le serveur se paie à l’heure et non au jeton : il devient plus avantageux que l’API quand ton volume dépasse le point de bascule, calculé plus bas avec une formule où tu mets tes propres chiffres.
Ce que le modèle vLLM installe
- Une API compatible OpenAI (
/v1) servie en HTTPS, protégée par une clé générée pour toi et affichée dans la console. - Le modèle de ton choix parmi Qwen2.5 7B Instruct, Llama 3.1 8B Instruct et Mistral 7B Instruct v0.3, servi avec un contexte de 8 192 jetons. Il demande un GPU d’au moins 24 Go.
- Llama 3.1 8B Instruct et Mistral 7B Instruct v0.3 demandent d’accepter leur licence sur le dépôt de modèles, puis d’ajouter un jeton d’accès dans /etc/gpucloud/app.env sur le serveur.
- Seules les routes
/v1et/healthsont exposées ; tu gardes un accès SSH complet au serveur.
Les étapes
1.Déploie le modèle vLLM
Dans la console, choisis le modèle vLLM compatible OpenAI, le modèle de langage et un GPU, puis confirme le prix. L’installation prend quelques minutes ; la console affiche l’avancement.
2.Récupère l’adresse et la clé
Quand le serveur répond, la console affiche son adresse HTTPS et la clé d’API générée.
3.Vérifie que le serveur répond
/healthrépond quand le modèle est chargé ;/v1/modelsliste le modèle servi.Vérifier le serveur export VLLM_API_KEY="<clé affichée dans la console>" curl https://ADRESSE_DU_SERVEUR/health curl https://ADRESSE_DU_SERVEUR/v1/models -H "Authorization: Bearer $VLLM_API_KEY"4.Change deux lignes dans ton code
Garde le SDK OpenAI : remplace
base_urletapi_key, et donne le nom du modèle servi.Ton code OpenAI existant : seules deux lignes changent # pip install openai from openai import OpenAI client = OpenAI( base_url="https://ADRESSE_DU_SERVEUR/v1", # affichée dans la console api_key="CLE_VLLM", # clé générée, affichée dans la console ) response = client.chat.completions.create( model="Qwen/Qwen2.5-7B-Instruct", messages=[{"role": "user", "content": "Bonjour !"}], ) print(response.choices[0].message.content)
Combien coûte le serveur
| GPU | VRAM | Par heure | Heures de bureau (176 h) | Mois complet à l’heure (730 h) | Forfait au mois |
|---|---|---|---|---|---|
| NVIDIA RTX A6000 | 48 Go | 0,67 $ | 117,92 $ | 489,10 $ | 474,50 $ |
| NVIDIA L40 | 48 Go | 1,34 $ | 235,84 $ | 978,20 $ | 941,70 $ |
| NVIDIA A100 PCIe | 80 Go | 1,81 $ | 318,56 $ | 1 321,30 $ | 1 270,20 $ |
| NVIDIA RTX PRO 6000 | 96 Go | 2,48 $ | 436,48 $ | 1 810,40 $ | 1 737,40 $ |
| NVIDIA H100 PCIe | 80 Go | 3,35 $ | 589,60 $ | 2 445,50 $ | 2 343,30 $ |
Heures de bureau : 8 h par jour pendant 22 jours. Prix en dollars canadiens, taxes en sus, lus dans le catalogue au moment de la publication de la page.
Le serveur coûte la même chose, que tu lui envoies une requête ou un million. Hors des heures d’utilisation, hiberne-le pour garder le modèle téléchargé sur le disque sans payer le GPU.
Le point de bascule : API au jeton ou GPU à l’heure
Une API facture chaque jeton ; ton serveur facture chaque heure. Le calcul tient en trois formules :
coût par million de jetons = prix horaire ÷ (jetons par seconde × 3 600) × 1 000 000
débit de bascule (jetons/s) = prix horaire × 1 000 000 ÷ (3 600 × prix de l’API par million)
volume de bascule (millions de jetons par mois) = coût mensuel du GPU ÷ prix de l’API par millionExemple avec deux hypothèses, qui ne sont ni des mesures ni un tarif réel : une API à 2,00 $ CA par million de jetons, et un débit soutenu de 200 jetons par seconde. Sur une RTX A6000 à 0,67 $ CA/h, le million de jetons revient alors à 0,93 $ CA. Le serveur devient plus avantageux dès qu’il produit en moyenne plus de 93 jetons par seconde sur l’heure.
Au mois, avec les mêmes hypothèses : en heures de bureau (176 h, 117,92 $), le point de bascule est de 59 millions de jetons par mois ; avec le forfait au mois (474,50 $), il est de 237,3 millions de jetons par mois.
Remplace les hypothèses par tes chiffres : le prix de l’API que tu paies, et le débit que tu mesures sur ton serveur avec ton modèle et tes requêtes réelles.
import time
start = time.perf_counter()
response = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": PROMPT}],
max_tokens=512,
)
elapsed = time.perf_counter() - start
print(response.usage.completion_tokens / elapsed, "tokens/s")Quand rester sur l’API
- Ton volume est faible ou irrégulier : au jeton, tu ne paies pas les heures creuses.
- Tu as besoin d’un modèle qui n’est pas à poids ouverts, ou d’un contexte plus long que celui du modèle en un clic.
- Tu ne veux pas gérer de serveur, même installé pour toi.
Tes requêtes restent au Canada
Le serveur tourne à Montréal : les requêtes, les réponses et le modèle restent sur ta machine, au Canada. Voir la page Souveraineté des données.
Ce qu’il faut savoir avant de lancer
- La facturation se fait à l’heure, au tarif horaire du serveur, à partir d’un crédit prépayé. Il n’y a pas de facturation à la minute, et la première heure est prélevée au déploiement.
- Un serveur arrêté reste facturé au plein tarif horaire. Pour payer moins, hiberne-le (0,02 $ par heure (environ 14,60 $ par mois), disque conservé) ou supprime-le. Une machine Spot ne s’hiberne pas : supprime-la quand tu as fini.
- La recharge minimale est de 25,00 $ CA, payée par carte de crédit.
- Les serveurs et leurs disques restent au Canada (région canada-montreal, à Montréal). Les renseignements du compte (identité, facturation, courriels) peuvent être traités hors du Québec, comme l’explique la politique de confidentialité.
Questions fréquentes
Dois-je réécrire mon code OpenAI ?
Non. vLLM expose une API compatible OpenAI : avec le SDK OpenAI, tu changes base_url, api_key et le nom du modèle.
Quels modèles sont proposés en un clic ?
Qwen2.5 7B Instruct, Llama 3.1 8B Instruct et Mistral 7B Instruct v0.3, avec un contexte de 8 192 jetons. Tu peux installer d’autres modèles toi-même par SSH.
Combien coûte un serveur vLLM ?
Dès 0,67 $ CA/h sur une RTX A6000 de 48 Go, ou 474,50 $ par mois avec le forfait mensuel, en dollars canadiens, taxes en sus.
Est-ce moins cher que l’API d’OpenAI ?
Ça dépend de ton volume. La page donne la formule du point de bascule : au-delà d’un certain débit soutenu, ou d’un certain volume mensuel, le serveur à l’heure coûte moins que l’API au jeton.
Mes données restent-elles au Canada ?
Les requêtes et les réponses sont traitées sur ton serveur, à Montréal. Les renseignements du compte peuvent être traités hors du Québec, comme l’explique la politique de confidentialité.
Tu veux du GPU ? On est là.
Lance un serveur GPU NVIDIA à l’heure au Canada, payé en dollars canadiens par carte de crédit, ou réserve un GPU pour une date précise.
Autres guides
- Ton IA te dit qu’il te faut un GPU ? Lance ton script Python sur un GPU en quelques minutes
- CUDA out of memory : causes, correctifs, et quand passer à un GPU avec plus de VRAM
- torch.cuda.is_available() renvoie False : causes et correctifs (Mac, PC sans NVIDIA, Docker)
- Combien coûte un GPU à l’heure au Canada, en dollars canadiens ?
- Louer un GPU à l’heure au Canada : prix, étapes et facturation
- GPU cloud à Montréal, au Canada : serveurs GPU NVIDIA hébergés au pays
- Louer une H100 au Canada : PCIe, NVLink ou SXM, à l’heure
- Quel GPU pour fine-tuner un LLM ? Mémoire, machine et coût
- GPU cloud pas cher : comment payer le moins possible pour un GPU