GPUcloud

Guide GPU

Quel GPU pour fine-tuner un LLM ? Mémoire, machine et coût

Mis à jour le

Réponse courte

Un fine-tuning LoRA d’un modèle de 8 milliards de paramètres tient sur une RTX A6000 de 48 Go à 0,67 $ CA/h, et un QLoRA d’un modèle de 70 milliards, avec peu de marge, sur 1 × RTX A6000 (48 Go) à 0,67 $ CA/h. Un fine-tuning complet demande environ 16 octets par paramètre, soit 128 Go pour 8 milliards de paramètres avant les activations.

Combien de mémoire GPU pour fine-tuner un LLM

Mémoire GPU à prévoir pour fine-tuner un LLM, et la machine la moins chère qui l’offre
MéthodeParamètresMémoire avant activationsMachine la moins chère qui suffitPrix par heure
Fine-tuning complet (AdamW)8 milliards128 Go4 × RTX A6000 (192 Go)2,68 $
Fine-tuning complet (AdamW)70 milliards1 120 Goaucun serveur en ligne : sur demandesur demande
LoRA (poids en 16 bits)8 milliards16 Go1 × RTX A6000 (48 Go)0,67 $
LoRA (poids en 16 bits)70 milliards140 Go4 × RTX A6000 (192 Go)2,68 $
QLoRA (poids en 4 bits)8 milliards4 Go1 × RTX A6000 (48 Go)0,67 $
QLoRA (poids en 4 bits)70 milliards35 Go1 × RTX A6000 (48 Go)0,67 $

Estimations courantes : 16 octets par paramètre en fine-tuning complet (poids, gradients, copie en 32 bits et états d’Adam), 2 en LoRA, 0,5 en QLoRA. La machine est choisie avec 25 % de marge pour les activations ; la longueur des séquences et la taille de lot peuvent demander plus. Prix en dollars canadiens, taxes en sus.

Pourquoi un tel écart : en fine-tuning complet, chaque paramètre garde ses gradients et les états de l’optimiseur. En LoRA, le modèle est gelé et seuls de petits adaptateurs s’entraînent ; en QLoRA, le modèle gelé est en plus chargé en 4 bits. Le guide CUDA out of memory explique comment réduire les activations.

Les machines à louer, avec leur disponibilité

Les machines du tableau, avec leur disponibilité
GPUGPU par serveurMémoire GPU du serveurÀ la demande, par heureDisponibilité
NVIDIA RTX A6000148 Go0,67 $
NVIDIA RTX A60004192 Go2,68 $

Prix en dollars canadiens, taxes en sus, lus dans le catalogue à la publication de la page. La disponibilité est lue en direct ; une machine en rupture affiche la machine équivalente la plus proche qui est en stock.

Combien coûte un fine-tuning

Exemples de coûts d’un fine-tuning (durées supposées)
TravailMachineDurée supposéeCoût à la demande
Llama 3.1 8B, LoRA (poids en 16 bits)1 × RTX A6000 (48 Go)3 h2,01 $
Llama 3.1 8B, QLoRA (poids en 4 bits)1 × RTX A6000 (48 Go)4 h2,68 $
Llama 3.1 8B, Fine-tuning complet (AdamW)4 × RTX A6000 (192 Go)10 h26,80 $
Llama 3.1 70B, QLoRA (poids en 4 bits)1 × RTX A6000 (48 Go)24 h16,08 $

Les durées sont des hypothèses pour montrer le calcul, pas des mesures : elles dépendent du jeu de données, du nombre d’époques, de la longueur des séquences et du code. Calcul : tarif horaire × heures, arrondi au cent, taxes en sus.

Par exemple, un LoRA de Llama 3.1 8B qui dure 3 heures sur une RTX A6000 coûte 2,01 $ CA. Pour connaître ta vraie durée, lance une courte passe (quelques centaines de pas) et multiplie.

Démarrer un fine-tuning LoRA

Déploie le modèle PyTorch (CUDA) : PyTorch et CUDA sont prêts dans /opt/pytorch. Installe ensuite les bibliothèques de fine-tuning et charge le modèle avec ses adaptateurs LoRA.

Sur le serveur (pip install transformers peft accelerate)
import torch
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM

# Modèle à accès restreint : accepte sa licence sur Hugging Face, puis `huggingface-cli login`
model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-3.1-8B", torch_dtype=torch.bfloat16, device_map="auto"
)
model.gradient_checkpointing_enable()
config = LoraConfig(
    r=16, lora_alpha=32, lora_dropout=0.05, task_type="CAUSAL_LM",
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
)
model = get_peft_model(model, config)
model.print_trainable_parameters()

Pour un fine-tuning complet sur plusieurs GPU (par exemple 4 × RTX A6000, 192 Go), répartis les états de l’optimiseur entre les GPU avec FSDP ou DeepSpeed ZeRO. Un fine-tuning complet d’un modèle de 70 milliards de paramètres (environ 1 120 Go avant activations) dépasse un serveur vendu en ligne : réserve des GPU pour en parler.

Servir le modèle affiné

Une fois les adaptateurs fusionnés au modèle, le modèle en un clic vLLM le sert par une API compatible OpenAI, dès 0,67 $ CA/h. Le guide héberger son LLM sur un GPU compare ce coût à une API au jeton.

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

Quel GPU pour fine-tuner Llama 3.1 8B ?

En LoRA, une RTX A6000 de 48 Go (0,67 $ CA/h) suffit : les poids en 16 bits prennent environ 16 Go. En fine-tuning complet, il faut environ 128 Go avant activations, soit 4 × RTX A6000.

Peut-on fine-tuner un modèle de 70 milliards de paramètres sur un seul serveur ?

Oui en QLoRA : le modèle en 4 bits prend environ 35 Go, ce qui tient sur 1 × RTX A6000 (48 Go). C’est serré : ça passe en 4 bits avec un petit lot, des séquences courtes et le gradient checkpointing ; pour plus de marge, prends 2 × RTX A6000 ou un GPU de 80 Go. Un fine-tuning complet demande environ 1 120 Go avant activations, plus qu’un serveur vendu en ligne.

LoRA ou fine-tuning complet ?

LoRA d’abord : il demande beaucoup moins de mémoire et de temps, et suffit souvent pour adapter un modèle à un domaine ou à un format de réponse. Le fine-tuning complet se justifie quand LoRA ne suffit pas.

Combien de temps dure un fine-tuning ?

Cela dépend du jeu de données, du nombre d’époques et de la longueur des séquences. Mesure une courte passe, puis multiplie : le coût est le tarif horaire multiplié par les heures.

Mes données d’entraînement restent-elles au Canada ?

Oui. Les serveurs et leurs disques restent au Canada, à Montréal. Supprime le serveur à la fin pour effacer ses disques.

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