# Exploration des Transformers

Yannis Bendi-Ouis, Xavier Hinaut

► To cite this version:

Yannis Bendi-Ouis, Xavier Hinaut. Exploration des Transformers. Master. France. 2023. [hal-04850985](https://hal.science/hal-04850985v1)

HAL Id: hal-04850985

https://hal.science/hal-04850985v1

Submitted on 20 Dec 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
<figure><img src="image_2.png" /></figure>

Exploration des
Transformers

<figure><img src="image_3.png" /><figcaption>LLAMA 2</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>CHATGPT</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>MISTRAL AI</figcaption></figure>
Inria

# Yannis Bendi-Ouis

## Doctorant en Intelligence Artificielle / Neuroscience

yannis.bendi-ouis@inria.fr

www.naowak.fr

<figure><img src="image_6.png" /></figure>

BORDEAUX
neurocampus

IMN
Architecture d'un
Transformers

<figure><img src="image_7.png" /></figure>
# Sommaire

01. Qu'est ce que le Machine Learning ?

02. Comment fonctionne un réseau de neurones artificiels ?

03. Comment faire avec des séquences ?

04. Qu'est ce qu'un Transformers ?

05. Comment entraîner un Transformers ?

06. Qu'est ce qu'un prompt ?

07. Quels sont les risques ?

08. Débat / Questions
01

# Qu'est ce que le machine learning ?
Une grande famille d'algorithmes

<figure><img src="image_8.png" /></figure>
Classification / Régression

<figure><img src="image_9.png" /></figure>

Classification
Classification / Régression

<figure><img src="image_10.png" /></figure>

Classification

Prédiction

<figure><img src="image_11.png" /></figure>

Régression

<figure><img src="image_12.png" /></figure>

Observation
# Quelques algorithmes de Machine Learning

<figure><img src="image_13.png" /><figcaption>KNN (K plus proche voisin)</figcaption></figure>
# Quelques algorithmes de Machine Learning

<figure><img src="image_14.png" /><figcaption>KNN (K plus proche voisin)</figcaption></figure>

<figure><img src="image_15.png" /><figcaption>Random forest</figcaption></figure>
# Apprentissage par renforcement (Reinforcement Learning)

<figure><img src="image_16.png" /></figure>
# Apprentissage par renforcement (Reinforcement Learning)

<figure><img src="image_17.png" /></figure>
# Apprentissage par renforcement (Reinforcement Learning)

<figure><img src="image_18.png" /></figure>

https://www.youtube.com/watch?v=WXuK6gekU1Y

<figure><img src="image_19.png" /></figure>

https://www.youtube.com/watch?v=cUTMhmVh1qs
Comment fonctionne
un réseau de neurones
artificiels ?
# Un neurone artificiel

> Algorithme Supervisé

<figure><img src="image_20.png" /></figure>

x = un nombre

w = un nombre

o = un nombre

e = un nombre
# Un neurone artificiel

## > Algorithme Supervisé

### Stimuli

<figure><img src="image_21.png" /></figure>

* x = un nombre

* w = un nombre

* o = un nombre

* e = un nombre
# Un neurone artificiel

> Algorithme Supervisé

Stimuli

Synapses

<figure><img src="image_22.png" /></figure>

x = un nombre

w = un nombre

o = un nombre

e = un nombre
# Un neurone artificiel

> Algorithme Supervisé

<figure><img src="image_23.png" /></figure>

x = un nombre

w = un nombre

o = un nombre

e = un nombre
# Un neurone artificiel

<figure><img src="image_24.png" /></figure>

x = un nombre

w = un nombre

o = un nombre

e = un nombre

## > Algorithme Supervisé

1. On sélectionne un ensemble de poids aléatoires.
# Un neurone artificiel

<figure><img src="image_25.png" /></figure>

x = un nombre

w = un nombre

o = un nombre

e = un nombre

## > Algorithme Supervisé

1. On sélectionne un ensemble de poids aléatoires.

2. On fait la prédiction pour J données.
# Un neurone artificiel

<figure><img src="image_26.png" /></figure>

## > Algorithme Supervisé

1. On sélectionne un ensemble de poids aléatoires.

2. On fait la prédiction pour J données.

3. On calcule l'erreur moyenne pour ces J données.
# Un neurone artificiel

<figure><img src="image_27.png" /></figure>

## > Algorithme Supervisé

1. On sélectionne un ensemble de poids aléatoires.

2. On fait la prédiction pour J données.

3. On calcule l'erreur moyenne pour ces J données.

4. On modifie nos poids en fonction (descente de gradient).
# Un neurone artificiel

<figure><img src="image_28.png" /></figure>

## > Algorithme Supervisé

1. On sélectionne un ensemble de poids aléatoires.

2. On fait la prédiction pour J données.

3. On calcule l'erreur moyenne pour ces J données.

4. On modifie nos poids en fonction (descente de gradient).
# Descente du gradient

## Errur

<figure><img src="image_29.png" /></figure>

> Cette fonction représente l'erreur du modèle en fonction du poids w.

> On découvre cette fonction petit à petit, au fur et à mesure de l'entraînement.
Descente du gradient

<figure><img src="image_30.png" /></figure>

> Cette fonction représente l'erreur en fonction du poids w de notre modèle.

> On découvre cette fonction petit à petit, au fur et à mesure de l'entraînement.

<figure><img src="image_31.png" /></figure>
Descente du gradient

<figure><img src="image_32.png" /></figure>

> Cette fonction représente l'erreur en fonction du poids w de notre modèle.

> On découvre cette fonction petit à petit, au fur et à mesure de l'entraînement.

<figure><img src="image_33.png" /></figure>

<figure><img src="image_34.png" /></figure>
# Descente du gradient

<figure><img src="image_35.png" /></figure>

> Cette fonction représente l'erreur en fonction du poids w de notre modèle.

> On découvre cette fonction petit à petit, au fur et à mesure de l'entraînement.

<figure><img src="image_36.png" /></figure>

e est l'erreur mesurée en fonction des poids

<figure><img src="image_37.png" /></figure>

$w_1$ et $w_2$ sont les poids du modèle
Comment utiliser un réseau entraîné ?

<figure><img src="image_38.png" /></figure>

Classification
# Comment utiliser un réseau entraîné ?

input hidden output

<figure><img src="image_39.png" /><figcaption>Classification</figcaption></figure>

input hidden output

<figure><img src="image_40.png" /><figcaption>Régression</figcaption></figure>
# Exemple : Word Embeddings

> On transforme des mots en vecteurs de N valeurs.

Queen

<table><tr><td>3</td><td>3</td></tr></table>

King

<table><tr><td>1</td><td>0</td></tr></table>

N = 2

Woman

<table><tr><td>1</td><td>4</td></tr></table>

Man

<table><tr><td>-1</td><td>1</td></tr></table>
# Exemple : Word Embeddings

> On transforme des mots en vecteurs de N valeurs.

Queen

<table><tr><td>3</td><td>3</td></tr></table>

King

<table><tr><td>1</td><td>0</td></tr></table>

N = 2

Woman

<table><tr><td>1</td><td>4</td></tr></table>

Man

<table><tr><td>-1</td><td>1</td></tr></table>

> On peut faire des opérations arithmétiques avec eux.

$$ \text{King} - \text{Queen} = \text{Man} - \text{Woman} $$

$$ \text{King} - \text{Queen} + \text{Woman} = \text{Man} $$
# Exemple : Word Embeddings

> On transforme des mots en vecteurs de N valeurs.

Queen

<table><tr><td>3</td><td>3</td></tr></table>

King

<table><tr><td>1</td><td>0</td></tr></table>

N = 2

Woman

<table><tr><td>1</td><td>4</td></tr></table>

Man

<table><tr><td>-1</td><td>1</td></tr></table>

> On peut faire des opérations arithmétiques avec eux.

$$ \text{King} - \text{Queen} = \text{Man} - \text{Woman} $$

$$ \text{King} - \text{Queen} + \text{Woman} = \text{Man} $$

<figure><img src="image_41.png" /></figure>
Comment faire avec
des séquences ?
# Données séquentielles

> Toute forme de données temporelles :

Vidéo, musique, parole, texte, météo, bourse, capteurs, EEG, MEG, fMRI, etc
# Données séquentielles

> Toute forme de données temporelles :

Vidéo, musique, parole, texte, météo, bourse, capteurs, EEG, MEG, fMRI, etc

EEG

<figure><img src="image_42.png" /></figure>
# Données séquentielles

> Toute forme de données temporelles :

Vidéo, musique, parole, texte, météo, bourse, capteurs, EEG, MEG, fMRI, etc

<figure><img src="image_43.png" /></figure>
# Données séquentielles

> Toute forme de données temporelles :

Vidéo, musique, parole, texte, météo, bourse, capteurs, EEG, MEG, fMRI, etc

EEG

<figure><img src="image_44.png" /></figure>

Peut-être avons nous besoin du contexte :
informations des instants précédents (t-1, t-2, t-3, etc)

> 1 seconde à 256Hz => 2560 entrées

= > Beaucoup d'entrée !
RNN (Recurrent Neural Network)

<figure><img src="image_45.png" /></figure>
RNN (Recurrent Neural Network)

<figure><img src="image_46.png" /></figure>
RNN (Recurrent Neural Network)

<figure><img src="image_47.png" /></figure>
RNN (Recurrent Neural Network)

<figure><img src="image_48.png" /></figure>
LSTM (Long Short Term Memory)

<figure><img src="image_49.png" /></figure>
LSTM (Long Short Term Memory)

<figure><img src="image_50.png" /></figure>

> On transfère la sortie Y

> On transfère une mémoire C
LSTM (Long Short Term Memory)

<figure><img src="image_51.png" /></figure>

> On transfère la sortie Y

> On transfère une mémoire C

> Grâce à un ensemble de portes, on est capable de mettre à jour la mémoire

> C'est toujours compliqué de conserver les informations du passé
# Qu'est ce qu'un
Transformers ?
L'architecture d'un Transformers

<figure><img src="image_52.png" /></figure>
L'architecture d'un Transformers

<figure><img src="image_53.png" /></figure>
# L'architecture d'un Transformers

Réseau de neurones classique

<figure><img src="image_54.png" /></figure>
# L'architecture d'un Transformers

<figure><img src="image_55.png" /></figure>
# Qu'est-ce que l'Attention ?

* On cherche à extraire du passé (t-1, t-2, t-3, etc) les informations importantes pour prédire l'instant t.
Qu'est-ce que l'Attention ?

> On cherche à extraire du passé (t-1, t-2, t-3, etc) les informations importantes pour prédire l'instant t.

Next word ?

"He later went to report Malaysia for one year"
# Qu'est-ce que l'Attention ?

> On cherche à extraire du passé (t-1, t-2, t-3, etc) les informations importantes pour prédire l'instant t.

<figure><img src="image_56.png" /></figure>

Next word ?

"He later went to report Malaysia for one year"

<figure><img src="image_57.png" /></figure>

<figure><img src="image_58.png" /></figure>

Important

Pas
important
# Qu'est-ce que l'Attention ?

> On cherche à extraire du passé (t-1, t-2, t-3, etc) les informations importantes pour prédire l'instant t.

<figure><img src="image_59.png" /></figure>

<figure><img src="image_60.png" /></figure>

On peut alors utiliser ce vecteur pour nous aider à prédire le prochain mot.
Qu'est-ce que l'Attention ?

"He later went to report Malaysia for one year"
# Qu'est-ce que l'Attention ?

> "He later went to report Malaysia for one year"

> A quel point chaque mot est important pour chaque autre mot ?
# Qu'est-ce que l'Attention ?

> "He later went to report Malaysia for one year"

> A quel point chaque mot est important pour chaque autre mot ?

<figure><img src="image_61.png" /></figure>
# Qu'est-ce que l'Attention ?

> "He later went to report Malaysia for one year"

* A quel point chaque mot est important pour chaque autre mot ?

* Si notre phrase fait N mots, on obtient alors $N*N (= N^2)$ différentes valeurs.

9*9 = 81 valeurs

<figure><img src="image_62.png" /></figure>
## Encodeur et Décodeur

<figure><img src="image_63.png" /></figure>

* Initialement prévu pour
de la traduction
# Encodeur et Décodeur

<figure><img src="image_64.png" /><figcaption>Décodeur</figcaption></figure>

<footnote>* Initialement prévu pour
de la traduction</footnote>
Encodeur

> Son but est de compresser les données qu'il reçoit,
de manière à ce qu'elle puisse être ensuite décoder par
le décodeur.
# Encodeur

> Son but est de compresser les données qu'il reçoit, de manière à ce qu'elle puisse être ensuite décodeur par le décodeur.

> Il peut être capable de transformer un texte en un simple vecteur (modèle BERT).

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo

<figure><img src="image_65.png" /></figure>

<table><tr><td>0.12</td><td>0.42</td><td>0.89</td><td>1.56</td><td>2.11</td><td>0.08</td><td>1.95</td><td>1.12</td><td>0.88</td><td>2.02</td></tr></table>
# Encodeur

> Son but est de compresser les données qu'il reçoit, de manière à ce qu'elle puisse être ensuite décodeur par le décodeur.

> Il peut être capable de transformer un texte en un simple vecteur (modèle BERT).

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo

<figure><img src="image_66.png" /></figure>

0.12

0.42

0.89

1.56

2.11

0.08

1.95

1.12

0.88

2.02

> On peut calculer des distances entre des textes.

## Exemple

<figure><img src="image_67.png" /></figure>

https://www.naowak.fr/overton/
# Décodeur

> Son but est de décoder des données issues de l'encodeur (initialement traduction).
Décodeur

> Son but est de décoder des données issues de l'encodeur.

> On a remarqué que si on ne lui donne pas de données issues de l'encodeur, mais qu'on lui donne le début d'une séquence, il est capable de la continuer.

> Dans notre cas (texte), il est capable de deviner le prochain mot d'une phrase.
# Décodeur

* Son but est de décodeur des données issues de l'encodeur.

* On a remarqué que si on ne lui donne pas de données issues de l'encodeur, mais qu'on lui donne le début d'une séquence, il est capable de la continuer.

* Dans notre cas (texte), il est capable de deviner le prochain mot d'une phrase.

* C'est chatGPT.

<figure><img src="image_68.png" /></figure>
# Comment entraîner un
transformers ?
# Entraîner un modèle de base

> Il faut choisir une architecture et une taille (nombre de paramètres)

<table><thead><tr><td>Modèle</td><td>Architecture</td><td>Nombre paramètres</td></tr></thead><tbody><tr><td>BERT (2018)</td><td>Encodeur</td><td>340.000.000 (340M)</td></tr><tr><td>GPT-3 (2020)</td><td>Décodeur</td><td>175.000.000.000 (175B)</td></tr><tr><td>GPT-4 (2023)</td><td>Décodeur + MOE</td><td>1.760.000.000.000 (8 * 220B)</td></tr></tbody></table>
# Entraîner un modèle de base

> Il faut choisir une architecture et une taille (nombre de paramètres)

<table><thead><tr><td>Modèle</td><td>Architecture</td><td>Nombre paramètres</td></tr></thead><tbody><tr><td>BERT (2018)</td><td>Encodeur</td><td>340.000.000 (340M)</td></tr><tr><td>GPT-3 (2020)</td><td>Décodeur</td><td>175.000.000.000 (175B)</td></tr><tr><td>GPT-4 (2023)</td><td>Décodeur + MOE</td><td>1.760.000.000.000 (8 * 220B)</td></tr><tr><td>GPT-3.5-turbo (2023)</td><td>Décodeur</td><td>20.000.000.000 (20B)</td></tr><tr><td>Mistral (2023)</td><td>Décodeur</td><td>7.000.000.000 (7B)</td></tr></tbody></table>
# Entraîner un modèle de base

> Il faut choisir une architecture et une taille (nombre de paramètres)

<table><thead><tr><td>Modèle</td><td>Architecture</td><td>Nombre paramètres</td></tr></thead><tbody><tr><td>BERT (2018)</td><td>Encodeur</td><td>340.000.000 (340M)</td></tr><tr><td>GPT-3 (2020)</td><td>Décodeur</td><td>175.000.000.000 (175B)</td></tr><tr><td>GPT-4 (2023)</td><td>Décodeur + MOE</td><td>1.760.000.000.000 (8 * 220B)</td></tr><tr><td>GPT-3.5-turbo (2023)</td><td>Décodeur</td><td>20.000.000.000 (20B)</td></tr><tr><td>Mistral (2023)</td><td>Décodeur</td><td>7.000.000.000 (7B)</td></tr></tbody></table>

> Il faut beaucoup de données (vraiment beaucoup) : tout internet pour chatGPT.
# Entraîner un modèle de base

* Il faut choisir une architecture et une taille (nombre de paramètres)

<table><thead><tr><td>Modèle</td><td>Architecture</td><td>Nombre paramètres</td></tr></thead><tbody><tr><td>BERT (2018)</td><td>Encodeur</td><td>340.000.000 (340M)</td></tr><tr><td>GPT-3 (2020)</td><td>Décodeur</td><td>175.000.000.000 (175B)</td></tr><tr><td>GPT-4 (2023)</td><td>Décodeur + MOE</td><td>1.760.000.000.000 (8 * 220B)</td></tr><tr><td>GPT-3.5-turbo (2023)</td><td>Décodeur</td><td>20.000.000.000 (20B)</td></tr><tr><td>Mistral (2023)</td><td>Décodeur</td><td>7.000.000.000 (7B)</td></tr></tbody></table>

* Il faut beaucoup de données (vraiment beaucoup) : tout internet pour chatGPT.

* Beaucoup beaucoup de puissance de calcul ! (4 A100 minimum pour un modèle de 6B ~ 80.000 euros)
# Entraîner un modèle de base

* Il faut choisir une architecture et une taille (nombre de paramètres)

<table><thead><tr><td>Modèle</td><td>Architecture</td><td>Nombre paramètres</td></tr></thead><tbody><tr><td>BERT (2018)</td><td>Encodeur</td><td>340.000.000 (340M)</td></tr><tr><td>GPT-3 (2020)</td><td>Décodeur</td><td>175.000.000.000 (175B)</td></tr><tr><td>GPT-4 (2023)</td><td>Décodeur + MOE</td><td>1.760.000.000.000 (8 * 220B)</td></tr><tr><td>GPT-3.5-turbo (2023)</td><td>Décodeur</td><td>20.000.000.000 (20B)</td></tr><tr><td>Mistral (2023)</td><td>Décodeur</td><td>7.000.000.000 (7B)</td></tr></tbody></table>

* Il faut beaucoup de données (vraiment beaucoup) : tout internet pour chatGPT.

* Beaucoup beaucoup de puissance de calcul ! (4 A100 minimum pour un modèle de 6B ~ 80.000 euros)

* Un énorme paquet de thunes !

<figure><img src="image_69.png" /></figure>

<figure><img src="image_70.png" /></figure>

<figure><img src="image_71.png" /></figure>
# Des modèles de base open-source

<figure><img src="image_72.png" /></figure>

Falcon
(7B, 40B, 180B)

Emirats Arabes Unis
Juin 2023

<figure><img src="image_73.png" /></figure>

Llama 2
(7B, 13B, 70B)

Etats-Unis
Juillet 2023

<figure><img src="image_74.png" /></figure>

Mistral
(7B)

France
Septembre 2023
Fine-tuning (optionnel)

> Un modèle de base ne sait pas dialoguer => deuxième phase d'entraînement
Fine-tuning (optionnel)

> Un modèle de base ne sait pas dialoguer => deuxième phase d'entraînement

> Il faut lui apprendre un format de discussion

system

user

assistant

user

assistant

...
Fine-tuning (optionnel)

> Un modèle de base ne sait pas dialoguer => deuxième phase d'entraînement

> Il faut lui apprendre un format de discussion

system

user

assistant

user

assistant

...

'''

Tu es un assistant, tu dois répondre aux questions que l'utilisateur te pose.

Si tu ne sais pas, réponds "Je ne sais pas".

Tu dois toujours répondre de manière courtoise et polie.

'''
Fine-tuning (optionnel)

> Un modèle de base ne sait pas dialoguer => deuxième phase d'entraînement

> Il faut lui apprendre un format de discussion

<figure><img src="image_75.png" /></figure>
Fine-tuning (optionnel)

> Un modèle de base ne sait pas dialoguer => deuxième phase d'entraînement

> Il faut lui apprendre un format de discussion

<figure><img src="image_76.png" /></figure>
Fine-tuning (optionnel)

> Un modèle de base ne sait pas dialoguer => deuxième phase d'entraînement

> Il faut lui apprendre un format de discussion

<figure><img src="image_77.png" /></figure>
RLHF (Optionnel)

> RLHF : Reinforcement Learning with Human Feedback == Apprentissage par Renforcement avec Retour Humain
# RLHF (Optionnel)

> RLHF : Reinforcement Learning with Human Feedback == Apprentissage par Renforcement avec Retour Humain

<figure><img src="image_78.png" /></figure>
# RLHF (Optionnel)

> RLHF : Reinforcement Learning with Human Feedback == Apprentissage par Renforcement avec Retour Humain

<figure><img src="image_79.png" /></figure>
# RLHF (Optionnel)

> RLHF : Reinforcement Learning with Human Feedback == Apprentissage par Renforcement avec Retour Humain

<figure><img src="image_80.png" /></figure>
# Prêt pour l'utilisation

> Le modèle est entraîné : on n'y touche plus !

Prêt pour
discuter !

<figure><img src="image_81.png" /></figure>
Qu'est ce qu'un prompt ?
Le prompt : ou comment faire des agents

> Un début de texte qu'un modèle va compléter/continuer.
Le prompt : ou comment faire des agents

> Un début de texte qu'un modèle va compléter/continuer.

> Mais selon la tâche pour laquelle est entraîné notre modèle, on peut avoir des prompts plus complexe

system

user

assistant

user

assistant

...
Le prompt : ou comment faire des agents

> Un début de texte qu'un modèle va compléter/continuer.

> Mais selon la tâche pour laquelle est entraîné notre modèle, on peut avoir des prompts plus complexe

> En fonction du message system, l'ensemble du comportement de notre modèle peut changer : on appelle ça des "agents".

system

user

assistant

user

assistant

...
Le prompt : ou comment faire des agents

> Un début de texte qu'un modèle va compléter/continuer.

> Mais selon la tâche pour laquelle est entraîné notre modèle, on peut avoir des prompts plus complexe

> En fonction du message system, l'ensemble du comportement de notre modèle peut changer : on appelle ça des "agents".

Donner une "personnalité"

Auteur, scientifique, humoriste, développeur, cuisiner, etc

system

user

assistant

user

assistant

...
# Le prompt : ou comment faire des agents

> Un début de texte qu'un modèle va compléter/continuer.

> Mais selon la tâche pour laquelle est entraîné notre modèle, on peut avoir des prompts plus complexe

> En fonction du message system, l'ensemble du comportement de notre modèle peut changer : on appelle ça des "agents".

## Donner une "personnalité"

Auteur, scientifique, humoriste, développeur, cuisiner, etc

## Donner des consignes

"Explique étape par étape", "Comme si j'avais 5 ans", "en 1000 mots" etc

system

user

assistant

user

assistant

...
# Le prompt : ou comment faire des agents

> Un début de texte qu'un modèle va compléter/continuer.

> Mais selon la tâche pour laquelle est entraîné notre modèle, on peut avoir des prompts plus complexe

> En fonction du message system, l'ensemble du comportement de notre modèle peut changer : on appelle ça des "agents".

## Donner une "personnalité"

Auteur, scientifique, humoriste, développeur, cuisiner, etc

## Donner des consignes

"Explique étape par étape", "Comme si j'avais 5 ans", "en 1000 mots" etc

## Demander un format de retour

Formatage, code, langue, uniquement un nombre, etc

system

user

assistant

user

assistant

...
# Le prompt : ou comment faire des agents

> Un début de texte qu'un modèle va compléter/continuer.

> Mais selon la tâche pour laquelle est entraîné notre modèle, on peut avoir des prompts plus complexe

> En fonction du message system, l'ensemble du comportement de notre modèle peut changer : on appelle ça des "agents".

## Donner une "personnalité"

Auteur, scientifique, humoriste, développeur, cuisiner, etc

## Donner des consignes

"Explique étape par étape", "Comme si j'avais 5 ans", "en 1000 mots" etc

## Demander un format de retour

Formatage, code, langue, uniquement un nombre, etc

## RAG (Retrieval Augmented Generation)

Donner de l'information / connaissance dans le prompt : très utile pour les Questions/Réponses

system

user

assistant

user

assistant

...
Des agents dans un environnement

<figure><img src="image_82.png" /></figure>

https://www.naowak.fr/battlefieldagents/
Le prompt : tout un futur

> Il est techniquement possible de "programmer" un comportement pour une IA en langage naturel (fr, en)

> Le prompt : c'est le moyen de communiquer avec l'IA
Le prompt : tout un futur

> Il est techniquement possible de "programmer" un comportement pour une IA en langage naturel (fr, en)

> Le prompt : c'est le moyen de communiquer avec l'IA

> Il y a de plus en plus de demande pour des profils de personnes expertes en prompt : Prompt Engineer

> Les agents conversationnels sont extrêmement efficaces en tant qu'IHM.
Le prompt : tout un futur

> Il est techniquement possible de "programmer" un comportement pour une IA en langage naturel (fr, en)

> Le prompt : c'est le moyen de communiquer avec l'IA

> Il y a de plus en plus de demande pour des profils de personnes expertes en prompt : Prompt Engineer

> Les agents conversationnels sont extrêmement efficaces en tant qu'IHM.

> Des IAs peuvent générer des prompts => Des agents peuvent créer d'autres agents pour résoudre des tâches.
(Auto-GPT, dernière version de chatGPT).
Le prompt : tout un futur

> Il est techniquement possible de "programmer" un comportement pour une IA en langage naturel (fr, en)

> Le prompt : c'est le moyen de communiquer avec l'IA

> Il y a de plus en plus de demande pour des profils de personnes expertes en prompt : Prompt Engineer

> Les agents conversationnels sont extrêmement efficaces en tant qu'IHM.

> Des IAs peuvent générer des prompts => Des agents peuvent créer d'autres agents pour résoudre des tâches.
(Auto-GPT, dernière version de chatGPT).

> Pourquoi ça marche ?

Données d'entraînement, inférence statistique, savoir accumulé.
# Quels sont les risques ?
Les risques

> Beaucoup de risques : mais probablement pas comme dans les films dystopiques

> L'Homme est le vrai danger
# Les risques

* Beaucoup de risques : mais probablement pas comme dans les films dystopiques

* L'Homme est le vrai danger

## Différents risques

### Données personnelles
# Les risques

* Beaucoup de risques : mais probablement pas comme dans les films dystopiques

* L'Homme est le vrai danger

## Différents risques

- Données personnelles

- Propagation biais passés
# Les risques

* Beaucoup de risques : mais probablement pas comme dans les films dystopiques

* L'Homme est le vrai danger

## Différents risques

- Données personnelles

- Propagation biais passés

- Centralisation du pouvoir
# Les risques

* Beaucoup de risques : mais probablement pas comme dans les films dystopiques

* L'Homme est le vrai danger

## Différents risques

- Données personnelles

- Propagation biais passés

- Centralisation du pouvoir

- Biais induits (propagande, manipulation de masse)
# Les risques

* Beaucoup de risques : mais probablement pas comme dans les films dystopiques

* L'Homme est le vrai danger

## Différents risques

- Données personnelles

- Propagation biais passés

- Centralisation du pouvoir

- Biais induits (propagande, manipulation de masse)

- Armement : robots tueurs autonomes
# Les risques

* Beaucoup de risques : mais probablement pas comme dans les films dystopiques

* L'Homme est le vrai danger

## Différents risques

- Données personnelles

- Propagation biais passés

- Centralisation du pouvoir

- Biais induits (propagande, manipulation de masse)

- Armement : robots tueurs autonomes

- Confiance aveugle
# Débat / Questions
Merci !

yannis.bendi-ouis@inria.fr