Intelligence Artificielle

De l'usage raisonné de ChatGPT

Jean-Michel Richer

EC Informatique - LERIA - Université d'Angers

16 Janvier 2024

Logo UA           Logo Fac. Sciences

Préambule


  • pour le grand public
  • raccourcis afin de simplifier la compréhension des concepts
  • éviter de se perdre dans les méandres et les ramifications de l'IA
  • attention aux abus de langage (pense, déduit, apprend, etc)


Génération d'image

Image générée par DreamShaper

Généré par DreamShaper v7

Génération de vidéo

Synthesia

Traduction

Tomorrow, and tomorrow, and tomorrow,
Creeps in this petty pace from day to day,
To the last syllable of recorded time;
And all our yesterdays have lighted fools
The way to dusty death.
Out, out, brief candle!
Life's but a walking shadow, a poor player,
That struts and frets his hour upon the stage,
And then is heard no more.
It is a tale Told by an idiot, full of sound and fury,
Signifying nothing.
The text you provided is an excerpt from William Shakespeare's play "Macbeth." Here is the English translation:

Demain, et demain, et encore demain,
S'avance en ce petit pas de jour en jour,
Jusqu'à la dernière syllabe du temps enregistré ;
Et tous nos hier ont éclairé les imbéciles
Le chemin vers une mort poussiéreuse. Sortez, sortez, brève bougie !
La vie n'est qu'une ombre qui marche, un piètre acteur,
Qui se pavane et s'agite pendant son heure sur la scène,
Et puis n'est plus entendu. C'est un conte
Raconté par un idiot, plein de bruit et de fureur,
Ne signifiant rien.


Confidence level: High. The translation is a well-established and widely accepted rendering of the original text. However, it's essential to note that translations of literary works can have some degree of interpretation involved.

Interprétation

Dans le Rouge et le Noir de Stendhal, Julien Sorel est-il amoureux de Madame de Rênal ? Oui, dans "Le Rouge et le Noir" de Stendhal, Julien Sorel est amoureux de Madame de Rênal. Cependant, cette relation amoureuse est complexe et évolue au fil du roman.

Au début de l'histoire, Julien entretient une liaison secrète avec Madame de Rênal, l'épouse du maire de Verrières. C'est une relation passionnée, mais elle est également influencée par des motifs divers, tels que l'ambition sociale de Julien. Il voit en elle une figure maternelle, mais aussi un moyen de s'élever dans la société.

La complexité de cette relation réside dans les conflits intérieurs de Julien, ses aspirations sociales et ...

Plan


  1. Intelligence Artificielle
  2. IA Génératives et ChatGPT
  3. Utilisation au sein de l'enseignement
  4. Recommandations liées à l'usage de ChatGPT



Qu'est ce que l'IA ?

Définition simple


Faire faire à une machine (ordinateur, robot) ce que les hommes savent faire


Rendre les machines intelligentes

Deux visions de l'IA


  • vision apocalyptique : 2001 l'Odyssée de l'Espace, Terminator, Matrix, etc
    • les machines nous surpasserons et déciderons de nous éliminer
  • vision optimiste : Transformers, StarWars
    • aider les humains
    • situations périlleuses
    • tâches répétitives abrutissantes
    • tâches complexes (calculs)

Fondation de l'IA (1956)

1956 : Conférence au Dartmouth Collège, New Hampshire, USA (2 mois, 20 chercheurs)

  • domaine des thinking machines: cybernetics, automata theory, complex information processing
  • John McCarthy, Marvin Minsky, Claude Shannon, Allen Newell, Herbert Simon, John Holland, etc
  • terme IA choisit par John McCarthy
  • Logic Theorist
  • algorithme alpha-beta \(\rightarrow\) NSS pour les échecs (1958)

IA : Terminologie

Raisonnement Machine \(\simeq\) Thinking Machines

  • intelligence (?)
  • artificielle (artifice) = ruse, tromper
  • Grands espoirs suite à la conférence de Dartmouth mais vite déçus

Les domaines de l'IA


  • RAISONNER :
    • logique (calcul proprositionnel, calcul des prédicats)
    • l'apprentissage (Systèmes Experts, Machine Learning - Deep Learning) ~ Classification
  • RESOUDRE : résolution de problème en général, les jeux (dames, échecs, go, etc)
  • VOIR : la vision artificielle, la robotique, l'analyse d'images
  • COMPRENDRE : le traitement automatique du langage naturel (Natural Language Processing)

Une question se pose alors


Que savons nous faire et que sait faire la machine ?


qu'est-ce qui nous oppose ou nous rapproche ?

Capacités humaines

Cogito ergo sum

Conscience, émotions, interaction avec notre environnement

  • lire : reconnaître des mots, des phrases
  • écrire : dessiner des symboles
  • parler : produire des sons
  • calculer, trier, ordonner
  • maîtriser notre environnement : se déplacer
  • réfléchir, imaginer, concevoir, réaliser
  • créer : dessiner, peindre, sculpter, faire de la musique
  • etc

Capacité d'un ordinateur

Calculo sed non sum

  • aucune conscience, aucune émotion
  • aucune connaisance de son environnement

mais est capable de calculer très rapidement

  • CPU : GFlops (=\(10^9\))
  • GPU : TFlops (=\(10^{12}\))

Flops = Floating Point Operation Per Second

Mode de fonctionnement d'un ordinateur

Assez simpliste

Un ordinateur est un automate de calcul qui exécute un programme

  • lire des données depuis une mémoire
  • combiner ces données et obtenir un résultat (+,-,/,*,etc)
  • écrire le résultat en mémoire

Machine et intelligence

Donc un ordinateur ne sait que calculer alors comment exhibe t-il un comportement intelligent ?


  • savoir calculer est-ce être intelligent ?
  • le calcul fait-il partie de l'intelligence ?

  • non, parce qu'on applique bêtement des règles
  • oui, parce qu'il a fallu établir les règles

Résumé



les machines ne savent pas raisonner, n'ont pas d'émotions, n'ont pas conscience de leur environnement


alors comment peut-on créer ChatGPT ?

Qu'est ce que chatGPT ?

ChatGPT

Dessine moi un mouton


  • IA Générative (GAI) : générer des données (texte, image, musique) de manière autonome
  • Chat Bot : agent conversationnel
  • donne l'illusion d'une conversation avec un humain
  • large corpus de travail
  • développé par OpenAI
  • ELIZA 1964 Joseph Weizenbaum

OpenAI


Our mission is to ensure that Artificial General Intelligence—AI systems that are generally smarter than humans—benefits all of humanity

  • fondée en décembre 2015
  • Elon Musk, Sam Altman, Ilya Sutskever, Greg Brockman, Wojciech Zaremba et John Schulman
  • promouvoir et développer des recherches en IA bénéfiques pour l'humanité

OpenAI Chiffre d'Affaire


  • version gratuite
  • version payante : 200 millions de dollars attendus pour 2023
  • un milliard de dollars pour 2024 ?
  • OpenAI valorisée autour de 29 milliards de dollars
  • 10 milliards de dollars d'investissement de Microsoft en 2023

ChatGPT en Chiffres

  • accessible en Novembre 2022 pour le public
  • 1 million d'utilisateur en 5 jours
  • 175 milliards de paramètres, 300 milliards de mots
  • 400 Go de données
  • coût de l'entraînement : 12 millions de dollars
  • serveur de calcul de plus de 10000 GPU
  • coût de fonctionnement : 700_000 dollars par jour

Que fait ChatGPT ?


Etant donné un ensemble de mots (phrase), prédit le mot suivant


  • repose sur plusieurs technologies dont les LLM et les réseaux de neurones
  • utilisation de probabilités pour le choix du prochain mot

Large Language Model


  • apparu en 2018 (Vaswani et al., Google)
  • réseaux de neurones profonds entraînés sur de grandes quantités de texte
  • fonctionne à partir d'un prompt (phrase d'accroche)

Large Language Model

Large Language Model

Réseau de neurones


  • classificateur qui met en relation
    • des données en entrées (pixels d'une image)
    • avec des catégories (lettre, chiffre, animal, etc)
  • phase d'apprentissage : système « apprenant » par correction d'erreurs
  • en fait une boîte noire qui fait beaucoup de calculs
  • bon fulgurant avec l'amélioration des GPU

Vidéo

link

Neurone (artificiel)

neurone artificiel
  • un interrupteur qui se déclenche si un seuil est franchi
  • valeurs entre 0 et 1
  • utilisation d'une fonction de seuil \(f\)
\[f( \Sigma_{i=1}^{n} w_i x_i + b)\]

Exemple de réseau de neurones

réseau de neurones
  • MNIST (Mixed National Institute of Standards and Technology)
  • entrée : 28 x 28 pixels
  • 10 sorties
  • 2 couches de 16 neurones
  • 12960 calculs

Réseau de Neurone et Intelligence

Penser, est-ce calculer ?

  • le réseau est entraîné à prédire la bonne réponse
  • il « apprend », en fait il calcule
  • « moins sensible » aux erreurs
  • toujours susceptible de commettre des erreurs

Les aléas de chatGPT


  • mauvaises prédictions : ex Christophe Colomb, Présidente française
  • ne cite pas ses sources
  • ou sources fausses : cas d'un avocat aux USA
  • hallucinations (confabulation - psychiatrie)
  • erreurs de calcul
  • garde-fous mis en place petit à petit

Règle de trois

Si trois pommes coûtent 15 centimes combien coûtent 8 pommes ?

  • ChatGPT indique qu'il faut utiliser une règle de trois
  • mais donne un résultat de 24 au lieu de 40
  • le problème semble être corrigé

Exemple \(C_{35}^{32}\)

un calcul erroné

\[\begin{aligned} C(35, 32) & = (35!) / (32! × (35-32!)) \\ C(35, 32) & = (35 × 34 × 33 × 32!) / (32! × 3!) \\ C(35, 32) & = (35 × 34 × 33) / 6 \\ C(35, 32) & = (65445) / 6 \; ? (sic\; 39270) \\ C(35, 32) & = 109075 \; ? (sic\; 6545)\\ \end{aligned}\]

Exemple Tri Rapide (Quicksort)

Algorithme simple pour trier un tableau d'entiers :

  1. choisir une valeur pivot
  2. réordonner les valeurs du tableau:
    • les valeurs inférieures au pivot sont dans la partie basse du tableau
    • les valeurs supérieures sont dans la partie haute
    • le pivot est placé « au milieu »
  3. on trie la partie basse et la partie haute

Tri Rapide concrétement

Tableau initial :

7 1 4 5 9 2 3

Stockage temporaire du pivot :

7 1 4 3 9 2 5

Tableau aprés réordonnancement :

1 4 3 2 5 7 9

Tri rapide traditionnel


  • on travaille sur un seul tableau
  • on prend le pivot au « milieu » du tableau
  • solution efficace en \(O(n × log_2(n))\)

pour n = 1_000_000, on a:

  • \(n × log_2(n) \simeq 20^6\)
  • \(n × n / 2 = 5 × 10^{11}\)
  • soit 25_000 fois plus rapide qu'un tri « classique » pour \(n = 10^6\)

Tri rapide chatGPT


  • « belle » solution car compréhensible
  • à chaque étape on crée deux sous-tableaux : inférieur et supérieur à la valeur pivot
  • on prend le pivot en tant que premier élément du tableau

Code chatGPT



function tri_rapide(&$tableau) {
    $length = count($tableau);
    if ($length <= 1) return $tableau;

    $pivot = $tableau[0];
    $gauche = $droite = [];

    for ($i = 1; $i < $length; $i++) {
        if ($tableau[$i] < $pivot) {
            $gauche[] = $tableau[$i];
        } else {
            $droite[] = $tableau[$i];
        }
    }

    $gauche = tri_rapide($gauche);
    $droite = tri_rapide($droite);

    return array_merge($gauche, [$pivot], $droite);
}
				

Défauts de la version chatGPT

  • consommation excessive de la mémoire :
    • deux sous-tableaux à chaque itération
    • tableau résultat (fusion)
    • suppression des sous-tableaux (?)
  • si les données sont triées (ordre croissant ou décroissant) : totalement inefficace \(O(n^2)\) car pivot en première position

Défauts de la version chatGPT

Consommation mémoire

Consommation mémoire

  • AMD Ryzen 5 5600g
  • 32 Go de RAM
  • tri de 70_000 éléments déjà triés
    • sort : 0,02 s
    • impl 1 : 36 s
    • impl 2 : après 42 s, 100% de la mémoire utilisée, crash

Le Danger


un défaut caché difficilement détectable potentiellement dangereux

  • utilisation d'un algorithme mal implanté
  • qui va fonctionner dans la plupart des cas
  • mais qui dans certains cas pourra provoquer un crash

Autres dangers

  • suppression des emplois à faible qualification
    • 90% des emplois supprimés
    • première réponse passe de 1m44s à 0s
    • temps de résolution passe de 2h13 to 3m12s
    • dépenses du support client réduites de 85%
  • suppression des emplois liés aux rédacteurs de contenu, graphistes
  • remplacement des décideurs humains par des IA : domaine militaire (WarGames)
  • remplacement des développeurs ?

ChatGPT et l'Enseignement

Avantages pour les enseignants


  • assistant
  • structurer un cours ou un point particulier
  • traiter une notion annexe à un cours rapidement
  • créer des exercices
  • disposer de son propre chat bot (StackAI, VoiceFlow)
  • mais toujours garder un sens critique quant au résultat obtenu

Avantages pour les étudiants


  • structurer un exposé, un rapport
  • se former rapidement ou approfondir sur une notion vue en cours
  • créer et résoudre des exercices
  • mais toujours garder un sens critique

dangers pour l'enseignement

Science sans conscience n'est que ruine de l'âme

Connaissance sans compréhension ou absence de connaissance

  • difficulté de différencier compétence et incompétence : savoir copier n'est pas une preuve d'intelligence
  • absence de connaissance de la part des apprenants
  • génération de FAI car pas d'effort
  • remplacement des enseignants ?

Points de vigilance

le tout est plus que la somme des parties

la compétence découle de la connaissance

Connaissance
  • fonder son savoir sur ChatGPT est dangereux (hallucinations, références, hors sujet, erreurs de calcul)
  • mêmes travers que pourrait avoir l'approche par compétences car connaissance parcellaire

CONCLUSION

ChatGPT


  • est une prouesse technologique
  • une aide précieuse si on sait comment s'en servir

mais

  • toujours garder un regard critique
  • risque de creuser l'écart lié au savoir
  • réponse de ChatGPT : curseur entre recopie et invention (compréhension) ?

Recommandations

pour les étudiants et les enseignants


  • on peut s'aider de ChatGPT
  • texte, image, audio, vidéo généré par une IA Générative doit être cité
  • ou les parties d'un document (plan, section, paragraphe, etc)

Examens

pour les étudiants


  • interdire formellement l'usage de ChatGPT
  • tester la capacité de l'étudiant à utiliser ses connaissances et compétences
  • interdire formellement l'usage du téléphone portable en CM/TD/TP ?

N'oublions pas

les autres logiciels

  • les générateur de code : Bard de Google, Copilot (GitHub, OpenAI, Microsoft), Llama de Meta, Codex d'OpenAI
  • les générateurs d'image : Dall-E, DreamShaper, MidJourney

Homo Artificiens Intelligencius

MERCI POUR
Votre
Attention

Questions

ANNEXES

chatGPT en Python



import openai
import apikey;    
openai.api_key = apikey.key

messages = []
messages.append({"role": "system", 
                 "content": "you are a teacher of computer science"})

print("Your new assistant is ready!")
while input != "quit()":
    message = input()
    messages.append({"role": "user", "content": message})
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=messages)
    reply = response["choices"][0]["message"]["content"]
    messages.append({"role": "assistant", "content": reply})
    print("\n" + reply + "\n")

How to Use ChatGPT

How to use ChatGPT par Leila Gharani

ChatGPT : 5 domaines bouleversés par l’IA générative depuis 1 an

En seulement 1 an, ChatGPT aura bousculé les rangs de nombreux acteurs, jusqu’à déstabiliser les géants de la tech comme Google ou Microsoft. De l’étonnement à l’inquiétude, focus sur 5 domaines bien secoués par la révolution de l’IA générative

Tromper ChatGPT

Ils ont trouvé comment tromper DALL-E et Stable pour générer des images X

Une équipe de chercheurs a découvert une méthode improbable pour contourner les filtres de sécurité des générateurs d’images IA comme Stable Diffusion, DALL-E ou MidJourney. Et cette technique est la première à fonctionner sur tous ces outils pour les forcer à générer des images violentes ou pornographiques

Peurs liées à ChatGPT

Intelligence artificielle : ChatGPT comprend beaucoup plus que nous le prétendons

Peurs liées à ChatGPT

Trolldi : "80", répond Bard à la question de savoir combien de pattes ont 10 éléphants si 2 en sont dépourvus

LLM et Service Public

Avec Mistral 7B, on a réduit les délais de réponse de plus de 50% !