Vous êtes sur la page 1sur 23

M2 - IA générative & co

Stanislas Morbieu

1
Sommaire

1. Notions principales

2. Entraînements et prédiction

3. Modèles GPT

4. Parameter Efficient Tuning (PEFT)

5. Modèles « open source »

6. Retrieval Augmented Generation (RAG)


Notions principales

3
1. Notions principales

a. IA générative

b. Modèles de langage
Sommaire

c. Modèles discriminatifs

d. Modèles génératifs

e. Large Language Models

f. Mécanisme d’attention

g. Transformers

h. Modèle de fondation

2. Entraînements et prédiction

3. Modèles GPT

4. Parameter Efficient Tuning (PEFT)

5. Modèles « open source »

6. Retrieval Augmented Generation (RAG)


IA générative
■ Système capable de générer du contenu : texte, images…
Notions principales

■ Cependant, générer de nouvelles données est l’essence même de tout algorithme d’apprentissage automatique.
○ Dans un problème de classification supervisée, on cherche à générer des numéros de classes à associer aux données qui n’en
ont pas. Par exemple, lors de la détection de fraudes ou d’anomalies, on cherche à générer les étiquettes « fraude », « non
fraude » et éventuellement « suspicion de fraude » pour chaque événement.
○ Dans un problème de régression, on cherche à générer une valeur d’une variable cible : Cette valeur générée peut
correspondre à une valeur physique comme la température de chauffe qui permettrait de garder un bâtiment à une température
idéale. Elle peut aussi correspondre à un score de confiance, de risque ou de priorité.
○ Pour de la recommandation par filtrage collaboratif, on cherche à générer la note qu’aurait mis l’utilisateur aux produits qu’il n’a
pas encore notés.
○ Dans le cas de ChatGPT, on cherche à générer une séquence de mots (la réponse de ChatGPT) à partir d’une autre séquence
de mots (la question qu’on lui pose)…

■ Références :
○ Popularisation de l’IA générative auprès du grand public :
■ Goodfellow, Ian, et al. "Generative adversarial nets." Advances in neural information processing systems 27 (2014).
○ Just for fun :
■ Albanie, Samuel, Sébastien Ehrhardt, and Joao F. Henriques. "Stopping gan violence: Generative unadversarial networks."
arXiv preprint arXiv:1703.02528 (2017).

5
Modèles de langage
Notions principales

■ Modéliser le langage naturel consiste à estimer la


probabilité d’obtenir chaque séquence de mots.
■ Peut être représenté par la probabilité conditionnelle du
prochain mot étant donné tous les mots précédents de la
séquence.
■ Références :
○ Bengio, Yoshua, Réjean Ducharme, and Pascal Vincent.
"A neural probabilistic language model." Advances in
neural information processing systems 13 (2000).

6
Modèles discriminatifs
Notions principales

■ Dans le cas de ChatGPT, on cherche à générer une séquence de mots (la réponse de ChatGPT) à partir d’une autre
séquence de mots (la question qu’on lui pose)…
Cet exemple est une tâche que l’on appelle souvent « sequence to sequence ». Si on note x la question et y la
réponse, on peut dire qu’on observe la valeur x et qu’on cherche à prédire la valeur y. D’un point de vue probabiliste,
on peut dire que x est la valeur prise par une variable aléatoire X. De la même manière, y est la valeur (inconnue) que
prend la variable aléatoire Y. Le problème de « sequence to sequence » consiste à estimer la probabilité d’avoir la
variable aléatoire Y égale à y sachant que la variable aléatoire X vaut x. En notation mathématique, on cherche à
estimer P(Y | X = x) que l’on appelle probabilité conditionnelle.
■ Évaluer la probabilité conditionnelle est l’objectif (probabiliste) des modèles dits discriminatifs.

7
Modèles génératifs
Notions principales

■ Les modèles génératifs ne cherchent pas à estimer directement la probabilité conditionnelle


P(Y | X = x). Pour le faire, ils utilisent un moyen indirect qui consiste à appliquer le théorème
de Bayes :
P(Y | X = x) = P(X | Y = y) P(Y) / P(X)
■ Un modèle génératif cherche à estimer P(X | Y = y), c’est-à-dire la probabilité d’avoir généré
les questions en considérant qu’il a observé les réponses. Ceci va à l’encontre de la réalité
mais est totalement possible dans le cadre formel des calculs probabilistes. Une définition
alternative de modèle génératif est d’estimer la distribution jointe P(X, Y), c’est-à-dire la
probabilité de générer à la fois les questions et les réponses (cf. définition de la
probabilité conditionnelle).
■ Probabilité conditionnelle : P(X|Y) = P(X, Y) / P(X)
■ Dans les faits, ChatGPT repose, comme tous ses prédécesseurs (GPT, GPT-2 et GPT-3),
sur des modèles discriminatifs !
■ Mais alors pourquoi parle-t-on de modèle génératif pour la famille des modèles GPT ?

8
Large Language Models
Notions principales

■ Un modèle de langage de grande capacité (nombre de


paramètres à estimer).
■ Ils sont entraînés sur des grosses volumétries de données
pour pouvoir se comporter particulièrement bien sur des
tâches de traitement du langage naturel.

9
Mécanisme d’attention
Notions principales

■ Intuitivement, un mécanisme d'attention est la capacité


d'apprendre à se concentrer sur des parties spécifiques.
■ Pour cela, un poids est attribué à chaque mot dans la
fenêtre de contexte.
■ Notations :
○ Q : une requête
○ K : une clé
○ V : une valeur
■ Une fonction d’attention est une association entre une
requête Q et un ensemble de paires clé-valeur (K, V) à une
sortie : Attention(Q, K, V).
■ Les requêtes, clés, valeurs et sorties sont des vecteurs.

10
Transformers
Notions principales

■ Implémentation particulière d’un mécanisme d’attention qui


est efficace : calculs parallélisables facilement.

■ x

■ Référence :
○ Vaswani, Ashish, et al. "Attention is all you need."
Advances in neural information processing systems 30
(2017).
○ Phuong, Mary, and Marcus Hutter. "Formal algorithms for
transformers." arXiv preprint arXiv:2207.09238 (2022).

11
Modèle de fondation
Notions principales

■ Modèle de grande taille, entraîné sur un grand volume de


données qui peut être adapté à différentes tâches.
■ Références :
○ Devlin, Jacob, et al. "Bert: Pre-training of deep
bidirectional transformers for language understanding."
arXiv preprint arXiv:1810.04805 (2018).
○ Bommasani, Rishi, et al. "On the opportunities and risks
of foundation models." arXiv preprint arXiv:2108.07258
(2021).

12
Entraînement et
prédiction

13
1. Notions principales

2. Entraînements et prédiction

a. Entraînement
Sommaire

b. Pré-entraînement

c. Fine Tuning

d. Apprentissage par transfert

e. Apprentissage par renforcement

f. In Context Learning

3. Modèles GPT

4. Parameter Efficient Tuning (PEFT)

5. Modèles « open source »

6. Retrieval Augmented Generation (RAG)


Entraînement
Entraînements et prédiction

■ Un modèle d’intelligence artificielle est une fonction qui,


pour des entrées données va produire des sorties. Cette
fonction utilise des paramètres qui définissent son
comportement.
■ Entraîner un modèle consiste à fixer ses paramètres de
telle sorte qu’il reproduise au mieux les sorties attendues
sur des données connues d’entraînement.
■ L’erreur entre la prédiction et la réalité peut-être modélisée
par une probabilité. On peut chercher à modifier les
paramètres de sorte à maximiser la probabilité d’avoir les
sorties lorsque l’on connaît les entrées. On retrouve là notre
probabilité conditionnelle P(Y | X = x).

15
Pré-entraînement
Entraînements et prédiction

■ Le pré-entraînement consiste à entraîner le modèle sur une autre tâche en amont de celle désirée.
■ Par exemple, on cherche à modéliser le langage naturel.
■ Si on note « s » une séquence de mots et qu’on la représente par une variable aléatoire S, on peut chercher à trouver
les paramètres θ d’un modèle de sorte à maximiser la vraisemblance, c’est-à-dire à maximiser la probabilité d’obtenir la
séquence de mots en considérant qu’on connaît les valeurs des paramètres : P(S ; θ).
■ Alternativement, on peut dire qu’on maximise la probabilité d’avoir en même temps le premier mot w1, le deuxième w2,
le troisième w3 etc. C’est ce qu’on appelle une probabilité jointe : P(w1, w2, w3…). On retrouve donc ici la définition
d’un modèle génératif : estimer la probabilité jointe.
■ La première formule représente cette probabilité jointe mais est exprimée comme un produit de probabilités
conditionnelles pour la présenter sous la forme d’un modèle autorégressif unidirectionnel. Il ne s’agit donc pas ici d’un
modèle discriminatif comme peut le laisser penser à première vue la formule.

16
Fine Tuning
Entraînements et prédiction

■ Le fine tuning consiste à entraîner le modèle sur une tâche


spécifique.
■ C’est souvent ce type d’entraînement qui est le plus
efficace pour entraîner un modèle lorsqu’on a les données
qui le permettent.

17
Apprentissage par transfert
Entraînements et prédiction

■ L’apprentissage par transfert consiste à entraîner un


modèle sur une tâche différente ou un domaine différent de
la tâche visée en profitant de similarités entre les tâches
ou des domaines.
■ Le modèle va apprendre de la première tâche pour
accomplir plus facilement la seconde.
■ Plusieurs types de transfer learning :
○ inductive : la tâche cible est différente de la tâche source
○ transductive : les tâches sources sont les mêmes mais
les domaines sont différents
○ non supervisé : les tâches et les domaines sont
différents, les tâches étant non supervisées.
■ Référence :
○ Pan, Sinno Jialin, and Qiang Yang. "A survey on transfer
learning." IEEE Transactions on knowledge and data
engineering 22.10 (2009): 1345-1359.

18
Apprentissage par renforcement
Entraînements et prédiction

■ Un modèle de récompense est entraîné. Le modèle


apprend à comparer la préférence de différentes réponses
basées sur les retours d’un utilisateur.
■ Proximal Policy Optimization (PPO) consiste à mettre à jour
le modèle de langage en se basant sur le modèle de
récompense. Le but est de trouver une politique optimisée
grâce à de l’exploration et de l’exploitation.
■ Références :
○ Kaufmann, Timo, et al. "A Survey of Reinforcement
Learning from Human Feedback." arXiv preprint
arXiv:2312.14925 (2023).
○ Zheng, Rui, et al. "Secrets of rlhf in large language
models part i: Ppo." arXiv preprint arXiv:2307.04964
(2023).

19
In Context Learning
Entraînements et prédiction

■ Permet de donner des exemples d’apprentissage lors de la


phase de prédiction, et non lors d’un entraînement.
■ Un ensemble d’exemples sous formes de paires (entrée,
sortie) est considéré.
■ Concaténation de tous les exemples.
■ La dernière entrée (question) est concaténée aux exemples
complets (couples entrée-sortie)
■ Nécessité de passer l’ensemble des exemples à chaque
prédiction.

20
Modèles GPT

21
1. Notions principales

2. Entraînements et prédiction

3. Modèles GPT
Sommaire

a. GPT

b. GPT 2

c. GPT 3

d. InstructGPT

e. ChatGPT

f. GPT 4

4. Parameter Efficient Tuning (PEFT)

5. Modèles « open source »

6. Retrieval Augmented Generation (RAG)


GPT - Improving Language Understanding by
Generative Pre-Training
Modèles GPT

■ L’idée principale des modèles GPT est qu’en utilisant une


architecture transformer, la phase de pré-entraînement
améliore la qualité des résultats.
■ La version 1 de GPT opère par la suite un « fine tuning »
qui consiste à l’entraîner spécifiquement sur la tâche sur
laquelle on va l’utiliser.
■ Référence :
○ Radford, Alec, et al. "Improving language understanding
by generative pre-training." (2018).

23

Vous aimerez peut-être aussi