Entraînement des grands modèles de langage

From Systems analysis wiki
Jump to navigation Jump to search

L'entraînement des grands modèles de langage (LLM) est un processus complexe et gourmand en ressources, au cours duquel un réseau de neurones avec des milliards de paramètres est entraîné sur d'immenses corpus de données textuelles pour comprendre et générer le langage humain. Ce processus est la pierre angulaire de la création des LLM modernes, tels que GPT, BERT, Claude et Gemini.

Fondements théoriques de l'entraînement

Architecture Transformer et mécanisme d'attention

Les LLM modernes reposent presque entièrement sur l'architecture Transformer, qui permet de traiter efficacement de longues séquences de texte. Le composant clé est le mécanisme d'auto-attention (self-attention), qui donne au modèle la capacité de pondérer l'importance de chaque mot dans le contexte de l'ensemble de la séquence. Cela permet de capturer les dépendances à longue portée et de traiter les données en parallèle, ce qui accélère considérablement l'entraînement par rapport aux réseaux de neurones récurrents (RNN).

Tâche principale : prédiction du token suivant

La tâche fondamentale sur laquelle la plupart des LLM sont entraînés (en particulier les modèles génératifs comme GPT) est la modélisation du langage. Le modèle apprend à prédire le token suivant (un mot ou une partie de mot) dans une séquence, en se basant sur tous les tokens précédents. Formellement, le modèle maximise la probabilité de la séquence P(X) en la décomposant selon la règle de la chaîne :

P(X)=t=1TP(xt|x1,,xt1)

Pour l'entraînement, on utilise la fonction de perte d'entropie croisée, qui mesure l'écart entre la distribution de probabilité prédite par le modèle et le token suivant réel.

Étapes de l'entraînement

Le processus d'entraînement d'un LLM se compose généralement de deux étapes principales.

1. Pré-entraînement (Pre-training)

C'est l'étape la plus vaste et la plus coûteuse en termes de calcul, au cours de laquelle le modèle acquiert ses connaissances fondamentales sur le langage et le monde.

  • Données : Le modèle est entraîné sur de gigantesques corpus de texte non étiqueté, dont le volume peut atteindre des milliers de milliards de tokens. Les sources de données incluent des pages web (par exemple, Common Crawl), Wikipédia, des bibliothèques de livres numériques (Google Books) et des dépôts de code (GitHub).
  • Objectif : Former des représentations linguistiques universelles. Le modèle apprend la grammaire, la syntaxe, des faits et même certains éléments de raisonnement logique.
  • Processus : Il s'agit d'un apprentissage auto-supervisé (self-supervised learning), où les étiquettes (les tokens suivants corrects) sont extraites des données elles-mêmes. L'entraînement peut durer des semaines ou des mois sur des clusters de milliers de GPU ou de TPU.

2. Affinage (Fine-tuning) et alignement (Alignment)

Après le pré-entraînement, le modèle « brut » doit être adapté à des tâches spécifiques et aligné sur les attentes humaines.

  • Affinage supervisé (Supervised Fine-tuning) : Le modèle est affiné sur un ensemble de données étiquetées de petite taille mais de haute qualité (par exemple, des paires « instruction-réponse ») pour apprendre à suivre des consignes.
  • Apprentissage par renforcement à partir de retours humains (RLHF) : C'est une méthode clé pour l'alignement. Le processus comprend plusieurs étapes :
    1. Des annotateurs humains classent plusieurs réponses du modèle à une même requête, de la meilleure à la pire.
    2. Sur la base de ces données, un modèle de récompense (reward model) est entraîné pour prédire quelle réponse un humain préférerait.
    3. Le LLM principal est ensuite affiné à l'aide d'algorithmes d'apprentissage par renforcement (par exemple, PPO), en utilisant le modèle de récompense comme source de signal pour générer des réponses plus utiles, honnêtes et sûres.

Cette approche en deux étapes (pré-entraînement + affinage/alignement) est devenue la norme dans l'industrie, permettant de créer des modèles de langage à la fois puissants et contrôlables.

Aspects pratiques

Données : collecte, échelle et préparation

La qualité et l'échelle des données sont des facteurs déterminants pour le succès d'un LLM.

  • Collecte : Diverses sources sont utilisées pour assurer une large couverture des sujets, des styles et des langues.
  • Nettoyage et filtrage : Une étape cruciale qui inclut la suppression des doublons, le filtrage des contenus de faible qualité ou toxiques, et l'équilibrage des sources pour que le modèle ne sur-apprenne pas un langage Internet spécifique.
  • Tokenisation : Le texte est divisé en tokens (mots ou sous-mots) à l'aide d'algorithmes comme BPE ou SentencePiece. Le choix du tokeniseur et la taille du vocabulaire influencent directement l'efficacité et la qualité du modèle.

Entraînement distribué et ressources de calcul

L'entraînement de modèles comptant des centaines de milliards ou des milliers de milliards de paramètres nécessite des ressources de calcul colossales et l'utilisation de techniques d'entraînement distribué.

  • Matériel : Des supercalculateurs composés de milliers de GPU (par exemple, NVIDIA A100/H100) ou de TPU (Google) sont utilisés, connectés par des réseaux à haut débit (par exemple, InfiniBand).
  • Parallélisme : Des schémas de parallélisme complexes sont utilisés pour distribuer les calculs :
    • Parallélisme de données (Data Parallelism) : Chaque copie du modèle sur son propre GPU traite une partie des données.
    • Parallélisme de modèle (Model Parallelism) : Le modèle lui-même est divisé en plusieurs parties, qui sont placées sur différents GPU. Cela inclut le parallélisme tensoriel (division des matrices) et le parallélisme en pipeline (division des couches).
    • ZeRO (Zero Redundancy Optimizer) : Une technologie développée par Microsoft DeepSpeed qui élimine la redondance des paramètres, des gradients et des états de l'optimiseur, permettant d'entraîner des modèles beaucoup plus grands.
  • Frameworks : Pour mettre en œuvre ces schémas complexes, des frameworks spécialisés sont utilisés, tels que DeepSpeed, Megatron-LM et Hugging Face Accelerate.

Évolution historique des approches

  • Années 1980-1990 : Modèles de langage statistiques basés sur les n-grammes.
  • Années 2001-2010 : Apparition des modèles de langage neuronaux basés sur les RNN et les LSTM, qui capturaient mieux les dépendances à long terme.
  • 2017 : Publication de l'article « Attention Is All You Need » et apparition de l'architecture Transformer, qui a rendu possible l'entraînement en parallèle.
  • 2018-2019 : Apparition des premiers transformeurs pré-entraînés — GPT-1 et BERT, qui ont consolidé le paradigme « pre-training + fine-tuning ».
  • 2020 : La sortie de GPT-3 a marqué une avancée majeure en termes d'échelle et l'émergence de capacités few-shot.
  • 2022 : Lancement de ChatGPT et popularisation du RLHF comme méthode clé pour créer des assistants IA utiles et sûrs.
  • 2023-présent : Ère des modèles multimodaux (GPT-4, Gemini), course à l'augmentation de la fenêtre de contexte et développement des capacités d'agent.

Littérature

  • Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL.
  • Brown, T. et al. (2020). Language Models are Few-Shot Learners. NIPS.
  • Ouyang, L. et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155.

Liens