Table des matières
Bootcamp Intelligence Artificielle (IA)
Présentations
Audrey Robinel, enseignant, hacker, maker, titulaire d'un doctorat en IA appliquée.
Quelques uns de mes papiers
Mes activités actuelles
- Enseignant ayant pratiqué au collège (tous niveaux), lycée (seconde et première), en BTS (1ere et 2eme année) et à l'université (tous niveaux)
- Lab manager du Bik'Lab
- Membre de l'équipe de gestion du Fablab à Coeffin
Introduction
L'IA devient omniprésente dans le monde des années 2020. Les performances croissent très vite, ce qui soulève des interrogations sociétales, et plus particulièrement dans notre domaine : l'enseignement.
Avant de s'interroger sur ces problématiques, définissons notre sujet.
L'intelligence
Qu'est-ce que l'intelligence? Selon le dictionnaire le ROBERT c'est :
En psychologie, on considère que l'intelligence mesure la capacité à s'adapter et résoudre des problèmes nouveaux.
En voici une autre définition plus étoffée :
On applique traditionnellement ces définitions aux êtres vivants.
L'intelligence artificielle
Quelques principes fondamentaux de l'IA moderne
Nous allons présenter ici quelques concepts fondamentaux que vous rencontrerez dans le monde de l'IA. Tous les fondements ne sont pas présentés ici, seulement une sélection qui permettra de mieux comprendre la suite
machine learning ou systèmes apprenants
Un système apprenant, c'est de l'IA. Mais toutes les IA ne sont pas des systèmes apprenants. Nous nous intéressons particulièrement à l'apprentissage supervisé du fait de sa prévalence dans les outils modernes.
On trouvera trois principales méthodes pour les systèmes apprenants :
- L'apprentissage supervisé;
- l'apprentissage non supervisé;
- l'apprentissage par renforcement.
Apprentissage supervisé
Apprentissage non supervisé
Apprentissage par renforcement
Historique rapide de l'intelligence artificielle
Les premiers pas
Franck Ronsenblatt publie en 1958 The perceptron: a probabilistic model for information storage and organization in the brain, un article fondateur qui pose les bases des réseaux de neurones artificiels.
L'hiver de l'IA
Renaissance de l'IA
L'explosion de la décennie 2010
Si on constate un emballement généralisé de la présence de l'IA dans la société, ce mouvement a commencé dans les années 2010, avec des travaux sur le deep learning, les réseaux neuronaux récurents, mais également l'utilisation du GPU computing, qui a permis d’accroitre considérablement la puissance de calcul exploitable pour des tâches IA.
Les principaux types d'IA
Les systèmes experts
très populaires pendant les années 80. Résultats prévisibles, explicables.
- une base de faits ;
- une base de règles ;
- un moteur d'inférence.
Les systèmes évolutionnaires - algorithmes génétiques
Les réseaux de neurones artificiels
Enfin, le type d'IA le plus prépondérant de nos jours : les réseaux de neurones artificiels. Ils sont au cœur des plus gros projets, jusqu'au célèbre chatGTP. Les travaux sur les neurones artificiels remontent au début de l'IA, et cette branche reçoit la majorité des efforts de recherche et de financements.
Principe général des réseaux de neurones artificiels
Commençons par le neurone artificiel. Proposé dès les années 50, avec le perceptron, ce modèle permet de créer ….
Le perceptron simple n'est cependant pas capable de résoudre des problèmes plus complexes. Pour ceux ci, la solution est de connecter entre eux plusieurs neurones artificiels, pour ainsi former un réseau de neurones artificiels.
Le perceptron multi-couches : les neurones en réseau
Dans son expression la plus simple, on a ainsi une couche d'entrée, une ou plusieurs couches intermédiaires, appelées couches cachées, et une couche de sortie. Chaque neurone de la couche d'entrée sert à “voir” une variable du problème. Les neurones de la couche de sortie servent à “dire” la réponse du réseau de neurones artificiels. Toutes les couches intermédiaires sont celles qui contiennent en quelques sorte la puissance cognitive du réseau. Le nombre de couches et leur taille est un problème complexe pour obtenir le réseau idéal pour répondre à un problème.
Rétro propagation du gradient de l'erreur Cette méthode réhabilita complètement les réseaux de neurones artificiels en fournissant une solution permettant d'ajuster automatiquement les poids synaptiques entre les neurones en fonction de l'erreur mesurée.
Réseaux de neurones récurrents Cette fois ci on ajoute la possibilité pour le signal de repasser par des neurones qui l'ont déjà propagé. Cela permet potentiellement des effets de mémoire avancés, mais la complexité du modèle explose.
Deep learning
Pour en savoir plus, un article très didactique : Deep Learning ou Apprentissage Profond : qu’est-ce que c’est ?
Plus les réseaux deviennent complexes, plus il devient coûteux et complexe de les entraîner. Des stratégies très astucieuses ont été mises en place, tel que le “Optimal Brain Damage”, que l'on peut traduire par dégats cérébraux optimum, qui consiste à partir d'un réseau très complexe (et donc lourd) et de faire des “trous” dedans. Si les performances baissent, on ne conserve pas la modification. Mais si elles ne changent pas, ou s'améliore, on conserve. Ainsi, on peut tailler considérablement dans la surface de notre réseau pour le rendre plus facile à gérer
La course à la puissance, et le GPU computing
Face à la lourdeur des algorithme d'entraînement, là ou certains cherchent l'optimisation pour les alléger, d'autres s'appuient plutôt sur l'accroissement de la puissance de calcul accessible, et plus particulièrement sur la puissance des cartes accélératrices 3D. Au départ, celles ci servaient principalement au rendu 3D, pour les jeux, etc. En moins d'une décennie, le “GPU compute”, ou les calculs par carte 3D à des fins autres que l'affichage vidéo ont pris une place prépondérante sur ce marché, au point que les joueurs ne sont plus la priorité des grands fabricants comme Nvidia ou AMD, mais bien au contraire, les datacentres et les laboratoires. La puissance de calcul d'un GPU moderne est sans commune mesure avec celle d'un processeur général, et les tâches d'IA sont particulièrement adaptées. Ainsi l'explosion quasi exponentielle des capacités des IA de ces dernières années s'appuie en partie sur ces nouvelles possibilités.
Forces et faiblesses de ces modèle ? ou intégrer plus haut?
Applications de l'IA
- NLP : Natural Language Processing
- Génération d'images (voir, entre autre, GAN)
- deepfakes
- reconstruction vocale
- vision numérique (analyse d'images pour en déterminer le contenu)
- reconstruction d'images dégradées ou d'informations manquantes
- AI upscale
- correction vidéo live (regard caméra)
- suppression du bruit (audio ou image/vidéo)
- construction d'objets 3D depuis des images 2D
- génération de vidéo
- analyse de texte et génération de résumés
- conduite autonome de véhicules
- diagnostic médical automatique (plus précis que les meilleurs spécialistes)
- …
Seconde partie - Mise en pratique
IA conversationnelle type LLM
Commençons par le plus populaire, ChatGPT.
L'utilisation est pour le moment gratuite, mais demande la création d'un compte. Cliquez ici pour converser avec ChatGPT
Ce chatbot comprend de nombreuses langues, dont le français. Les résultats me semblent aussi pertinents en français qu'en anglais. A essayer :
- Poser une question sur un sujet que vous maîtrisez. Par exemple qu'est-ce que la programmation?
- Poser une question plus technique sur ce sujet, par exemple quelle sont les différences entre le C et le python?
- Demander de résumer un sujet, par exemple Résume moi en 100 mots ce qu'est l'informatique.
- Demander un résumé encore plus court, par exemple : Résume moi en 10 mots ce qu'est l'informatique
- créer le plan d'un exposé sur un sujet
- créer des paragraphes du plan
- créer du code dans un langage de programmation de votre choix (par exemple python)
- Prendre un texte quelconque, et demander un résumé
- Poser des questions sur vous-même
- poser des questions sur les événements de cette année
- demander ce qui est mieux entre le seigneur des anneaux et la guerre des étoiles
Il y a quelques semaines, chatGPT était connu pour être très mauvais en mathématiques. Depuis, il y a des ponts entre chatGPT et Wolfam Alpha
Pour celles et ceux qui souhaitent approfondir le sujet des LLM, voici quelques ressources :
- Awesome-LLM/milestone-papers, une collection des articles scientifiques fondateurs du domaine, depuis 2017;
- Awesome-LLM/llm-leaderboard, un classement des LLM par taille d'hyper-paramètres
- Awesome-LLM/open-llm, Une liste des LLM Open sources, avec les liens vers les projets
IA de ce types auto hébergées :
- alpaca.cpp, tourne en local, avec un modèle de 4go (7B)
- x-turing
IA génératrices d'images
- Midjourney (payant)
- Dall-E 2 (payant)
- Easy Diffusion (libre, gratuit, auto hébergé sur votre ordinateur) Page GitHUB pour télécharger l'installeur
- craiyon (gratuit, basé sur un logiciel libre)
- Bing image create Utilise Dall-E, gratuit avec limitations, tokens journaliers
- nightcafe Stable diffusion(multi-version), essai gratuit
- Leonardo.Ai
- Adobe Firefly
- Blue Willow (gratuit)
- InstantArt (multimodèle, partiellement gratuit)
- Lexica basé sur Lexica Aperture, génération gratuite
- Lexica Aperture multi-modèle, le compte gratuit permet d'essayer pas mal de choses
Liens divers :