Tutoriel

Statut éditorial : En attente de relecture

Utiliser un modèle de génération de texte en local avec Transformers

Charger un petit modèle causal, appliquer son chat template et contrôler la génération locale avec max_new_tokens et des paramètres explicites.

Classification du contenu

Types

  • Intelligence artificielle
  • outils
Niveau
Intermédiaire
Prochaine vérification
11 novembre 2026

Ce tutoriel exécute un modèle causal sur votre machine. Choisissez un petit modèle compatible avec votre mémoire et vérifiez sa licence ainsi que sa model card.

Installer

pip install -U transformers torch accelerate

Charger tokenizer et modèle

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "HuggingFaceTB/SmolLM2-360M-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    dtype="auto",
    device_map="auto",
)

device_map="auto" utilise Accelerate pour placer le modèle. Sur une machine uniquement CPU, le chargement reste possible pour un petit modèle mais sera plus lent.

Appliquer le chat template

Les modèles instruct attendent souvent un format de conversation précis. Utilisez le template fourni par le tokenizer plutôt que de concaténer manuellement les rôles.

messages = [
    {"role": "system", "content": "Réponds en français et sois concis."},
    {"role": "user", "content": "Explique ce qu’est un tokenizer."},
]

inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

with torch.inference_mode():
    outputs = model.generate(
        **inputs,
        max_new_tokens=120,
        do_sample=False,
    )

generated = outputs[0, inputs["input_ids"].shape[1]:]
print(tokenizer.decode(generated, skip_special_tokens=True))

max_new_tokens limite uniquement la réponse. do_sample=False facilite les tests reproductibles ; pour de la créativité, activez l’échantillonnage avec des paramètres documentés.

Prévenir les erreurs mémoire

Réduisez d’abord la taille du modèle, la longueur du prompt et le nombre de tokens générés. Ne supposez pas qu’une précision réduite est prise en charge par tous les matériels. Mesurez le temps au premier token, le débit et la mémoire maximale.

Valider le résultat

Le modèle peut produire une affirmation plausible mais fausse. Pour une application, imposez des formats, ajoutez des sources ou une récupération documentaire et évaluez sur des exemples réels. Fixez la révision du modèle lorsque la reproductibilité est importante.