Salut à toi,
J’espère que tout va bien.

Aujourd’hui, après l’épisode de EasyTech #11 de la semaine dernière, deuxième partie de la série pour démystifier l’IA.
On va se focaliser sur les applications de l’IA et leurs enjeux.
Mais avant ça, j’aimerais qu’on parle de comment on fait pour construire ces systèmes.
Construire un système avec de l’IA
On va voir 6 étapes pour faire ça.
1ère étape : trouver un problème
C’est le plus important. Le danger avec l’IA et toute nouvelle techno, c’est se focaliser sur un truc qui a l’air top sur le papier… mais qui ne serve à personne.
Oui c’est super d’exploiter de nouvelles technologies. Mais ça n’a d’intérêt que si ça sert au plus grand nombre au final.
Donc avant de démarrer, il faut trouver le problème auquel on veut s’intéresser. Bien le comprendre. Avant de voir si la solution qu’on veut construire peut le résoudre.
En pratique, on va échanger avec des experts et des utilisateurs. Ils vont nous aider à trouver les sujets les plus pertinents.
2ème étape : récupérer et travailler la donnée
Premièrement il faut de la donnée en quantité
C’est important car la plupart des cas d’usage IA requièrent une grosse quantité de données. On en a parlé dans l’édition précédente. Le deep learning ou machine learning sont très gourmands en data. 😋
En pratique :
→ soit on a déjà une grosse base de données ;
→ soit on met en place des protocoles pour en générer ;
→ soit on adopte une solution intermédiaire, on mélange des bases de données pour obtenir à partir de petites bases, une grosse base au final.
Deuxièmement il faut de la donnée de qualité
Tout l’enjeu de l’IA c’est de prédire ce qu’il va se passer sur de nouvelles données, à partir de données anciennes. Si l’image qu’on a du passé, à partir de ces données anciennes, est faussée par des éléments inexacts. Les traitements futurs vont être inexacts également.
En pratique, on échange encore avec les experts métier pour repérer des trucs étranges dans les données avec quelques analyses descriptives (moyenne, visualisations simples). Il y a aussi certains problèmes de qualité qu’on retrouve de manière récurrente et classique.
💡 Attention, dès ce stade, si jamais la qualité de la donnée est trop dégradée, ça peut être une raison de ne pas aller plus loin ou en tout cas ne pas tenter tout de suite de faire de l’IA.
Troisièmement il faut préparer cette donnée
C’est ce qu’on appelle le “feature engineering”. Ça va revenir à mettre en beauté notre base de données pour être sûr qu’elle soit prête à être exploitée par l’algo !
On va notamment combiner et mélanger des variables. Typiquement la semaine dernière, on parlait d’une base de données de fumeurs. On se disait que c’était pas mal d’avoir l’indice IMC plutôt que le poids et la taille. C’est ça du feature engineering.
3ème étape : reformuler le problème dans le monde de la donnée
On a trouvé un problème métier et on a de la donnée de pas trop mauvaise qualité et en quantité. À ce stade, on va se focaliser sur ce qu’on veut prédire.
Donc on se pose toujours la question du “problème à résoudre”. Mais attention ici, on est dans le monde de la data, plus dans le monde métier.
Premier cas de figure, je sais ce que je veux prédire = IA supervisée
On est capable de donner la bonne réponse à l’IA. On va lui expliquer quel est le résultat qu’on veut atteindre au final.
Dans ce cas, on a ensuite deux sous-cas de figure.
Quand on veut prédire une valeur “discrète”, on parle de classification
Attention rien à voir au fait d’être “discret” = ne pas faire de bruit. Quand on parle de discret en mathématiques, ça veut dire qu’on attend qu’elle prédise un résultat au sein d’un ensemble “fini” de nombres.
Par exemple, si je veux prédire le nombre de paquets de cigarette par jour fumés par quelqu’un, ce nombre de cigarettes par jour appartient à un ensemble fini de nombres = 0,1,2,3,4,5… ça peut pas être infini le nombre de cigarettes qu’on fume par jour !
Quand on veut prédire une valeur “continue”, on parle de régression
Dans ce cas de figure, on attend de l’IA qu’elle prédise une infinité de valeurs.
Par exemple, la probabilité en pourcentage qu’un homme développe un cancer du poumon peut valoir une infinité de choses entre 0% et 1 = 100%. 94,7778% ou 71,235% etc…
Deuxième cas de figure, je ne sais pas ce que je veux prédire = IA non supervisée
Dans ce cas on donne juste des données à l’IA et on la laisse se débrouiller !
Par exemple, si je lui donne la base de données avec les fumeurs de la semaine dernière ; au lieu de se focaliser sur la probabilité de développer un cancer du poumon, on va juste regarder si l’IA trouve des regroupements intéressants au sein de la base de données.
Je passe rapidement parce qu’on en a déjà parlé la semaine dernière (tu peux retrouver ça ici).
4ème étape : entraîner le modèle
⚠️ Cette 4ème étape est fondamentale pour bien comprendre le rôle de l’IA.
En fait, on ne peut pas direct lancer l’IA dans la nature. On a besoin de la préparer.
Pour faire ça, on procède en 2 phases :
D’abord la phase d’entraînement, j’entraîne mon algorithme sur une partie de ma base de données.
Ça me permet de l’observer, d’affiner ses performances et de le préparer à une utilisation “en vrai”.
Par exemple, si je veux prédire la probabilité de cancer des poumons, j’essaye de construire le bon modèle pour prédire cette probabilité à partir de mes données, en montrant à l’IA la bonne réponse attendue : tel individu avec telles caractéristiques a une probabilité de 97%, tel autre 18% etc…
Ensuite la phase de test, je regarde ce que ça donne avec de nouvelles données sans donner la bonne réponse auparavant.
En pratique, je vais tester le modèle obtenu dans la phase d’entraînement sur le reste de ma base de données.
Donc je vais donner une autre partie de ma base de données à l’IA, et regarder quelle est la probabilité qu’il calcule sur cette partie de la base ! Cette fois je cache la bonne réponse à l’IA… ça serait trop facile sinon : pour un individu avec certaines caractéristiques, dont la probabilité d’avoir un cancer du poumon était de 82%, quelle probabilité donne l’algorithme ?
En regardant les prédictions réalisées par l’IA sur la donnée de test, ça me permet de voir comment l’algorithme va se comporter “dans la vraie vie” et d’anticiper ses performances.
5ème étape : itérer pour améliorer les performances
Une fois qu’on a un modèle qui possède de bonnes performances en entraînement / test, ça n’est pas fini. On va commencer à l’utiliser sur des vraies données et on va itérer pour l’améliorer.
Premièrement, itérations sur l’algorithme
L’algorithme IA sort de la phase de test avec une performance qu’on peut améliorer.
Donc on va poursuivre nos investigations pour le rendre encore plus efficace. Par exemple en regardant dans la littérature scientifique si des modèles sont mis en avant pour notre problème spécifique.
Deuxièmement, itérations sur la data
On veut améliorer la quantité / qualité de data, donc :
→ On va collecter plus de donnée pour faire grossir nos bases
→ On va aussi améliorer en continu la qualité de nos bases pour que cette qualité soit la plus élevée possible
Troisièmement, itérations métier
On veut prendre du feedback des utilisateurs !
Il y a de l’IA, mais ça reste un produit digital. On va pas se priver de faire du Product Management. Donc on va régulièrement montrer notre produit aux utilisateurs pour l’améliorer de manière incrémentale.
Comme toujours, le produit est utile… s’il est utilisé ! Donc on essaye d’améliorer l’expérience utilisateur et de résoudre de la meilleure des manières le problème identifié.
6ème étape : déployer et continuer à surveiller
À un moment, on est satisfait des résultats atteints par le modèle. On peut donc déployer plus largement notre logiciel.
Pour autant, ça n’est pas parce qu’on le déploie que c'est fini ! Parce que déployer c’est plus facile à dire qu’à faire.
Quand on bosse dans l’informatique, on le sait : la partie déploiement n’est jamais évidente. Il y a toujours des problèmes qui n’arrivent que lorsqu’on se lance. Il faut faire un saut dans le vide en quelque sorte.
Le DevOps permet de gérer ces problématiques dans le logiciel en général. Mais on a bien vu que pour des systèmes IA, avec beaucoup de data, on ajoute un degré de complexité supplémentaire. Il y a donc tout un champ du DevOps dédié aux systèmes IA / Machine learning, on appelle ça le ML Ops (Machine Learning Ops).
💡 5 points d’attention ML Ops
→ Définir en amont des indicateurs de succès
→ Anticiper les besoins en puissance de calcul
→ Faire attention aux biais éventuels
→ Tracer les choix d'algos structurants
→ Mettre dans la boucle les Ops dès le début
Enfin, une fois déployé, on continue à “surveiller” régulièrement que tout se passe bien. On le fait avec des logiciels classiques, on le fait aussi avec ceux utilisant de l’IA.
Les cas d’usage majeurs de l’IA
On vient de voir comment construire un système avec de l’IA.
Maintenant on va s’intéresser à plusieurs champs d’application de l’IA, en particulier ceux dont on parle le plus aujourd’hui.
1 - Le traitement du langage
C’est LE domaine à la mode. Il a été mis en lumière par ChatGPT récemment.
Comme souvent avec l’IA, on va distinguer :
→ Une partie analytique = j’analyse un texte
→ Une partie générative = je crée un texte
Pourquoi c’est révolutionnaire ?
Deux raisons permettent d’expliquer tout cet engouement.
D’une part, on commence à toucher du doigt l’Intelligence Artificielle, c’est à dire faire des trucs “comme un humain” !
Et le langage, c’est une des caractéristiques les plus importantes des humains. Donc quand un ordinateur arrive très bien à imiter l’homme sur ces aspects, c’en est d’autant plus impressionnant.
D’autre part, parce que l’efficacité des modèles récents est sans précédent.
Auparavant, on avait des chatbots déployés sur des sites. Mais on voyait bien que ça n’était pas hyper efficace, ou en tout cas, ça ne rivalisait pas du tout avec un humain.
Depuis quelques mois, un ChatGPT permet quasiment d’avoir une conversation “normale” avec une autre personne. C’est LE chatbot ultime.
Cas d’applications connus
Au-delà de ChatGPT dont tout le monde entend parler, voici deux cas d’applications connus du traitement du langage.
→ Analyser les commentaires des clients sur Amazon
Aujourd’hui on utilise beaucoup l’e-commerce pour faire nos achats. Mais en général, on va toujours pas mal regarder les commentaires avant de faire un achat. Ça nous sécurise 😃 C’est aussi le cas pour les restaurants sur Google Maps. On va regarder les notes et les avis des précédents consommateurs.
Or, pour plein d’entreprises, comme L’Oréal par exemple, c’est très utile tous ces commentaires. C’est un peu du feedback direct des consommateurs.
Si les commentaires sur un rouge à lèvre que tu vends mettent en avant “sa brillance”, “sa couleur”, “sa tenue”, alors c’est positif.
Inversement, si les commentaires sur un parfum disent qu’il sent mauvais, alors c’est négatif et important de le prendre en compte rapidement.
Mais il y a beaucoup de commentaires ! Des centaines pour un produit donné. Alors comment on fait pour analyser tous ces feedbacks… ? L’IA pardi.
Plus précisément, l’IA va nous permettre deux choses :
Identifier des morceaux de phrases qui parlent d’un sujet donné
Identifier si le ton est positif ou négatif
Par exemple, sur le commentaire suivant : “j’ai été globalement très déçu par ce rouge à lèvres. Je pensais que la brillance serait meilleure, par contre la tenue n’était pas si mal.”
On veut que l’algorithme fasse les analyses suivantes :
Identifier qu’il y a 3 sujets différents abordés (1) déçu ; (2) brillance ; (3) tenue
Identifier que pour
(1) c’est très négatif : “déçu” + “très” ;
(2) c’est négatif : je pensais que ça serait mieux, mais sans dire que c’est catastrophique ;
(3) c’est un peu positif : avec une aide pour l’algo = “par contre”, un indice pour qu’il voie qu’on passe du négatif au positif, avec un piège pour l’algo = “pas si mal”, même s’il y a une négation, ça reste un terme à interpréter de manière positive.
Chez L’Oréal c’est d’ailleurs un cas d’usage qui s’appelle “Consumer Loop” sur lequel on a travaillé : plus de détails ici.
→ Identifier les tendances
Sur le web il y a beaucoup de contenu.
Par contre tout le contenu n’est pas produit au même moment. Ni à la même fréquence.
Il y a des “tendances”.
Par exemple, au cours de l’année 2019 et 2020, on a vu apparaître de nouvelles tendances dans notre vocabulaire : des nouveaux mots comme “covid 19” et des mots qui sont devenus très très à la mode comme “masque” ou “vaccin”.
Analyser ces informations est très puissant parce que ça te permet d’identifier les tendances sociétales. C’est à dire ce qui arrive et ce qui se développe dans la société.
L’IA va nous permettre de faire cela. En analysant les tendances du passé et la manière dont celle-ci vont se développer, on peut développer des modèles pour prédire les tendances qui vont exploser dans les prochaines semaines / mois.
Chez L’Oréal c’est encore un cas d’usage qui s’appelle “TrendSpotter” sur lequel on a beaucoup bossé : plus de détails ici.
Logiciels pour essayer à la maison
→ DeepL, un logiciel pour faire des traductions super rapides. Tu l’installes sur ton ordinateur, ensuite tu as un raccourci clavier “contrôle c” deux fois pour traduire une phrase.
→ ChatGPT, évidemment, il y a pas mal de règles pour correctement l’utiliser, je trouve que ce post de Brice Trophardy contient les bons basiques pour l’utiliser. Mais le plus important c’est que vous alliez vous faire votre idée tous seuls.
2 - Le traitement de l’image
C’est LE domaine historique sur lequel l’IA s’est fait connaître. L’analyse d’image avec les réseaux neuronaux a été un des aspects qui a le plus impressionné le grand public. Pareil que pour le langage, on a le côté analytique (j’analyse une image) et génératif (je génère une image).
Pourquoi c’est révolutionnaire ?
C’est proche du langage.
Premièrement, évidemment, parce que la vision, c’est une caractéristique hyper “humaine”. Donc une IA qui est très efficace pour traiter de l’image nous rapproche de plus en plus d’une vraie “intelligence artificielle”.
Deuxièmement, parce que derrière l’analyse ou la génération d’images, on se rapproche de sujets très créatifs. Par exemple les IA qui génèrent des images réalisent des choses qu’on pensait réservées à l’homme comme l’art.
Cas d’application connus :
→ La Reconnaissance faciale sur nos téléphones
Sur ton iPhone, quand tu le déverrouilles en montrant ta tête, c’est un système d’IA de traitement de l’image qui t’aide à le débloquer.
De manière simplifiée, l’algorithme prend en entrée une “photo” de toi, quand tu regardes l’appareil. Puis il va comparer cette photo avec celles de toi qu’il a dans sa base de données. Ensuite, il mesure l’écart entre la nouvelle photo et les anciennes photos dont il dispose. Si l’écart est suffisamment faible, c’est bon !
Dans ce cas, l’IA a été “entraînée” deux fois :
Une première fois en usine, avec plein plein plein de photos, pour lui expliquer comment reconnaître une photo d’une autre, on l’a entraînée, on a itéré pour l’améliorer etc… (les étapes de 1→5)
Une deuxième fois dans la vraie vie avec quelques photos de toi, pour comprendre les caractéristiques de ton visage etc…
C’est à partir de la combinaison de ces deux ensembles de données d’entraînement que le modèle arrive à être performant.
→ Amélioration d’une photo de mauvaise qualité
On va pouvoir utiliser l’IA pour augmenter le nombre de pixels sur une photo
L’IA va passer sur chaque mini pixel de la photo initiale, et le subdiviser en d’autres pixels ! L’avantage, ça permet de rajouter beaucoup de pixels et donc la photo est de meilleure qualité (elle n’est plus “pixellisée”). C’est pas forcément parfait, comme on le voit en-dessous :
Les paupières font un peu “fake”
On perd un peu en relief sur la peau en général
Les couleurs ont l’air un peu artificielles
Mais c’est quand même impressionnant, notamment parce que c’est bien plus net à droite qu’à gauche.
Logiciels pour essayer à la maison :
→ Un outil gratuit et sympa pour faire un diagnostic de peau qu’on a développé chez L’Oréal.
→ L’outil Remini (que j’ai utilisé pour améliorer la qualité de ma vieille photo
→ Midjourney pour créer des images à partir de descriptions simples
3 - Le traitement de l’audio
C’est un champ un peu moins à la mode que le traitement de l’image et du langage. Pourtant, il est déjà performant sur plusieurs tâches depuis quelques années.
Pourquoi c’est révolutionnaire ?
Encore une fois, on fait face à des systèmes informatiques qui commencent à réaliser des fonctions cognitives “humaines”. C’est ce qui rend tout ça très impressionnant.
En plus, quand on combine ces différentes capacités, on commence à avoir des systèmes très complets. Typiquement en combinant ce qu’on vient de voir, tu peux avoir une discussion orale avec un produit IA.
Tu lui dis une phrase puis :
→ 1 traitement de l’audio, la phrase est re-transcrite
→ 2 traitement du langage, la phrase est analysée
→ 3 traitement du langage, une réponse est générée
→ 4 traitement de l’audio, une voix “artificielle” donne la réponse orale
Cas d’application connus :
→ Les commentaires automatiques
C’est très très pratique, et beaucoup plus rapide que le faire à la main !! Avant c’est ce qu’on faisait. Oui c’était long, pas agréable et pas facile…
D’après mes dernières observations, sur YouTube par exemple, l’IA galérait sur trois types de mots à retranscrire :
Les noms propres,
Les sigles comme la DGFiP, l’ARCEP ou les PMEs
Le franglais, c’est à dire que quand le speaker fait 99% de sa prise de parole avec des mots français et qu’il inclut de l’anglais, l’algorithme est un peu perdu
Mais ça reste tout de même un vrai “game-changer”.
→ Un logiciel qui arrive à générer une voix à l’identique
L’IA va prendre en entrée des morceaux audio de ta voix ou d’une voix. Et ça va ensuite lui permettre de produire n’importe quel son comme si c’était cette voix qui l’avait vraiment dit.
C’est dingue parce que pour faire ce genre de trucs avant, il fallait récupérer des petits morceaux de mots / voyelles, les isoler, puis les recombiner pour créer des phrases artificielles.
Là c’est fou, tu n’as pas besoin d’avoir tous les sons possibles et imaginables. L’IA va le créer ça à partir d’un petit échantillon.
Mais attention, c’est évidemment dangereux.
Typiquement tu pourrais combiner le traitement de l’image et du son pour générer une vidéo de Trump qui dit qu’il va lancer une bombe atomique sur la Corée du Nord… tu peux déclencher une 3ème Guerre Mondiale avec moins que ça.
Logiciels pour essayer à la maison
→ Faire composer de la musique par une IA sur SoundRaw : pas grave si tu n’as pas l’oreille absolue
→ Siri sur ton smartphone, iPhone, Android etc…
4 - l’IA générative dans tout ça ?
On a vu l’IA générative en filigrane. Comme dit au-dessus, pour chaque grand type de cas d’usage, il y a une partie analytique (je comprends), une partie générative (je crée).
Donc quand on parle d’IA générative c’est le regroupement de la partie “générative” de ces différents cas d’usage, c’est à dire des systèmes IA qui génèrent du texte, des images / vidéos ou des sons.
5 - Les use cases classiques
Dernier point important ! Ce sont des cas d’usage un peu moins “impressionnants” que les trois premiers mais tout aussi efficaces. Ce que j’appelle “use case classique”, ça va revenir à faire du Machine Learning “classique”. On va disposer d’une base de données et on va essayer de prédire des choses à partir de ce qu’il y a dans la data.
Pour les use cases 1,2 et 3, on a toujours une forme de “statistique” : par exemple, l’ordinateur modélise le texte comme de la donnée et ensuite effectue des prédictions dessus. Mais dans ces cas d’usage là, on va travailler sur de la donnée qui a une forme plus “classique”. Qui “ressemble” à un tableau Excel, et pas une banque d’images ou des fichiers audio.
Pourquoi c’est révolutionnaire ?
Comme tout système IA, sa puissance réside dans le fait de pouvoir extrapoler le comportement de nouvelles données à partir d’un entraînement sur des données passées.
Prenons l’exemple des embouteillages sur la route. Mon objectif va être d’identifier le moment le plus propice pour partir en vacances et éviter les bouchons. Pour faire ça, c’est évidemment utile d’avoir des données du passé. C’est à dire, l’affluence sur les routes les années précédentes.
Pour autant juste le passé est insuffisant :
→ On ne sait pas ce qui influence vraiment les bouchons
→ On ne sait pas forcément quelle décision prendre ensuite
L’IA justement va permettre ça :
→ Une analyse poussée des différentes variables dans les données du passé pour sélectionner celles qui influencent le plus la durée de trajet
→ Une vraie aide à la décision qui permette à l’automobiliste de voir ce qui est le plus optimisé pour lui
Cas d’application connus :
→ La prédiction du trafic
On reprend cet exemple. On veut trouver le meilleur moment pour avoir un trajet optimal et rapide.
Mais c’est pas si facile que ça d’anticiper du jour pour le lendemain, voire du matin pour l’après-midi, les embouteillages qu’il va y voir.
Même si on a accès à plein de données “historiques”, ça dépend de plein de choses :
Les vacances des différentes zones (si ce n’est pas les vacances d’été / Noël)
Le moment où les gens ont posé leurs congés (juillettiste versus aoutien)
La destination de voyage choisis par les gens (Normandie, Bretagne, le Nord ou le Sud 🤔)
L’IA va nous aider de deux manières :
Premièrement identifier les jours avec fort risque d’embouteillages.
Si on a des données historiques, on va pouvoir identifier ce qui influence sur le nombre de voitures à un endroit donné à une heure donnée. On sera pas précis à 100%. Mais probablement que le dernier week-end de juillet, vers 12h, il y a beaucoup de parisiens qui vont se retrouver vers Lyon. Ce qui permet d’anticiper qu’il devrait y avoir quelques bouchons autour de l’agglomération lyonnaise.
Deuxièmement, identifier comment un niveau de bouchons à un moment donné va se répercuter.
C’est ce qui est très puissant aujourd’hui avec les GPS qu’on a dans nos voitures.
En voyant qu’il y a XX voitures à un endroit à une heure de la journée, on peut anticiper où elles seront plus tard (en fonction de leur vitesse et de la probabilité qu’elles prennent une autre direction).
→ La maintenance prédictive
C’est un cas d’usage “classique” mais très puissant pour utiliser l’IA dans le monde de l’industrie.
L’idée sous-jacente, c’est que les pièces d’un système industriel, une voiture, un train ou une usine, s’abîment au cours du temps.
Or il y a une asymétrie entre :
Le faible coût de remplacer une pièce qui est presque cassée
Le coût très important de la remplacer une fois qu’elle est cassée et que donc elle empêche une voiture, un train ou une usine de bien fonctionner
Mais une fois qu’on a dit ça, c’est pas pour autant réglé comme problème parce qu’on a toujours tendance à procrastiner, à attendre le dernier moment.
La maintenance prédictive va nous aider à trouver le bon moment, donc :
Pas trop en avance, quand la pièce pourrait continuer à fonctionner longtemps
Pas trop en retard, avec le risque que la pièce casse et empêche le système de fonctionner correctement
Grosso modo, en fonction des pièces dont tu disposes et de la durée depuis laquelle elles sont installées, un algorithme saura t’aider à prévoir le moment où celles-ci ont une probabilité importante de casser. Donc le moment où il faut les remplacer.
Logiciels pour essayer à la maison
→ Les moteurs de recommandation comme celui de Netflix. C’est bien de l’IA derrière ! En fonction des films que tu as regardés historiquement et des films regardés par tous les gens sur la plateforme… Netflix te suggère des films qui pourraient te plaire.
→ Les moteurs de recherche comme Google, là aussi il y a derrière un algorithme qui essaye d’identifier les sites qui sont les plus pertinents pour répondre à ce que tu as écrit dans la barre de recherche.
Bon on vient de le voir, l’IA c’est génial, révolutionnaire et impressionnant. Pour autant, attention, tout n’est pas rose. Pour toute techno, il y a des défis et des challenges auxquels faire attention. Donc en particulier sur ces sujets “d’intelligence artificielle”.
Les défis de l’IA
Les défis techniques
Comme toute technologie, l’IA est encore perfectible. Elle peut s’améliorer sur différents aspects.
De meilleures performance
C’est le premier point, le plus fondamental je pense. À partir du moment où on généralise de plus en plus les cas d’usage, on va avoir besoin de modèles de plus en plus précis et performants.
Par exemple, si on utilise des modèles pour aider des médecins à faire des diagnostics plus rapides, c’est vital (au sens propre du terme) de disposer d’algorithmes qui soient très performants et ne se trompent pas.
Une meilleure expérience utilisateur
Ce qui explique le grand grand succès de ChatGPT : son expérience utilisateur très très simple.
Mais même un outil avec une UX aussi simple peut encore progresser !
Ne serait-ce que parce que ça n’est pas si facile que ça de comprendre la logique des “prompts” = les minis bouts de phrase qu’on écrit pour poser une question à ChatGPT.
Le multi-modal
Aujourd’hui les systèmes sont très performants sur UN cas d’usage donné : traitement de l’audio, traitement du langage etc…
C’est une première étape de maturité très importante !
En revanche, on ne dispose pas encore d’outil pour mélanger les approches, il faut souvent “brancher les trucs à la main”. Par exemple ChatGPT ne génère aujourd’hui que du texte, et pas encore d’image.
C’est ce qu’on appelle la “multi-modalité” ou le “multi-modal”.
Dans le futur, des outils plus généralistes, combinant plusieurs cas d’usage vont certainement émerger.
Les défis éthiques
Ici j’entends le mot éthique comme : “dans ce que ça implique dans les relations humaines”.
L’homme augmenté, jusqu’à où ?
Ça fait longtemps qu’on rêve d’un “homme augmenté” grâce à la technologie. Homme augmenté au sens : qui est plus performant grâce à la technologie.
Et l’IA apparaît comme une techno pertinente pour faire ça.
On a bien vu ça avec ChatGPT et les problèmes de triche à l’école. Les élèves sont “augmentés” par ce genre d’outils.
Ce qui pose deux questions :
→ Comment empêcher la triche ?
Le problème dans l’utilisation de ces outils est que la concurrence n’est pas égale entre les différents concurrents. Évidemment chacun a des capacités intellectuelles différentes, mais en termes d’outils, l’école essaye d’assurer à peu près que ça soit équitable et équilibré.
Or avec une technologie aussi précise, les écarts sont trop importants. C’est comme en cyclisme la différence entre avoir un vélo plus léger (≠ triche) et se doper (= triche).
→ Comment valoriser en parallèle la maîtrise de ces technologies ?
C’est important que l’école ne rejette pas en bloc ce sujet. Pour la simple et bonne raison que les élèves seront amenés à les manipuler d’une manière ou d’une autre.
Autant essayer de leur donner des bonnes pratiques, encadrer leur usage et être proactif pour éviter de les subir.
Ces bonnes pratiques sont aussi importantes parce qu’on a vu que des technologies aussi perfectionnées que ChatGPT ou MidJourney se trompent parfois. Il faut donc donne à chacun des clés de lecture minimales pour éviter de se faire avoir par ça.
L’homme remplacé, jusqu’à où ?
Ce n’est pas un débat qui n’a pas attendu l’Intelligence Artificielle et la deuxième moitié du XXème siècle. Depuis toujours, la technologie a été utilisée pour “remplacer” en partie ou totalement l’homme dans son travail.
Avec un double mouvement :
→ Des boulots en moins
Par exemple quand les moissonneuse-batteuse sont inventés, c’est devenu plus facile de faire les moissons. Avant pour moissonner un champ, il fallait une dizaine de personnes pendant plusieurs jours.
Maintenant, on a juste une personne qui conduit une moissonneuse batteuse quelques heures.
Bref, on passe d’une dizaine de personnes plusieurs jours à une personne quelques heures. C’est du boulot en moins.
→ Des nouveaux boulots plus spécialisés
La technologie ne fait pas que détruire les emplois, elle en crée de nouveaux, souvent plus spécialisés. Piloter une moissonneuse-batteuse c’est plus difficile que récolter du blé “à l’ancienne”.
Le pilote en question doit être probablement davantage formé et par exemple avoir des bases en mécanique.
La technologie permet souvent de réduire les tâches pénibles. On imagine bien que c’est moins traumatisant pour son corps de faire quelques heures dans une moissonneuse-batteuse par rapport à une semaine courbée dans un champ en plein soleil.
Mais des questions subsistent.
→ Que fait-on des emplois supprimés ? C’est à dire des personnes qui aidaient à faire la moisson auparavant
→ Est-ce vraiment positif de ne plus faire AUCUNE tâche pénible ? Oui c’est agréable d’être plus performant / efficace, mais on devient prisonnier de la technologie.
Par exemple les gens s’orientent beaucoup mieux avec des GPS, mais le jour où tu n’as plus de batterie sur ton portable, tu ne sais plus comment te diriger.
L’homme utilisé, jusqu’à où ?
Paradoxalement, même si les systèmes IA réduisent des tâches pénibles, on a souvent besoin pour les faire fonctionner de faire effectuer à des gens des tâches pénibles.
→ Premier exemple la labellisation des données
On a vu que les systèmes IA “supervisés” apprenaient “la bonne réponse” sur un premier ensemble de données. Pour ensuite pouvoir identifier elles-mêmes cette bonne réponse sur de nouveaux ensembles de données.
Mais qui définit ce qui est une “bonne réponse” sur le premier ensemble ? On n’a pas encore d’algorithme qui puisse le faire. Ce sont donc des humains qui vont s’en charger.
Typiquement si je veux apprendre à un algorithme de deep learning à reconnaître des photos de chat de manière supervisée. Je vais lui montrer des milliers de photos, parfois avec des chats, parfois sans chat. Pour ça, il faut bien qu’un humain ait dit un jour ou l’autre “voici une photo avec un chat / voici une photo sans chat”.
C’est un travail assez abrutissant et pénible que de “labeliser” '(étiquetter) une quantité significative de données.
→ Deuxième exemple l’apprentissage par renforcement
On en a entendu parler sur ChatGPT, notamment avec cet article du Times qui a eu pas mal de résonance.
Pour le résumer rapidement, on a payé des kenyans une misère (~1$ par jour), à bosser des dizaines d’heures par jour, pour s’assurer que ChatGPT était bien politiquement correct.
Ça veut donc dire qu’on a demandé à des personnes de regarder des textes pornographique, choquant ou violent afin qu’ils puissent apprendre à ChatGPT à ne pas aller sur ce genre de terrains.
Je ne trouve pas ça tip top d’un point de vue éthique.
Les défis environnementaux
Dernier champ de défis, probablement parmi les plus importants.
Les émissions carbone
Les modèles IA sont très émetteurs pour deux principales raisons.
→ Le calcul
Des systèmes comme ChatGPT embarquent des modèles très complexes, des modèles de deep learning avec des millions de neurones imbriqués. Cela entraîne des besoins en calcul avec des ordinateurs très très importants.
Même si on ne le voit pas quand on utilise ces outils, il y a beaucoup de serveurs / d’ordinateurs qui fonctionnent derrière, et qui consomment de l’électricité. Pour produire cette électricité, on consomme du CO2 (dans une très large majorité de cas).
→ Le stockage
Pour faire fonctionner les systèmes IA, on a besoin de beaucoup de données.
Or stocker cette donnée représente également une consommation importante en CO2. Même si on a l’impression qu’il n’y a plus de stockage physique parce que tout est sur le Cloud !
Parce que derrière le Cloud, il y a des vrai serveurs / ordinateurs de stockage qui tournent.
Et ces serveurs ont besoin d’électricité pour stocker toutes les données nécessaires au bon entraînement / fonctionnement de l’IA.
Les ressources naturelles
Enfin, des ressources naturelles sont également nécessaires en grande quantité pour assurer le bon fonctionnement des systèmes IA.
De manière schématique, il y a :
→ Les ressources naturelles pour construire les composants des systèmes
On a besoin de ressources, de métaux rares, pour produire les cartes mères, les barrettes de mémoire de tous ces serveurs / ordinateurs dont on parle.
Or, ces ressources ne sont pas infinies ! On est loin de l’abondance dans les matériaux qui composent nos smartphones, ordinateurs portables et les composants de ces systèmes IA. Tout l’engouement récent autour de ces technologies renforce la consommation de ces ressources et leur raréfaction.
→ Les ressources naturelles pour le fonctionnement courant
Au delà des ressources naturelles (pétrole, gaz, charbon) pour produire de l’électricité et qui émettent du CO2, un autre type de ressources naturelles est critique pour ces systèmes.
L’eau.
On estime qu’une conversation moyenne avec ChatGPT consommerait l’équivalent d’une bouteille d’eau.
Cette eau est utilisée pour refroidir les serveurs et les composants qui permettent de faire tourner ces systèmes si performants. Forcément, ça calcule beaucoup, donc ça chauffe. Pour éviter les phénomènes de surchauffe, on refroidit.
De même que beaucoup d’autres ressources, l’eau n’est pas une ressource qu’on a de manière illimitée.
Attention donc à la consommation de celle-ci.
Voilà ! C’est fini pour ce mini-cours en 2 parties.
J’espère que ça t’a plu !
Conclusion
À dimanche prochain
Si tu es trop impatient pour attendre, tu peux :
M'envoyer des actus, contenus ou rires qui ont animé ta semaine 💪
Me contacter pour échanger sur l’IA par mail ou par message LinkedIn 💪
M'envoyer des feedbacks sur ce numéro, positifs... ou négatifs bien sûr ! C'est comme ça qu'on progresse 💪
Partager la newsletter à des personnes susceptibles d'être intéressées 💪
Bon courage pour la semaine 😄 ! C’est la dernière de la série des semaines de 4 jours. Dommage 😭