Pré-entraînement
Le pré-entraînement des grands modèles de langage (LLM) est une étape fondamentale dans la création des grands modèles de langage modernes, qui consiste à les entraîner sur de vastes et divers corpus de textes non étiquetés. Ce processus permet aux modèles d'assimiler des schémas linguistiques généraux, des connaissances sur le monde et des relations sémantiques, formant ce que l'on appelle un modèle de fondation (foundation model), qui peut ensuite être adapté pour résoudre des tâches spécifiques.
Qu'est-ce que le pré-entraînement ?
Le pré-entraînement (pre-training) est la phase initiale de l'entraînement au cours de laquelle un LLM est exposé à des ensembles de données textuelles à grande échelle en utilisant des méthodes d' apprentissage auto-supervisé (self-supervised learning). Cela signifie que les signaux d'apprentissage (étiquettes) sont générés à partir des données elles-mêmes, sans nécessiter d'étiquetage manuel par des humains.
L'objectif principal de cette étape est de prédire des parties cachées ou futures du texte. Selon l'architecture, deux tâches principales sont utilisées :
- Modélisation de langage causale (Causal Language Modeling, CLM) : Le modèle apprend à prédire le mot (jeton) suivant dans une séquence en se basant sur tous les précédents. Cette approche est à la base des modèles génératifs, tels que GPT.
- Modélisation de langage masqué (Masked Language Modeling, MLM) : Le modèle apprend à restaurer des mots masqués (cachés) de manière aléatoire dans un texte, en utilisant le contexte bidirectionnel qui les entoure (les mots à gauche et à droite). Cette méthode est utilisée dans des modèles tels que BERT.
Grâce à ces tâches, le modèle est contraint d'apprendre la syntaxe, la sémantique et les connaissances factuelles sur le monde pour réussir à faire des prédictions.
Données pour le pré-entraînement
L'efficacité du pré-entraînement dépend en grande partie de la qualité et de la diversité des données d'entraînement. Les principales sources suivantes sont utilisées :
- Pages Web : Des ensembles de données tels que Common Crawl et C4 offrent un large éventail de sujets, de styles et de langues, représentant un « instantané » d'Internet.
- Livres : Des corpus comme BookCorpus et The Pile fournissent un texte structuré et cohérent, utile pour comprendre les dépendances à long terme et les narrations.
- Données conversationnelles : Des données provenant de forums (par exemple, Reddit) et de réseaux sociaux, qui aident les modèles à maîtriser le langage informel et les schémas de dialogue.
- Données spécialisées : Des articles scientifiques (d'arXiv), du code de programmation (de GitHub et The Stack) ou des textes multilingues pour améliorer les capacités spécifiques du modèle.
Exemples de distribution des données
Différents modèles utilisent des proportions variables de sources de données, ce qui influe sur leurs capacités finales :
- GPT-3 (175 milliards de paramètres) : 16 % de livres, 84 % de pages Web.
- PaLM (540 milliards de paramètres) : 5 % de livres, 14 % de pages Web, 50 % de données conversationnelles, 31 % autres.
- LLaMA (65 milliards de paramètres) : 5 % de livres, 2 % de pages Web, 87 % de données conversationnelles.
Ces distributions montrent que le choix des données est une décision stratégique qui varie en fonction des objectifs du modèle.
Corpus fréquemment utilisés
| Corpus | Taille | Source | Dernière mise à jour |
|---|---|---|---|
| BookCorpus | 5 Go | Livres | Déc-2015 |
| Gutenberg | - | Livres | Déc-2021 |
| C4 | 800 Go | Common Crawl | Avr-2019 |
| CC-Stories-R | 31 Go | Common Crawl | Sep-2019 |
| CC-NEWS | 78 Go | Common Crawl | Fév-2019 |
| REALNEWS | 120 Go | Common Crawl | Avr-2019 |
| OpenWebText | 38 Go | Liens Reddit | Mar-2023 |
| Pushshift.io | 2 To | Liens Reddit | Mar-2023 |
| Wikipedia | 21 Go | Wikipédia | Mar-2023 |
| The Pile | 800 Go | Autres | Déc-2020 |
| ROOTS | 1.6 To | Autres | Juin-2022 |
Techniques d'entraînement
Le pré-entraînement des LLM nécessite des ressources de calcul considérables. Pour gérer ce processus, les techniques suivantes sont appliquées :
- Apprentissage distribué : Utilisation de plusieurs GPU ou TPU pour le traitement en parallèle.
- Précision mixte (Mixed Precision) : Utilisation de formats numériques de moindre précision (par exemple, 16 bits au lieu de 32 bits) pour accélérer les calculs et réduire l'utilisation de la mémoire.
- Gradient Checkpointing : Technique permettant d'économiser de la mémoire en recalculant certaines activations intermédiaires plutôt qu'en les stockant.
- Parallélisme de modèle (Model Parallelism) : Répartition du modèle lui-même sur plusieurs dispositifs.
L'entraînement d'un modèle tel que GPT-3 peut prendre plusieurs mois sur des milliers de GPU.
Lois d'échelle
Des recherches, comme celles d'OpenAI (Kaplan et al., 2020), ont montré que les performances des modèles de langage s'améliorent de manière prévisible avec l'augmentation de trois facteurs :
- La taille du modèle (nombre de paramètres).
- Le volume des données.
- Les ressources de calcul.
Ces relations empiriques, connues sous le nom de lois d'échelle (scaling laws), servent de guide aux développeurs lors de la conception et de l'entraînement de modèles plus grands et plus puissants, permettant une allocation optimale du budget de calcul.
Défis et réalisations
- Mise à l'échelle : La principale réussite du pré-entraînement est la capacité à équilibrer la taille du modèle, des données et des calculs pour atteindre des performances optimales.
- Qualité des données : Assurer la propreté, la diversité et l'absence de biais dans les données d'entraînement est un défi majeur.
- Efficacité : Développer des méthodes pour réduire les coûts de calcul, comme le pré-entraînement continu ou des architectures plus efficaces.
- Multilinguisme : Créer des modèles capables de traiter efficacement plusieurs langues nécessite une sélection et un équilibrage minutieux des données.
Voir aussi
- Grands modèles de langage
- BERT
- GPT