Section 11.4.2 : Les LLMs — Architecture Transformer simplifiée
🎯 Objectif pédagogique
Comprendre comment fonctionnent les Large Language Models (LLMs) : tokenization, attention, contexte, et limites. Vous serez capable d'expliquer pourquoi les LLMs "hallucinent" et comment le mécanisme d'attention fonctionne.
Comment ChatGPT "pense" — La vérité
Marc utilise ChatGPT tous les jours. Mais comment ça marche réellement ? Un LLM n'est pas une intelligence — c'est une machine statistique incroyablement sophistiquée qui prédit le prochain token.
Étape 1 : Tokenization
Input texte : "Marc cherche un emploi en data science"
Tokenization (BPE - Byte Pair Encoding) :
["Marc", " cherche", " un", " emploi", " en", " data", " science"]
→ [15839, 45018, 653, 91832, 665, 1473, 8198]
Chaque token = un ID numérique dans le vocabulaire (~100 000 tokens)
Pourquoi pas mot par mot ?
- "Unforgettable" → ["Un", "forget", "table"] (3 tokens)
- Permet de gérer les mots inconnus par sous-parties
- Plus efficace que caractère par caractère
Compter les tokens :
- 1 token ≈ 4 caractères en anglais
- 1 token ≈ 3 caractères en français (accents = plus de tokens)
- "Bonjour" = 2-3 tokens, "Hello" = 1 token
Étape 2 : Embeddings — Transformer les mots en vecteurs
Token "data" → Vecteur de 4096 dimensions
[0.12, -0.34, 0.87, 0.02, ..., -0.56]
Propriété magique : les relations sémantiques sont géométriques
vector("roi") - vector("homme") + vector("femme") ≈ vector("reine")
vector("Paris") - vector("France") + vector("Allemagne") ≈ vector("Berlin")
Les mots similaires sont PROCHES dans l'espace vectoriel :
distance("chien", "chat") < distance("chien", "voiture")
Étape 3 : Attention — Le cœur du Transformer
Phrase : "Le chat qui dormait sur le toit s'est réveillé"
Question du modèle : "À quoi 'réveillé' fait-il attention ?"
Scores d'attention :
Le → 0.02 (faible)
chat → 0.45 (fort ! sujet du verbe)
qui → 0.05
dormait → 0.30 (fort ! contraste avec réveillé)
sur → 0.01
le → 0.01
toit → 0.08
s'est → 0.08
Multi-head attention : 32-128 "têtes" regardent simultanément
des aspects différents (syntaxe, sémantique, position...)
Étape 4 : Génération token par token
User: "Écris un email de relance pour Marc"
Génération autoregressive (un token à la fois) :
Step 1: [prompt] → P("Bonjour" | prompt) = 0.45 → "Bonjour"
Step 2: [prompt + "Bonjour"] → P(",") = 0.82 → ","
Step 3: [prompt + "Bonjour,"] → P("\n") = 0.60 → "\n"
Step 4: [prompt + "Bonjour,\n"] → P("Je") = 0.38 → "Je"
Step 5: [prompt + "Bonjour,\nJe"] → P(" me") = 0.52 → " me"
...
Temperature = contrôle du "risque" :
- temp=0 : toujours le token le plus probable → répétitif, factuel
- temp=0.7 : mélange de probable et créatif → bon compromis
- temp=1.5 : très aléatoire → créatif mais incohérent
Fenêtre de contexte
Modèle Context Window Pages de texte (~)
─────────────────────────────────────────────────
GPT-3.5 4k tokens ~6 pages
GPT-4 8k-32k tokens ~12-50 pages
GPT-4o 128k tokens ~200 pages
Claude 3.5 200k tokens ~300 pages
Gemini 1.5 1M-2M tokens ~1500 pages
La fenêtre de contexte = la "mémoire de travail" du LLM
Au-delà, il ne voit plus le début de la conversation.
Pourquoi ça compte ? Si Marc donne un PDF de 100 pages à Claude,
il peut poser des questions sur N'IMPORTE quelle partie.
GPT-3.5 ne verrait que les 6 premières pages.
Pourquoi les LLMs "hallucinent"
Les hallucinations NE SONT PAS des "bugs" — c'est le fonctionnement normal.
Le LLM prédit le token le plus PROBABLE, pas le plus VRAI.
Exemple :
Q: "Quel livre a écrit Marc Dupont en 2020 ?"
→ Le LLM cherche le pattern le plus probable :
"[nom] a écrit [titre plausible] en [année]"
→ Il génère un titre PLAUSIBLE mais FAUX
3 types d'hallucinations :
1. FABRICATION : invente des faits (faux livres, faux chiffres)
2. CONFLATION : mélange des faits réels (attribue un livre au mauvais auteur)
3. CONFABULATION : invente une logique cohérente mais fausse
Comment réduire les hallucinations :
- Demander des sources → le LLM peut vérifier
- Utiliser RAG (documents réels dans le contexte)
- Temperature basse (moins de créativité = moins d'invention)
- Instructions explicites : "Si tu ne sais pas, dis-le"
Ne JAMAIS faire confiance aveuglément
Règle d'or : un LLM est un assistant, pas une source de vérité. Vérifiez TOUJOURS les faits critiques (dates, chiffres, citations, code). Le LLM est excellent pour la structure, la rédaction, et le brainstorming — pas pour l'exactitude factuelle sans sources.
🏋️ Exercice pratique (20 minutes)
- →Ouvrez platform.openai.com/tokenizer et comptez les tokens de phrases françaises vs anglaises
- →Testez les hallucinations : demandez à ChatGPT "Quels livres Marc Dupont a-t-il publiés ?"
- →Testez l'impact de la temperature : même prompt avec temp=0 vs temp=1.5
- →Expliquez le mécanisme d'attention à un collègue non-technique
Pourquoi les LLMs hallucinent-ils ?
Qu'est-ce que la fenêtre de contexte d'un LLM ?