0% ont trouvé ce document utile (0 vote)
25 vues90 pages

LLM Training

Le document traite des techniques d'entraînement des grands modèles de langage (LLMs), en mettant l'accent sur les étapes allant du pré-entraînement à l'alignement post-entraînement. Il explore les défis liés à la collecte de données, au prétraitement, à l'optimisation des coûts de calcul, ainsi qu'à l'importance de l'alignement éthique des modèles. Les méthodes comme le fine-tuning supervisé et le renforcement par retour humain (RLHF) sont également discutées pour améliorer les performances des LLMs.

Transféré par

S2Bros
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues90 pages

LLM Training

Le document traite des techniques d'entraînement des grands modèles de langage (LLMs), en mettant l'accent sur les étapes allant du pré-entraînement à l'alignement post-entraînement. Il explore les défis liés à la collecte de données, au prétraitement, à l'optimisation des coûts de calcul, ainsi qu'à l'importance de l'alignement éthique des modèles. Les méthodes comme le fine-tuning supervisé et le renforcement par retour humain (RLHF) sont également discutées pour améliorer les performances des LLMs.

Transféré par

S2Bros
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 90

Techniques d’entraînement des

grands modèles de langage (LLMs)


Julien Romero

CSC8608 1
Introduction

CSC8608 2
Contexte
Les Large Language Models (LLMs)
ont atteint des capacités
impressionnantes grâce à des jeux
de données massifs et des
techniques d’entraînement
sophistiquées.

https://informationisbeautiful.net/vi
sualizations/the-rise-of-generative-ai
-large-language-models-llms-like-ch
atgpt/

https://docs.google.com/spreadsheet
s/d/1kc262HZSMAWI6FVsh0zJwbB
-ooYvzhCHaHcNUiA0_hY/edit?gid
=1158069878#gid=1158069878

CSC8608 3
Objectifs du cours
● Explorer en détail les étapes d’entraînement des LLMs modernes, du pre-training
à l’alignement post-training, en passant par l’évaluation et le finetuning efficace en
paramètres.
● Nous nous appuierons sur les rapports techniques de LLaMA 3 (Meta, 2024),
Qwen (Alibaba, 2023-2025), Mistral 7B (2023), Claude 3 (Anthropic, 2024),
Google Gemini 1.5 (2024), DeepSeek-VL (2024) et autres, afin d’illustrer les
tendances actuelles.
○ Les LLMs actuels résultent de recettes d’entraînement complexes, souvent détaillées dans de longs
rapports (par ex. le papier LLaMA 3 fait 92 pages).

CSC8608 4
Plan
Évaluation
Données alignement
pre-training

Données brutes Preprocessing Pre-training Post-training

Évaluation
post-training

Fine-tuning

CSC8608 5
Pre-training

CSC8608 6
Aperçu
Définition : Le pré-entraînement consiste à entraîner un modèle de langage de grande
taille sur un corpus texte extrêmement volumineux de manière auto-supervisée (par
prédiction de mots masqués ou suivants).

Objectif : Apprendre une représentation linguistique générale du monde. Après le


pré-entraînement, le LLM est un modèle de fondation (foundation model) capable de
générer du texte cohérent mais pas encore aligné sur des instructions humaines.

Le but est de minimiser la perplexité d’un texte (voir l’évaluation des modèles)

CSC8608 7
Aperçu
Architecture de base :
● Presque tous les LLMs utilisent l’architecture Transformer (décoder auto-régressif)
introduite en 2017. LLaMA 3 confirme que la force d’un LLM provient moins de
nouveautés architecturales que d’un énorme volume de données de qualité et d’un
entraînement itératif soigné.
Enjeux :
● Rassembler des données variées
● Filtrer les contenus bruités
● Gérer la taille du vocabulaire et la longueur de contexte (par ex., la fenêtre contextuelle
est passée de 2k tokens à 100k+ dans les modèles 2024)
● Optimiser les coûts de calcul.

CSC8608 8
Corpus à l’échelle du web
Les LLMs modernes sont entraînés sur des corpus colossaux (texte web, livres, articles
scientifiques, code source, etc.).

Cosmos 1.0

Premier Transformer

CSC8608 9
Corpus à l’échelle du web

CSC8608 10
Les datasets

CSC8608 11
Diversité linguistique et thématique
● Un corpus diversifié est crucial pour la robustesse.
● Mistral 7B (2023) a été entraîné sur un dataset vaste et diversifié, couvrant de
multiples domaines et langues, ce qui lui permet d’exceller sur des tâches variées
malgré sa plus petite taille.
● LLaMA 3 s’est focalisé sur la collecte de texte web de haute qualité dans plusieurs
langues et domaines

Sources de données : Common Crawl, Wikipedia, GitHub, arXiv, livres (parfois


illégalement), …

CSC8608 12
Diversité linguistique et thématique

CSC8608 13
Les langues dans RedPajama-v2

CSC8608 14
Les langues dans FineWeb 2 (hors anglais)

CSC8608 15
Données spécialisées
En plus du texte générique, les équipes intègrent des données spécifiques (code, math,
données scientifiques) pour doter le LLM de compétences particulières (ex.
programmation, raisonnement arithmétique).

Par exemple, LLaMA 3 a construit des pipelines dédiés pour extraire du contenu de
pages web centrées sur le code et les mathématiques.

CSC8608 16
Type de données dans LLaMa 3

CSC8608 17
Pré-processing et filtrage des données
● Majeur partie du travail !
● Nettoyage massif : Les données web brutes contiennent du bruit (langue
incorrecte, spam, contenu dupliqué, toxique…). Une étape cruciale est le filtrage.
Des filtres automatisés détectent et écartent les pages de faible qualité ou non
pertinentes.
○ LLaMa 3 utilise un parser HTML sur mesure pour extraire du texte de qualité
○ Attention particulière au code et formules mathématiques

CSC8608 18
Pré-processing et filtrage des données
Exemples de filtres :

● Informations personnelles et dangereuses : LLaMa 3 a implémenté des


classifieurs pour juger si les données contiennent des données sensibles ou
inappropriées
● Classifieurs de qualité : LLaMa 3 a expérimenté des classifieurs entraînés pour
évaluer la qualité des extraits textuels et ne conserver que les tokens jugés utiles.
De même, OpenAI avait filtré Common Crawl en utilisant des modèles évaluant
la « qualité » ou la « probabilité d’être issu d’un livre ».

CSC8608 19
Pré-processing et filtrage des données
Exemples de filtres :

● Déduplication : Pour éviter d’apprendre plusieurs fois les mêmes données (ce qui
fausse l’évaluation et peut overfit), on applique des algorithmes de déduplication à
grande échelle. Exemple: le corpus de GPT-3 a été dédupliqué grâce à des n-grams,
et LLaMA 2 a publié ses critères d’exclusion (URLs bannies, MinHash, document
and line level, n-grams).
● Utilisation d’heuristiques : Éviter les répétitions de mots, n-grams, vocabulaire
inapproprié, calculs d’outliers, …

CSC8608 20
Taille du corpus
● Échelle vs qualité : Trouver le bon équilibre entre la taille du modèle et le volume
de données est crucial. Les lois de scaling suggèrent qu’à budget de calcul fixé, il
vaut mieux un modèle moins grand mais entraîné sur plus de tokens. (Ex: le
modèle Chinchilla 70B a surpassé un modèle 175B sous-entraîné en étant entraîné
plus longtemps).
● Règle empirique : La loi de Chinchilla propose ~20 à 30 tokens par paramètre du
modèle pour un entraînement optimal. En pratique, LLaMA 1 (65B) ~1.0T tokens
(≈15 tokens/par.), LLaMA 2 (70B) ~2.0T tokens (≈30 tokens/par.). Les modèles
2024 tendent à augmenter encore ce ratio, signe qu’on n’a pas encore saturé la soif
de données.

CSC8608 21
Chinchilla IsoFLOPs - 2022
Pour un budget de FLOPs donné, comment trouver le meilleur compromi entre taille
du modèle et nombre de tokens d’entraînement ?

CSC8608 22
LLaMa 3 IsoFLOPs - 2024

CSC8608 23
Scheduling
● Scheduling du parcours de données : On entraîne généralement en epochs sur le
corpus.
○ Certaines équipes font du curriculum learning implicite : par ex. commencer l’entraînement sur des
séquences plus courtes puis augmenter la longueur de contexte progressivement.
○ D’autres appliquent un sampling non uniforme : LLaMA 3 a sur-échantillonné les données de haute
qualité (code, math) en fin de pré-entraînement pour booster les performances sur ces domaines
● Taux d’apprentissage (learning rate) : On utilise un learning rate élevé au début
(après warmup), puis une décroissance progressive souvent de type cosine decay.
LLaMA 3 a employé cosine annealing sur la fin, conjointement à l’upsampling de
certains types de données.
○ Stabilité de l’entraînement est un défi
○ Avec des contextes de plus en plus longs (ex: 100k tokens, comme Gemini 1.5 ou Claude 2), la durée
effective d’un pas de gradient augmente et nécessite aussi d’ajuster ces schedules.

CSC8608 24
Augmentation de données synthétiques
On a déjà beaucoup de texte, mais quelques approches existent pour augmenter le
dataset de pré-entraînement avec des données synthétiques :

● self-play génératif : faire produire des textes par un modèle plus petit pour
augmenter le corpus
● traduction automatique pour ajouter des langues.

Ces techniques restent marginales en 2024 pour le pré-entraînement (plus utilisées en


post-entraînement).

CSC8608 25
Gestion du contexte long
Pour augmenter la fenêtre contextuelle sans exploser le coût quadratique de l’attention,
des astuces sont utilisées.

● Mistral 7B emploie une attention fenêtrée glissante (Sliding Window Attention)


pour pouvoir traiter des séquences arbitrairement longues, en limitant l'attention à
une fenêtre locale glissante. Cela lui permet de gérer de longs inputs avec un coût
réduit.
● D’autres modèles utilisent des positional embeddings avancés (RoPE, ALiBi) pour
extrapoler à de longues séquences.

CSC8608 26
Tokenisation optimisée
Le choix du tokenizer (BPE, Unigram) et du vocabulaire (par ex. 32k vs 100k tokens)
impacte l’entraînement. Les modèles multilingues ont des vocabulaires plus larges pour
couvrir différents scripts.

● Qwen utilise ~150k tokens dont des tokens de contrôle spéciaux.


● Les modèles code intègrent des tokens spéciaux pour les symboles de
programmation.
● LLaMa = 128k tokens = 100k + 28k pour le support du non-anglais

CSC8608 27
Coût de calcul
Pré-entraîner un LLM coûte des millions de dollars de calcul GPU. Des astuces comme
la précision mixte (FP16/BF16) et le checkpointing d’activations (recalculer à la
volée des sortie pour économiser la mémoire) sont systématiquement utilisées pour
rendre l’entraînement possible sur plusieurs milliers de GPUs en parallèle.

● Pour GPT-3, sur 500 milliards de tokens, environ 5 millions de dollars

Réduction de coût à travers de nombreux tricks d'ingénierie logicielle et matérielle :

● Ex: FlashAttention utilise la fusion d’opération et l’utilisation de mémoire plus


rapides sur le GPU

CSC8608 28
Durée d’entraînement

CSC8608 29
Durée d’entraînement (en séquentiel)

CSC8608 30
Coût estimé

CSC8608 31
Post-training

CSC8608 32
Motivation
Un LLM pré-entraîné est puissant mais peut produire des sorties non désirées :
réponses non pertinentes, toxiques, ou contraires aux attentes de l’utilisateur. La phase
de post-entraînement vise à aligner le modèle sur les instructions et préférences
humaines (d’où le terme alignment).
Enjeux éthiques : L’alignement sert aussi à réduire les biais et comportements
indésirables. C’est durant le post-entraînement qu’on intègre des règles via les données
(par ex., ne pas donner de conseils illégaux, éviter les discours haineux). Des approches
comme Constitutional AI (Anthropic) utilisent un ensemble de principes pour guider
le modèle sans intervention humaine directe à chaque exemple.
On parle de modèles Instruct ou Chat

CSC8608 33
Finetuning supervisé (SFT)
Instruction Tuning : Première étape typique de l’alignement : fine-tuner le modèle sur
des exemples de conversations ou d’instructions avec réponses souhaitées. On utilise
soit des paires <prompt, réponse idéale> écrites par des humains, soit générées par un
modèle et vérifiées. Ce fine-tuning supervisé apprend au LLM à suivre des consignes et
adopter un ton aidant.
● OpenAI a montré qu’un petit modèle InstructGPT 1.3B finetuné sur des
instructions était préféré par des humains face à un GPT-3 175B non aligné. Cela
souligne l’importance de l’instruction tuning : même un modèle 100× plus petit
peut donner de meilleures réponses s’il est mieux aligné sur les attentes utilisateur.

CSC8608 34
Finetuning supervisé (SFT)
Données nécessaires : Quelques dizaines de milliers d’exemples de haute qualité
suffisent souvent.

● Ex: LLaMA 2 Chat a utilisé ~27k paires issues du projet ShareGPT.


● LLaMA 3, elle, a généré massivement des dialogues QA via un modèle assistant,
obtenant 2.7M d’exemples
○ En mode exécution feedback : description de la pipeline de génération (génération problème de
code à partir de code, génération du code, puis tests statiques et unit tests)
○ Traduction automatique (entre langages de programmation)
○ Back-translation : on traduit un problème dans un autre, puis on le retraduit dans le problème
initial (ex. Code -> documentation -> code -> évaluation qualité)

CSC8608 35
Distribution des données SFT dans InstructGPT

CSC8608 36
Distribution des données SFT dans LLaMa 3

CSC8608 37
Finetuning supervisé (SFT)
Constitutional AI : Anthropic remplace en partie les données humaines par des
feedback des IA

● Ex: pour Claude, ils ont défini une “constitution” de principes éthiques, puis utilisé
le modèle lui-même pour critiquer/réécrire ses réponses selon ces principes. Cela
réduit le besoin de superviseurs humains tout en guidant le modèle sur des
réponses plus sûres.

CSC8608 38
RLHF et PPO
Principe RLHF : Reinforcement Learning from Human Feedback combine le LLM
avec un modèle de récompense entraîné à partir de feedback humain.

● Pipeline classique (OpenAI, DeepMind) : on demande à des humains de comparer


plusieurs réponses d’un LLM à une même question, on entraîne un modèle de
récompense à prédire ces préférences, puis on ajuste le LLM pour maximiser cette
"récompense" par RL.

CSC8608 39
RLHF et PPO - Pipeline

Entraînement
Données de Création d’un Ajustement des
modèle (reward
comparaison de dataset poids du LLM grâce
model) pour prédire
réponses (text, récompense) au RL et au RM.
la récompense

CSC8608 40
RLHF et PPO - Ajustement des poids

Modèle ajusté Reward Model

Dataset de prompts Mise à jour RL


+
(e.g. PPO)

Modèle original KL Divergence

CSC8608 41
Algorithme PPO
On utilise généralement PPO (Proximal Policy Optimization), un algorithme de RL
avancé qui permet de mettre à jour le modèle “doucement” en évitant qu’il ne s’éloigne
trop de ses connaissances initiales (KL divergence).

PPO est réputé plus stable sur de grands réseaux et a été employé pour InstructGPT et
ChatGPT.

CSC8608 42
Gains et limites
Gain constaté : RLHF a permis d’améliorer drastiquement la qualité perçue.

● InstructGPT (OpenAI) a vu ses modèles alignés produire moins de sorties


toxiques et plus de vérité comparé au modèle pré-entraîné, tout en conservant les
compétences de base. Les évaluateurs humains préfèrent largement les réponses
après RLHF.

Limites : RLHF est complexe (nécessite de former un modèle de récompense, et du RL


instable). De plus, il peut introduire de nouveaux biais selon les préférences des
annotateurs. Cela motive la recherche d’alternatives plus simples. RLHF reste
néanmoins l’état de l’art pour obtenir les assistants type ChatGPT, Claude, etc.

CSC8608 43
DPO : optimisation directe des préférences
Motivation : En 2023, des chercheurs ont proposé Direct Preference Optimization
(DPO) comme alternative plus simple au RLHF classique.

● Idée : éviter d’entraîner un agent RL, et plutôt formuler le problème d’alignement


comme une optimisation supervisée.

Fonctionnement : DPO part des mêmes données de préférences (ex: pour un prompt
donné, réponse A préférée à B). Au lieu de passer par un reward model séparé et du
RL, on ajuste directement le LLM pour qu’il donne une probabilité plus élevée à la
réponse préférée qu’à la réponse rejetée, via une perte de classification sur p(preferred)
vs p(rejected)

CSC8608 44
DPO : schéma Mise à jour des poids

Prompt +
LLM finetuné
Réponse préférée

Prompt +
Réponse LLM non-finetuné
non-préférée

CSC8608 45
Avantages de DPO
DPO est beaucoup plus stable et simple à implémenter . Pas de phase de sampling RL, moins
d’hyperparamètres à régler. Les expériences montrent que DPO obtient une qualité
d’alignement comparable ou supérieure à PPO-RLHF sur plusieurs critères (contrôle du style,
qualité de réponse)
LLaMA 2 et LLaMA 3 ont adopté DPO pour le finetuning final de leurs modèles chat.
Concrètement, ils n’ont pas entraîné le modèle via du RL, mais directement optimisé sur les
préférences (tout en conservant un reward model en soutien pour filtrer des échantillons
synthétiques de mauvaise qualité). D’autres travaux (OpenAI, 2024) ont également exploré la
preference fine-tuning dans le même esprit.

CSC8608 46
Rôle des données humaines vs synthétiques
● Humains dans la boucle : Historiquement, l’alignement a nécessité beaucoup
d’annotations humaines (démonstrations, préférences). OpenAI a employé des
dizaines d’annotateurs pour InstructGPT. Ces données humaines sont précieuses
mais coûteuses et potentiellement limitées (biais des annotateurs, consignes à
bien définir).
● Génération synthétique : Une tendance récente est de générer des données
d’alignement via des modèles.
○ LLaMA 3: l’essentiel du set d’instructions vient d’un modèle instruct (de taille inférieure) qui a
produit des questions/réponses variées. Ces données synthétiques, une fois filtrées, permettent de
s’affranchir en partie du goulot d’annotation humaine, sans dégrader la qualité

CSC8608 47
Rôle des données humaines vs synthétiques
● Combinaison des deux : Souvent, on utilise un mélange.
○ LLaMa 3 a tout de même inclus des humains pour relire certaines réponses ou pour la phase de
préférences. Il ont ajouter une tâche : les annotateurs devaient éditer la meilleure réponse en plus de
la choisir, fournissant ainsi une réponse “idéale” améliorée. Cette triple réponse (éditée, choisie,
rejetée) enrichit le signal d’apprentissage.
● Évolution : On se dirige vers des pipelines où les humains définissent les grandes
lignes (ex: principes de l’alignement, constitution), génèrent un petit jeu
d’amorçage, et les modèles font le reste du travail d’étoffement du dataset. Cela
démocratise l’alignement : même des équipes open-source (HuggingFace, etc.)
peuvent aligner un modèle en utilisant des données synthétiques publiées ou
générées à moindre coût.

CSC8608 48
Stanford Alpaca
Avec ~$500 de crédits API, ils ont créé un dataset de 52k instructions synthétiques (via
Text-Davinci) pour fine-tuner LLaMA 7B en un modèle type ChatGPT.

Attention ! Il est crucial de vérifier la qualité ! Un danger est d’amplifier des erreurs si
le modèle qui génère les instructions se trompe. D’où l’idée de filtrer avec un reward
model ou de garder un œil humain sur un échantillon.

CSC8608 49
Évaluation des LLMs

CSC8608 50
Pourquoi évaluer ?
● Pour mesurer les capacités d’un LLM et guider son amélioration, on utilise de
multiples critères d’évaluation. Les LLM étant polyvalents, on ne peut pas se fier à
une métrique unique.
● Types d’évaluation :
○ Métriques internes comme la perplexité sur un corpus de texte tenu secret (indicateur de la
qualité du modèle en tant que modèle de langue);
○ Benchmarks externes sur des tâches standardisées (Q&A, raisonnement, code, etc.), permettant de
comparer les modèles entre eux;
○ Évaluation humaine ou via d’autres modèles (ex: GPT-4) sur des aspects comme la préférence de
réponse, l’utilité en conversation;
○ Vérifications spécifiques : biais, toxicité, hallucinations, robustesse aux reformulations.

CSC8608 51
Pourquoi évaluer ?
● Évaluation en pré vs post-training : Un modèle pré-entraîné (non aligné) est
souvent évalué via la perplexité et quelques tâches fermées, alors qu’un modèle
conversationnel doit être évalué sur la qualité de ses réponses libres. Cela nécessite
parfois des chatbot arena ou des notations qualitatives.
● Enjeux :
○ Assurer que l’évaluation est juste et non-biaisée (éviter la contamination où le modèle a vu les
réponses du test pendant l’entraînement)
○ Couvrir un large éventail de domaines (pour éviter de sur-optimiser sur quelques benchmarks
populaires)
○ Prendre en compte les critères éthiques (un modèle très performant techniquement peut tout de
même être inutilisable s’il génère des réponses biaisées ou dangereuses).

CSC8608 52
Perplexité et qualité linguistique
Perplexité : Métrique de base d’un modèle de langage. Elle mesure à quel point le
modèle prédit bien du texte qu’il n’a pas vu (plus la perplexité est basse, meilleur est le
modèle). Par exemple, RETRO 7B de DeepMind obtient une perplexité comparable à
GPT-3 175B sur The Pile en s’aidant d’une base de textes, malgré 25× moins de
paramètres

CSC8608 53
Perplexité et qualité linguistique
Interprétation : niveau de surprise en voyant une séquence

● perplexité 10 = le modèle est aussi surpris en moyenne que s’il devait choisir entre
10 options à chaque mot
● perplexité 50 = moins bon

CSC8608 54
Perplexité et qualité linguistique

https://paperswithcode.com/sota/language-modelling-on-penn-treebank-word

CSC8608 55
Perplexité et qualité linguistique
Utilité : La perplexité est surtout utilisée pour évaluer le pré-entraînement. Elle se
calcule sur un ensemble de test caché (ex: des pages Wikipedia non vues). Une baisse
de perplexité d’une génération de modèle à l’autre indique un progrès en capacité
linguistique générale.

Limites : Une perplexité faible n’assure pas que le modèle sera performant sur des
tâches spécifiques ou aligné. Par ex., GPT-3 avait une perplexité bien meilleure que
GPT-2, mais sortait encore des réponses non filtrées ou à côté des demandes user. De
plus, optimiser excessivement la perplexité peut sacrifier d’autres aspects (comme la
diversité).

CSC8608 56
Autre métriques internes
● Taux d’entropie
● Couverture de vocabulaire
● Loss sur des domaines particuliers (ex: on peut calculer la perplexité sur du code
pour estimer les capacités en programmation)
● Évaluation manuelle d’exemples de complétions “en vrac” pour s’assurer que le
modèle ne dévie pas

CSC8608 57
Benchmarks et compétitions
Benchmarks académiques : De nombreux ensembles de tests standards permettent de
quantifier les performances.

● MMLU (57 matières, QCM de connaissance)


● HellaSwag (choix du texte le plus plausible pour finir une histoire)
● TriviaQA (questions factuelles)
● MBPP/HumanEval (résolution d’exercices de code).

Ces scores permettent de comparer objectivement les modèles.

CSC8608 58
MMLU
https://paperswithcode.com/sota/language-modelling-on-penn-treebank-word

https://paperswithcode.com/task/language-modelling

CSC8608 59
HuggingFace Open LLM Leaderboard
https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard#/

CSC8608 60
Au-delà des scores
Un risque est d’overfit les modèles aux benchmarks publics (en les incluant
involontairement dans les données d’entraînement, cf contamination). Les équipes font
attention à isoler ces jeux de test.

● LLaMA 3 a explicitement vérifié que son corpus ne contenait pas les solutions des
benchmarks d’évaluation pour avoir une mesure honnête.

CSC8608 61
Biais et équité
Les LLMs peuvent reproduire ou amplifier des biais présents dans leurs données
d’entraînement (stéréotypes de genre, discrimination raciale, etc.). On évalue cela par
des tests ciblés : par ex, BBQ (Bias Benchmark) qui pose des questions sur différents
groupes sociaux pour voir si les réponses du modèle sont partiales.
● Exemples de biais : Un modèle peut associer systématiquement certains métiers à
un genre (ex: “infirmière” au féminin), ou produire des descriptions moins
positives pour un groupe ethnique donné. Ces biais ont été observés même dans
GPT-3 et nécessitent une atténuation consciente.
● Biais “non stéréotypes” : biais d’optimisme (le modèle peut être excessivement
confiant), biais de longueur (tendance à produire des réponses longues si on
évalue long=bon)

CSC8608 62
Stratégies d’évaluation des biais
● Prompting biaisé : on donne au modèle des prompts sensibles pour voir s’il
répond différemment en fonction de l’identité (ex: “Un médecin <H/F> est…”);
● Analyses statistiques des outputs sur des sets équilibrés (ex: on fait générer des
descriptions de personnes avec des prénoms variés et on analyse les adjectifs
employés);
● Outils comme HolisticBias ou CrowS-Pairs qui quantifient l’orientation des
réponses.

CSC8608 63
BBQ sur GPT

CSC8608 64
Mitigation des biais
L’évaluation n’est utile que si derrière, on ajuste le modèle ou ses sorties. Via
l’alignement, on peut inclure des instructions qui poussent à la neutralité. Par ex.,
Anthropic Claude est entraîné à refuser des généralisations sur les groupes protégés.
Toutefois, trop corriger peut aussi entraîner des refus non justifiés (alignement
overcorrection).

CSC8608 65
Mitigation dans GPT-4

CSC8608 66
Sensibilité aux prompts et robustesse
Prompt sensitivity : Un même modèle peut donner des réponses très différentes selon
la formulation de la requête ou l’ordre des informations dans le prompt. LLaMA 3 a mis
en lumière cette sensibilité aux variations d’input et insiste qu’il faut l’évaluer. Par
exemple, changer un mot par un synonyme, ou reformuler en question indirecte, peut
altérer la réponse.

Tests de robustesse : Pour quantifier cela, on évalue le modèle sur des versions
paraphrasées des mêmes questions. Un modèle robuste devrait maintenir ses
performances. Si une légère reformulation fait chuter le score (ou changer l’opinion du
modèle sur une question morale), c’est un signe d’instabilité.

CSC8608 67
Robustesse dans LLaMa 3

CSC8608 68
Adversarial prompts
On évalue aussi la résistance aux prompt attacks (ex: prompt injection, jailbreaks) où
l’utilisateur essaie de détourner le modèle de ses garde-fous. Un bon modèle aligné
devrait résister aux instructions contraires à ses règles (ne pas révéler ses secrets, etc.).
On teste cela en essayant des attaques connues et en mesurant si le modèle “cède”.

● System prompt leakage :


https://github.com/jujumilk3/leaked-system-prompts?tab=readme-ov-file
● "Ignore previous instructions..." dans GPT 3.5

CSC8608 69
Adversarial prompts

CSC8608 70
Adversarial prompts

CSC8608 71
Contenu contradictoire
Autre aspect, donner des informations contradictoires dans le prompt pour voir si le
modèle est confus. Par ex., fournir un énoncé avec des données inconsistantes et
demander une conclusion. Un LLM doit idéalement souligner l’incohérence plutôt que
de forcer une réponse.

CSC8608 72
Contamination des données de test
La contamination survient lorsque des données d’évaluation se retrouvent (même
partiellement) dans le corpus d’entraînement du modèle. Le modèle peut alors les
connaître par cœur, faussant les résultats du test (performance artificiellement élevée).

Exemples : Si un dataset de QCM comme MMLU ou une question TriviaQA est


présent sur Internet et que le modèle a ingéré ce contenu, il peut répondre
correctement non pas par raisonnement mais par mémorisation. Des cas célèbres :
GPT-2 avait probablement vu la plupart des questions de TriviaQA dans Common
Crawl, rendant son score moins significatif.

CSC8608 73
Contamination des données de test
Mesures prises : Les équipes filtrent activement le corpus d’entraînement vis-à-vis des
ensembles de test connus. LLaMA 3 a procédé à cette vérification pour plus de 100
benchmarks, et a identifié certains chevauchements qui ont été exclus afin de fiabiliser
l’évaluation.

Évaluation continue : À chaque nouvelle version d’un modèle, il faut refaire attention.
Par exemple, une fois GPT-4 sorti, beaucoup de solutions de benchmarks ont circulé
sur Internet. Un modèle entraîné en 2024 pourrait avoir “vu” les réponses officielles
que GPT-4 avait produites pour X ou Y benchmark. La communauté tente de créer de
nouveaux benchmarks frais pour éviter cela (HELМ initiative, etc.).

CSC8608 74
Évaluation de la contamination dans LLaMa 3

CSC8608 75
Parameter-Efficient Fine-tuning

CSC8608 76
Problème
Finetuner complètement un LLM de plusieurs milliards de paramètres sur une
nouvelle tâche requiert énormément de ressources (stockage des gradients pour
chaque paramètre, risques de surapprentissage, etc.). Pour adapter un LLM à un
domaine particulier ou à une application, on cherche des méthodes plus efficaces en
paramètres (Parameter-Efficient Fine-tuning = PEFT).
Pour rappel, entraîner un modèle complet demander de stocker entre 5 et 10 fois le
nombre de paramètres réels (forward pass, backward pass, Adam)
On veut finetuner un modèle de 7B ou 70B paramètres en n’entraînant que quelques
millions de paramètres ajoutés (typiquement <1% du total). On peut ainsi adapter un
LLM sur un laptop ou une seule GPU haute mémoire au lieu d’une ferme de GPUs

CSC8608 77
Low-Rank Adaptation (LoRA)
Principe de LoRA : Introduit en 2021, LoRA consiste à figer les poids originaux du
modèle et à injecter des matrices de faible rang qui seront ajustées pendant le
finetuning. Concrètement, pour une matrice de poids W de la couche, on ajoute W +
ΔW où ΔW = A*B avec A et B de petite dimension (par ex. r=8).

● W ne change pas (freeze), seuls A et B sont apprises.

CSC8608 78
Low-Rank Adaptation (LoRA)

B
Poids
pré-entraînés
W
A

CSC8608 79
Réduction drastique des paramètres entraînés
Si W est de taille (d × d), A est (d × r) et B est (r × d).

Avec r=8 et d = 1000, on n’entraîne qu’une infime fraction des paramètres :

● 16,000 au lieu de 1,000,000 ici


● Jusqu’à 10 000× moins de paramètres à ajuster ont été rapportés tout en
maintenant les performances

CSC8608 80
Performance LoRA
LoRA obtient des résultats comparables à un fine-tuning complet sur de nombreuses
tâches, sans dégradation notable. Par exemple, LoRA sur GPT-3 175B atteint la même
qualité sur des benchmarks que le fine-tuning classique, tout en demandant 3× moins
de mémoire GPU et en évitant toute latence additionnelle à l’inférence (car ΔW peut
être fusionné avec W une fois entraîné).

CSC8608 81
Partage et modularité de LoRA
On peut entraîner plusieurs LoRA (par ex. un LoRA “médical”, un LoRA “droit”) et les
combiner à la volée si besoin, car ajouter ces modifications est modulaire. De plus, la
distribution de ces patchs est légère (quelques Mo). LoRA est compatible avec
l’entraînement en basse précision (8-bit) pour encore plus d’efficacité.

CSC8608 82
QLoRA (4-bit Low-Rank Adaptation)
Idée : Proposé en 2023, QLoRA pousse plus loin l’efficacité en quantifiant le modèle de
base en 4 bits (au lieu de 32) pendant le fine-tuning. Le modèle pré-entraîné est
converti en 4 bits (ce qui tient dans la VRAM d’un seul GPU), on applique un LoRA
dessus, et on entraîne les matrices LoRA en backpropagation sans déquantifier le
modèle

Résultat : Les auteurs ont réussi à finetuner un modèle 65B sur un seule GPU A100
48GB en 24h, obtenant le modèle Guanaco qui atteint 99.3% de la performance de
ChatGPT sur le benchmark Vicuna

CSC8608 83
Quantization
● De base, nous utilisons des float32
● Quantization = réduire le nombre de bits pour encoder un flottant

CSC8608 84
Quantization
● En passant de 32 bits à 16 bits, on perd de la précision.
● En pratique, on n’utilise pas float8
● QLoRA utilise un encodage avec des entiers NF4
● Comment découper avec des entiers :
○ 1ère solution : découper de manière régulière. Peu efficace, car répartition non uniforme
○ 2ème solution : découper en supposant les poids répartis suivant une loi normale (NF4)
○ On obtient un nombre en 0 et 15 (on prend la bin la plus proche)
● Attention ! On ne peut pas faire d’opérations en NF4 ! Il faut déquantiser à la
volée en 16 bits.

CSC8608 85
QLoRA (4-bit Low-Rank Adaptation)
Y = 16 bits

+
déquantisation
B = 16 bits

W = NF4
A = 16 bits

X = 16 bits

CSC8608 86
QLoRA (4-bit Low-Rank Adaptation)
Innovations techniques : QLoRA a introduit un format 4-bit optimisé (NF4,
NormalFloat4) qui conserve plus de précision qu’un int4 naïf en se basant sur la
distribution des poids. Il utilise aussi la double quantization (quantifier les échelles de
quantification) pour économiser la mémoire, et des optimiseurs paginés pour éviter les
pics de mémoire.

Impact : QLoRA prouve qu’on peut personnaliser de très grands modèles avec du
hardware modeste, sans perte significative. Cela a démocratisé l’accès aux modèles
30B+ pour la recherche académique et les petites entreprises. De nombreuses itérations
(ex: des fine-tuning 4-bit de LLaMA 2 70B) sont apparues peu après la publication.

CSC8608 87
Autres méthodes PEFT
● Prefix Tuning : On apprend une séquence de vecteurs (prefix) insérés en entrée
de chaque couche du Transformer, qui conditionnent le modèle sans changer ses
poids. Cela équivaut à apprendre un prompt virtuel que le modèle suit.
○ Avantage : seulement quelques milliers de paramètres (la longueur du préfixe × dimension) à
entraîner.
● Adapter modules : Introduits initialement pour BERT, ce sont de petites couches
intermédiaires.
○ Par ex., on ajoute après la MLP de chaque bloc Transformer une couche dense de taille réduite
(bottleneck) qui est entraînée, tandis que le reste du bloc est figé. Efficace pour spécialisations, mais
ajoute une légère latence en plus.

CSC8608 88
Autres méthodes PEFT
● Fine-tuning partiel : On peut choisir de n’entraîner qu’une partie des couches du
modèle (ex: ne finetuner que les dernières couches, ou que les embeddings). C’est
simple à implémenter mais souvent moins performant que LoRA/prefix car on
déséquilibre l’adaptation (dernières couches sur-ajustées, reste figé).
● Distillation vers plus petit modèle : Bien que différent du finetuning classique,
c’est une approche efficace : utiliser le grand modèle comme enseignant pour
entraîner un plus petit modèle sur des outputs du grand. Cela permet d’appliquer
un LLM coûteux sur une tâche dans un modèle plus petit déployable.
○ Ex: Distiller un 70B en un 7B spécialisé FAQ médicale, etc.

CSC8608 89
Conclusion
● Pré-training
○ Datasets
○ Taille modèle vs taille dataset
○ Gestion de l’entraînement
● Post-training
○ SFT
○ RLHF et PPO
○ DPO
● Évaluation des modèles
○ Métriques
○ Benchmarks
○ Mesures annexes (biais, robustesse)
● PEFT
○ LoRA
○ QLoRA

CSC8608 90

Vous aimerez peut-être aussi