AI Sources
Fuente primariaIAVídeo··10 min de lectura

Construire un LLM : le cours de Stanford qui démonte les illusions

Yann Dubois (Stanford) déroule en 1h44 tout ce qui compte vraiment pour entraîner un grand modèle de langage — et l'architecture n'en fait pas partie.

Fuente : Yann Dubois — Stanford Online · YouTubeVer el original

En breve

Dans ce cours invité de CS229, Yann Dubois passe en revue les cinq briques d'un LLM (architecture, loss, données, évaluation, systèmes) et explique pourquoi les trois dernières font tout le travail. Il détaille le pré-entraînement, les tokenizers, les scaling laws, le post-training (SFT, RLHF, DPO) et chiffre le coût réel d'un modèle comme Llama 3 400B : environ 75 millions de dollars.

🍺 Versión de barra

Tu croyais que faire un ChatGPT, c'était inventer une architecture de génie ? Non : c'est nettoyer un pétaoctet de pages web pourries, choisir combien de tokens par paramètre, et prier pour que tes 16 000 GPU ne soient pas à l'arrêt la moitié du temps. Le monde académique passe son temps sur les fonctions d'activation, l'industrie passe le sien sur des filtres anti-spam et des tableurs de coûts — et devine qui a sorti ChatGPT. Ce cours est un des rares endroits où quelqu'un dit tout haut que la sauce secrète, c'est la plomberie. 🔧

Para recordar

  1. 1

    Sur les cinq composants d'un LLM, Yann Dubois écarte volontairement l'architecture : en pratique, ce sont les données, l'évaluation et les systèmes qui déterminent la performance.

  2. 2

    Un tokenizer (type byte-pair encoding) façonne tout le reste : GPT-4 a notamment changé sa façon de tokeniser le code, et la mauvaise tokenisation des nombres explique une partie des faiblesses en maths.

  3. 3

    La perplexité est passée d'environ 70 à moins de 10 tokens entre 2017 et 2023, mais elle n'est plus utilisée en benchmark académique car elle dépend du tokenizer.

  4. 4

    Les corpus sont passés de 150 milliards de tokens à 15 000 milliards ; nettoyer le web (extraction HTML, déduplication, filtrage heuristique puis par modèle) constitue l'essentiel du travail réel.

  5. 5

    Les scaling laws permettent d'entraîner 27 jours le bon modèle plutôt que 30 modèles un jour chacun : Chinchilla recommande 20 tokens par paramètre, ~150 si l'on intègre le coût d'inférence.

  6. 6

    Llama 3 400B : 3,8e25 FLOPs (juste sous le seuil de 1e26 de l'executive order Biden), 16 000 H100, ~70 jours, ~52 M$ de location GPU, ~75 M$ au total, 4 000 tonnes de CO2.

  7. 7

    Côté post-training, le SFT n'apporte presque rien au-delà de 2 000 exemples : il ne transmet pas de connaissance, il sélectionne un type d'utilisateur déjà présent dans le pré-entraînement.

  8. 8

    Les humains ne sont d'accord entre eux que ~66 % du temps sur une préférence binaire ; les LLM juges coûtent environ 50 fois moins cher et corrèlent mieux avec le mode des annotateurs.

Capítulos

0:56

Les cinq composants d'un LLM

Architecture, loss, données, évaluation, systèmes : Dubois annonce qu'il ignorera l'architecture au profit des trois derniers, qui font la différence en pratique.

3:42

Rappel : qu'est-ce qu'un modèle de langage

Distribution de probabilité sur des séquences, décomposition auto-régressive par la règle des probabilités en chaîne, génération par échantillonnage.

9:30

La loss : cross-entropy et log-vraisemblance

Prédire le token suivant est une tâche de classification classique ; minimiser la cross-entropy revient à maximiser la vraisemblance du texte.

10:45

Tokenizers : byte-pair encoding

Pourquoi ni les mots ni les caractères ne conviennent, comment fonctionne le BPE, et pourquoi la tokenisation des nombres et du code a un impact réel sur les capacités du modèle.

19:06

Évaluation et perplexité

Définition intuitive de la perplexité (nombre de tokens entre lesquels le modèle hésite), sa chute de 70 à moins de 10 entre 2017 et 2023, et ses limites en benchmark.

26:04

Les pièges de l'évaluation

Llama 65B obtient 63,7 sur HELM et 48,8 ailleurs sur le même MMLU ; question de la contamination train/test et astuces pour la détecter.

28:36

Les données : nettoyer un pétaoctet

Common Crawl, extraction HTML, filtrage, déduplication, filtrage par modèle entraîné sur les références Wikipédia, pondération par domaine.

38:51

Les ordres de grandeur des corpus

De 150 milliards à 15 000 milliards de tokens ; composition du Pile ; Llama 2 à 2T, Llama 3 à 15T, GPT-4 estimé autour de 13T d'après les fuites.

40:55

Scaling laws

Plus de données et de paramètres améliorent toujours la performance de façon prédictible en log-log ; l'overfitting ne se produit pas à cette échelle.

44:57

Utiliser les scaling laws pour décider

Nouveau pipeline : tuner sur de petits modèles, extrapoler, entraîner le modèle final plus longtemps. Exemple Transformers contre LSTM.

49:47

Chinchilla et l'allocation optimale

Les courbes iso-FLOPs donnent 20 tokens par paramètre ; en intégrant le coût d'inférence, la pratique monte vers 150.

55:14

Le coût réel de Llama 3 400B

3,8e25 FLOPs, 16 000 H100, 70 jours, environ 75 millions de dollars et 4 000 tonnes de CO2.

59:56

Post-training : pourquoi aligner

Un modèle purement pré-entraîné répond à une question par une autre question ; l'alignement en fait un assistant.

1:02:22

Supervised fine-tuning et Alpaca

Fine-tuning sur des réponses humaines, génération synthétique de 52 000 exemples pour Alpaca, et le constat que 2 000 exemples suffisent presque.

1:09:51

RLHF : reward model et PPO

Les trois limites du SFT (plafond humain, hallucination, coût), le modèle de Bradley-Terry et l'optimisation par PPO utilisée par ChatGPT.

1:19:36

DPO : la simplification

Maximiser la réponse préférée, minimiser l'autre, sans reinforcement learning, avec des optima équivalents à PPO.

1:23:41

Les limites des annotateurs humains

Lenteur, coût, biais de longueur, éthique du crowdsourcing, et 66 % d'accord seulement entre annotateurs.

1:27:38

Évaluer les modèles alignés

Chatbot Arena, AlpacaEval, 98 % de corrélation pour moins de 10 dollars, et le contrôle du biais de verbosité.

1:37:05

Systèmes : GPU, précision mixte, fusion d'opérateurs

Pourquoi les GPU restent inactifs, l'intérêt du 16 bits pour le calcul et du 32 bits pour les poids, et torch.compile qui double la vitesse.

Les cinq briques, et les trois qui comptent

Yann Dubois ouvre sur une liste : architecture, loss et algorithme d'entraînement, données, évaluation, systèmes. Puis il annonce qu'il ne parlera pas de l'architecture. D'abord parce que la littérature sur les Transformers est pléthorique, ensuite parce que ce n'est pas là que se joue la partie.

Son constat est frontal et vaut confession personnelle : le monde académique — dont il fait partie — se concentre sur les architectures et les fonctions de perte parce que c'est intellectuellement plaisant. L'industrie, elle, se concentre sur les données, l'évaluation et les systèmes. Et c'est l'industrie qui a raison.

Ce cadrage revient plus tard sous la forme de la « bitter lesson » de Richard Sutton : si la compute augmente mécaniquement et si les scaling laws tiennent, seule compte la capacité d'une architecture à absorber du calcul. Les petites variations d'activation ne déplacent que l'intercept de la courbe — autant attendre la génération de GPU suivante.

Pré-entraînement : le tokenizer, ce mal-aimé

Le rappel théorique est rapide : un modèle de langage est une distribution de probabilité sur des séquences de tokens, décomposée par la règle des probabilités en chaîne. L'entraînement se réduit à une classification du token suivant avec une cross-entropy, équivalente à maximiser la log-vraisemblance du texte.

Le vrai sujet, c'est le tokenizer. Les mots ne résistent ni aux fautes de frappe ni au thaï ; les caractères produisent des séquences trop longues pour une complexité quadratique. Le byte-pair encoding fusionne itérativement les paires les plus fréquentes, pour aboutir à des tokens de trois à quatre lettres en moyenne.

Dubois insiste sur les conséquences concrètes. Les nombres mal tokenisés — « 327 » comme token unique — empêchent le modèle de raisonner par composition en arithmétique. GPT-4 a changé sa tokenisation du code, notamment pour les quatre espaces d'indentation Python, qui étaient traités bizarrement. Beaucoup de chercheurs aimeraient s'en débarrasser, mais il faudrait d'abord des architectures qui ne scalent pas quadratiquement avec la longueur.

Les données : « tout internet » n'existe pas

Common Crawl agrège aujourd'hui environ 250 milliards de pages, soit un pétaoctet. Dubois affiche une page au hasard : du HTML, une phrase tronquée sur des serveurs « high performance », rien qui ressemble à Wikipédia. « Internet propre » est une formule creuse.

Le pipeline réel enchaîne extraction du texte depuis le HTML (les maths sont un cauchemar), filtrage des contenus indésirables via des listes noires interminables, déduplication à l'échelle, filtrage heuristique, puis filtrage par modèle. L'astuce élégante : entraîner un classifieur à reconnaître les pages citées en référence par Wikipédia, et sur-pondérer ce qui leur ressemble.

Vient ensuite la pondération par domaine — plus de code car cela semble aider le raisonnement, plus de livres, moins de divertissement — puis un overfitting final sur des données de très haute qualité pendant la décroissance du learning rate.

Les ordres de grandeur : de 150 milliards de tokens il y a quelques années à 15 000 milliards pour Llama 3. Sur une équipe Llama d'environ 70 personnes, Dubois estime qu'une quinzaine travaille sur les données. Le secret industriel s'explique autant par la concurrence que par le risque juridique : personne ne veut admettre avoir entraîné sur des livres.

Scaling laws et facture : 75 millions de dollars

Les scaling laws inversent la méthode. L'ancien pipeline consistait à entraîner trente modèles un jour chacun et à garder le meilleur — donc à mettre en production un modèle entraîné un seul jour. Le nouveau : trouver une recette de scaling, tuner les hyperparamètres sur de petits modèles pendant trois jours, extrapoler, puis entraîner le modèle final vingt-sept jours.

Chinchilla a formalisé l'allocation optimale : 20 tokens par paramètre pour minimiser la loss à compute constant. Mais les entreprises doivent aussi payer l'inférence, ce qui pousse vers des modèles plus petits entraînés plus longtemps — environ 150 tokens par paramètre pour les modèles réellement déployés.

Le calcul de coin de table sur Llama 3 400B est le moment le plus concret du cours. 15,6 trillions de tokens, 3,8e25 FLOPs — soit deux fois moins que le seuil de 1e26 de l'executive order Biden, ce qui n'est probablement pas un hasard. 16 000 H100, environ 70 jours, 26 millions d'heures GPU (Meta annonce 30 millions), ~52 M$ de location, ~25 M$ de salaires, total autour de 75 M$.

Sur le climat, Dubois relativise : environ 4 000 tonnes de CO2 équivalent, soit 2 000 allers-retours JFK–Londres. Énorme dans l'absolu, marginal à l'échelle du secteur — jusqu'à GPT-6 ou GPT-7, où un facteur 100 changerait la donne. Et aucun signe empirique de plateau dans les courbes, à ce jour.

Post-training : de la complétion à l'assistant

GPT-3 à qui l'on demande « explique l'alunissage à un enfant de six ans » répond « explique la théorie de la gravité à un enfant de six ans » : sur internet, les questions se suivent, les réponses viennent rarement. Le post-training sert à corriger ce comportement.

Le supervised fine-tuning applique la même loss que le pré-entraînement, sur des réponses écrites par des humains. Surprise contre-intuitive : passer de 2 000 à 32 000 exemples n'apporte presque rien. Le modèle n'apprend rien de nouveau, il apprend à privilégier un type d'utilisateur déjà modélisé. Dubois rappelle Alpaca : 175 paires humaines, 52 000 paires générées par text-davinci-003, un fine-tuning de LLaMA 7B.

Le RLHF corrige trois défauts du SFT : le plafond des capacités humaines de rédaction, le coût, et surtout l'hallucination — si l'humain cite une référence que le modèle n'a jamais vue, on lui apprend littéralement à inventer des références plausibles. On passe donc du clonage de comportement à la maximisation de préférence.

PPO exige un reward model puis de la RL, avec son cortège de clipping et de rollouts mal documentés. DPO, proposé à Stanford, réduit tout cela à du maximum likelihood : maximiser la réponse préférée, minimiser l'autre, avec des garanties d'équivalence des optima globaux. Performances comparables, et c'est aujourd'hui le standard open source.

Évaluer l'ouvert, et faire tourner la machine

Après alignement, la perplexité ne veut plus rien dire : le modèle n'est plus une distribution mais une politique optimisée pour produire une sortie. Reste Chatbot Arena, où des utilisateurs anonymes comparent deux modèles à l'aveugle — fiable, mais lent, coûteux et biaisé vers des questions techniques.

AlpacaEval remplace l'humain par GPT-4 comme juge : 98 % de corrélation avec Chatbot Arena, moins de trois minutes et moins de 10 dollars par évaluation. Le biais de longueur reste le point noir : le même GPT-4 passe de 50 % à 64,4 % de win rate si on lui demande d'être verbeux, et tombe à 20 % si on lui demande d'être concis. D'où un contrôle statistique de la longueur.

Sur les données humaines, les chiffres font mal : environ 300 $ pour 1 000 comparaisons, et seulement 66 % d'accord entre annotateurs sur une tâche binaire — y compris entre les cinq auteurs du papier, après trois heures de discussion sur les critères. Les LLM juges sont 50 fois moins chers et plus proches du mode humain, parce qu'ils ont moins de variance.

La partie systèmes, expédiée en cinq minutes, retient deux idées. La précision mixte : poids stockés en 32 bits, calculs en 16 bits, parce qu'en deep learning la décimale n'a aucune importance. Et l'operator fusion : chaque ligne PyTorch fait un aller-retour vers la mémoire globale du GPU, d'où l'intérêt de `torch.compile`, qui réécrit le code et double environ la vitesse. Même Meta ne dépasserait pas 45 % d'utilisation théorique des FLOPs.

Overfitting doesn't happen with large language models.
Don't spend time over-complicating. Do the simple things, do it well, scale them.
If you've ever been annoyed at ChatGPT answering you super long sentences, this is because of RLHF.

Por qué importa

Ce cours est l'un des rares panoramas complets et chiffrés du pipeline réel d'un LLM, donné par quelqu'un qui a construit à la fois des modèles (Alpaca) et des outils d'évaluation (AlpacaEval, AlpacaFarm). Sa valeur tient moins aux explications techniques, disponibles ailleurs, qu'à la hiérarchie qu'il impose : l'architecture est une distraction, la donnée et l'infrastructure sont la discipline. C'est une correction utile au récit médiatique qui attribue chaque saut de performance à une percée conceptuelle, alors qu'il s'agit le plus souvent de filtrage, de pondération et d'optimisation matérielle. On notera toutefois que le cours date de 2024 : il précède la vague des modèles de raisonnement entraînés par RL sur des tâches vérifiables, qui redonne du poids à l'algorithme d'entraînement — et que la phrase « aucun plateau empirique » mériterait aujourd'hui d'être réexaminée. La partie sur l'évaluation reste, elle, d'une actualité brûlante : tant qu'on juge des modèles ouverts avec d'autres modèles biaisés vers la verbosité, on optimise au moins autant la forme que le fond.

#llm#scaling laws#rlhf#données#stanford#gpu
Fuente original
Stanford CS229 I Machine Learning I Building Large Language Models (LLMs)
Yann Dubois — Stanford Online
Abrir el vídeo