Il y a trop Ă dire…
J’ai voulu parler de l’IA sur ce blog depuis sa crĂ©ation mais je reportais le moment de le faire tellement la tĂąche me semblait Ă©norme. Il y a des dizaines de choses Ă dire et ça allait donc me prendre des journĂ©es entiĂšres pour ĂȘtre complet.
“Vouloir ĂȘtre complet”: j’ai le mĂȘme problĂšme avec d’autres sujets que je veux aborder ici, comme par exemple mon travail dans le cours de projet intĂ©grĂ© ou Metafor, le principal logiciel de calcul que nous dĂ©veloppons au laboratoire. CĂŽtĂ© personnel, il y a la course Ă pied, les chats, le Maroc, mes side-projects en informatique… Tout ça est trĂšs vaste et j’ai beaucoup de choses Ă me dire Ă moi mĂȘme (c’est le but Ă©goĂŻste et un peu narcissique de ce blog: me relire plus tard).
Depuis quelques semaines, je me dis qu’il vaut mieux Ă©crire quelque chose d’incomplet que de ne rien Ă©crire du tout. Ca me fait d’ailleurs penser Ă ma “todo list” (un autre sujet que j’aimerais aborder ici) qui se remplit au fil du temps mais qui ne se vide jamais. Dans ce contexte-lĂ aussi, depuis peu, j’essaye d’avancer sur une tĂąche ou deux, prise souvent au hasard, dans le but unique de faire avancer les choses, mais de maniĂšre incomplĂšte.
Bref, ce billet sera inĂ©vitablement incomplet. Disons que ce n’est que le premier d’une sĂ©rie qui viendra s’enrichir par la suite. Vu le sujet, ça sera d’ailleurs intĂ©ressant de relire mon Ă©tat d’esprit actuel Ă la lumiĂšre de ce qui se sera passĂ©… et ça bouge trĂšs vite…
Mais pour faire quoi?
Donc parlons de l’IA et dans un premier temps, retraçons mon historique IA.
Je m’y intĂ©resse seulement depuis quelques annĂ©es, c’est-Ă -dire comme tout le monde, lorsque ChatGPT a Ă©tĂ© publiĂ© sur le web. A l’Ă©poque, j’avais essayĂ© le systĂšme et j’Ă©tais dĂ©jĂ assez bluffĂ© par les capacitĂ©s conversationnelles. Mais aprĂšs avoir posĂ© quelques questions un peu basiques que j’aurais pu poser Ă Google, je tournais en rond… “Est-ce juste un Google plus rapide avec de la mĂ©moire et du contexte?” Et puis surtout, Ă l’Ă©poque, je n’avais aucune idĂ©e quoi demander. Je me retrouvais devant le prompt Ă poser des questions stupides dont je connaissais la rĂ©ponse ou des questions plus complexes dont la rĂ©ponse ne m’intĂ©ressait pas… A l’Ă©poque dĂ©jĂ , on parlait beaucoup de coĂ»t environnemental de l’IA et j’ai donc mis mes essais en pause. Ca me semblait un peu inutile pour moi et donc inutile de gĂącher du CO2, de l’eau de l’Ă©nergie pour ça. J’aurais aimĂ© jouer un peu avec la gĂ©nĂ©ration d’images mais les rĂ©sultats Ă©taient d’une part moyens ou peu intĂ©ressants ("haha, un chat qui mange des spaghettis, c’est rigolo… bon, je demande quoi maintenant?") et d’autre part, il fallait payer aprĂšs quelques essais (Midjourney sur discord).
Vers ChatGPT Pro
La suite s’est dĂ©roulĂ©e Ă l’universitĂ©. Je me suis rendu compte que certains collĂšgues l’utilisaient dans leur travail et que, finalement, la plus grosse chose qui me bloquait Ă©tait le fait qu’il fallait payer assez tĂŽt pour continuer Ă chater, sans quoi l’IA Ă laquelle je parlais Ă©tait bridĂ©e (ma conscience Ă©colo n’est pas trĂšs forte). La diffĂ©rence entre les rĂ©ponses “prĂ©mium” offertes en dĂ©but de chat et les rĂ©ponses “gratuites” Ă©tait clairement visible et frustrante. J’avais aussi testĂ© la reconnaissance de texte en essayant de faire retranscrire mes vieux rĂ©cits de mon voyage de fin d’Ă©tudes en Chine Ă partir de photos des pages de mon manuscrit. Ca marchait assez bien, et puis, aprĂšs quelques pages: “la version gratuite ne permet d’uploader que 5 fichiers… rĂ©essayez dans 24h…” Grrr.
Je me suis donc abonnĂ© Ă ChatGPT Pro Ă cette Ă©poque. Mais je me suis alors retrouvĂ© avec mon premier problĂšme: aprĂšs avoir retranscrit le journal de Chine et gĂ©nĂ©rĂ© 2-3 textes rigolos, qu’est ce que je pouvais faire d’autre d’utile?
Coder avec Copilot
En parallĂšle Ă tout ça, j’avais observĂ© que certains Ă©tudiants utilisaient Copilot dans leur Ă©diteur de code pour programmer. Ca avait l’air sympa, mĂȘme si le code gĂ©nĂ©rĂ© Ă l’Ă©poque Ă©tait souvent buguĂ©.
C’Ă©tait l’occasion de redemander un abonnement pro chez Github cette fois. C’est gratuit pour les enseignants alors que ça coĂ»te prĂšs de 40$/mois pour une personne lambda. Je n’avais pas pris la peine de renouveler mon abonnement Github Educator n’utilisant plus Github pour mes cours depuis l’installation du GitLab institutionnel.
Je me suis alors lancĂ© dans l’utilisation intensive de Copilot pour le projet que j’Ă©tais en train de faire Ă ce moment: il s’agissait d’un prototype de solveur SPH pour le cours de projet intĂ©grĂ© en 1er master ingĂ©nieur physicien. Il m’est venu l’idĂ©e de traduire en C++ le code Fortran tirĂ© d’un travail de fin d’Ă©tudes que je utilisais jusque lĂ . Je crois que c’est vraiment cette expĂ©rience qui m’a mis ma premiĂšre claque… J’en suis restĂ© bouche bĂ©e: sans aucune lecture de la doc Copilot, j’Ă©tais capable, Ă l’instinct, de piloter l’IA et lui faire traduire chaque routine intĂ©gralement du Fortran au C++. J’imagine qu’aujourd’hui, il suffirait de donner l’intĂ©gralitĂ© du code source Fortran et de demander un projet C++ et personne ne serait surpris d’obtenir un rĂ©sultat qui fonctionne, mais Ă l’Ă©poque, en interactif, une routine aprĂšs l’autre, c’Ă©tait vraiment impressionnant. Et c’Ă©tait juste! Je sentais que l’IA comprenait ce que je voulais faire. J’ai vraiment compris la signification de la dĂ©nomination “copilot”… C’Ă©tait vraiment ça: un collĂšgue super brillant qui code instantanĂ©ment ce que j’ai dans la tĂȘte. LĂ j’Ă©tais conquis, alors que la majoritĂ© de mes collĂšgues Ă©taient restĂ©s au stade du scepticisme ou mĂȘme du mĂ©pris… j’en parlerai plus tard…
Bref, ce code Fortran, réécrit en C++ en une grosse journĂ©e de travail (je devrais dire “d’Ă©merveillement”) m’a permis de passer mon temps Ă faire par la suite une comparaison des performances Fortran/C++ sur la mĂ©thode SPH ainsi que mettre au point une belle interface graphique en VTK/Qt pour ce code.
Dans cette deuxiĂšme tĂąche, j’ai compris que l’aide de l’IA pour utiliser des APIs de bibliothĂšques telles que VTK et Qt allait devenir indispensable… Et trĂšs tĂŽt, je me suis dit: mais c’est fou, comment allons nous faire pour nous en passer, si cet outil devenait indisponible? Je me suis vite rendu compte que ça allait ĂȘtre impossible de ne plus utiliser l’IA pour coder. Mais alors comment marier ça avec mes prĂ©occupations climatiques? (ne pas rire s’il vous plait) et sociales (les outils que j’utilisaient Ă l’Ă©poque coĂ»tent prĂšs de 60$/mois)? Et surtout: comment allions nous faire pour vĂ©rifier que les Ă©tudiants n’utilisent pas l’IA dans les cours de base oĂč on apprend Ă coder par exemple? Un feu d’artifice de questions sans rĂ©ponses…
Une formation IA incroyable
Mon enthousiasme s’est encore emballĂ© quelques mois plus tard: frustrĂ© par le fait que je n’arrivais pas Ă prendre le temps nĂ©cessaire pour rĂ©flĂ©chir et commencer Ă utiliser mon abonnement ChatGPT, je me suis dit que je pourrais suivre une des nouvelles formations offertes par l’universitĂ© pour son personnel. Donc parmi la liste “apprendre word pour les nuls” et “je recadre mon visuel dans photoshop” (j’exagĂšre Ă peine), j’ai trouvĂ© “IntĂ©grer ChatGPT comme nouveau collaborateur”. Je me suis dit alors “ça doit ĂȘtre bien nul, Ă l’instar du reste, mais au moins je vais avoir 1 journĂ©e complĂšte pour jouer avec ChatGPT; au pire, je n’Ă©coute rien et je fais des essais moi-mĂȘme!”.
Le jour venu, je me retrouve face Ă un instructeur qui a le “physique type” de l’informaticien. BourrĂ© de prĂ©jugĂ©s, je me dis “haha, il va certainement nous dire que, lui, il sait tout faire en nous prenant constamment pour des imbĂ©ciles”. J’ai donc dĂ©marrĂ© sur le champ mon auto-formation ChatGPT en Ă©coutant vaguement son introduction un peu basique sur les IAs et LLMs…
AprĂšs une heure, il nous dit: “On va dĂ©buter ce cours par un petit exercice que je vais faire devant vous: je vais vous montrer comment rĂ©diger un texte par une IA qui va ĂȘtre indĂ©tectable par les outils de dĂ©tection d’IA”…. Ooops! Quoi??? Qu’est ce qu’il a dit, lĂ ??? Et hop c’Ă©tait en fait le moment de ma une deuxiĂšme “gifle IA”. Et j’allais en prendre tout le reste de la journĂ©e…
Le principe Ă©tait simple mais finalement il s’agissait finalement du seul principe essentiel Ă connaitre en IA pour l’utiliser: il suffisait de gĂ©nĂ©rer un premier texte dans un chat ("Fournis moi un bref texte descriptif de LiĂšge pour mon guide touristique"). Ce texte Ă©tait, bien sur, dĂ©tectĂ© comme rĂ©digĂ© par une IA Ă plus de 90% de certitude par l’outil de dĂ©tection d’IA. Dans un deuxiĂšme temps, on ouvre un second chat et on donne le texte en lui signalant qu’il est dĂ©tectĂ© comme Ă©crit par une IA. On demande alors Ă l’IA pourquoi, et surtout, comment s’y prendre pour qu’il ne le soit plus. Ca se traduit par demander une sĂ©rie de contraintes de rĂ©daction pour Ă©viter la dĂ©tection. Enfin, et sans lire ce que l’IA nous a fourni comme rĂ©ponse, on copie-colle le texte initial et les contraintes dans un 3e chat avec comme consigne: “Réécris moi ce texte en tenant compte de ces contraintes de rĂ©daction”. Et hop, le tour est jouĂ©: le texte rĂ©sultant tombe Ă 0% de chance qu’il soit Ă©crit par une IA dans l’outil de dĂ©tection!
Je pense qu’il m’a fallu plus d’une semaine pour m’en remettre. Mon cerveau a commencĂ© Ă bouillonner en continu.
La suite de la formation Ă©tait tout aussi intĂ©ressante, mais finalement basĂ©e sur ce mĂȘme principe: il n’est pas nĂ©cessaire de comprendre comment interroger une IA. C’est elle-mĂȘme qui peut nous dire comment faire. Autrement dit, c’est elle qui, au jour J, pourra nous fournir le meilleur prompt pour l’interroger. Il faut donc voir le dialogue avec l’IA comme un rĂȘve du film Inception: il y a plusieurs “niveaux” et certaines couches interrogent d’autres couches. Libre Ă nous de lire les Ă©tapes intermĂ©diaires pour mieux comprendre comment ça marche en interne mais, ce qui est Ă©tonnant (mais logique finalement), c’est que ce n’est pas nĂ©cessaire de le faire pour obtenir un rĂ©sultat bluffant!
AppliquĂ© Ă l’enseignement, ça veut donc dire que l’attitude hautaine de certains de mes collĂšgues “haha, je n’ai pas peur des IAs, les Ă©tudiants sont trop cons pour rĂ©diger un prompt” n’a vraiment aucun sens. Et non… Le premier imbĂ©cile venu qui a compris le “principe Inception” dont je viens de parler possĂšde Ă cĂŽtĂ© de lui un expert en rĂ©daction de prompts qui va l’aider! Et, lui, n’a besoin de rien comprendre mis Ă part le principe de “demande de demandes”. AĂŻe aĂŻe aĂŻe…
Cette “dĂ©couverte” m’a vraiment glacĂ© le sang. Quand j’y repense aujourd’hui, je suis Ă©tonnĂ© que je n’y avais pas pensĂ© avant la formation. Je me console en me disant que quand j’en ai parlĂ© autour de moi, peu de monde Ă©tait au courant de la technique. Je l’utilise maintenant quotidiennement et ça me parait donc vraiment naturel aujourd’hui.
Le lendemain, aprĂšs une nuit quasiment blanche tellement mon cerveau voulait rester actif (il risquait d’ĂȘtre “grand-remplacĂ©”, haha), j’ai voulu en parler Ă mes collĂšgues. Ce mĂȘme matin, j’avais dans ma boite mail le compte rendu “read.ai” du conseil des Ă©tudes aĂ©ro-mĂ©ca. Le conseil, qui avait lieu exactement en mĂȘme temps que mon cours IA, avait Ă©tĂ© enregistrĂ©, et retranscrit intĂ©gralement par une IA. Le site me proposait d’avoir un “accĂšs pro” pendant 7 jours: il suffisait de lire le texte et cliquer sur les passages intĂ©ressants pour voir la vidĂ©o teams au moment oĂč les gens prononcent les phrases en question… Waw, c’est chouette. Je fast-forwarde donc sur le point “IA dans l’enseignement”. Ca commence bien: “Bon, ben on nous a obligĂ© Ă mettre ça Ă l’ordre du jour, … donc voilĂ , … on doit parler de l’IA dans l’enseignement en fac de sciences appliquĂ©es et dans nos cours… rassurez vous, tous les conseils des Ă©tudes sont obligĂ©s de faire ça…”. Ca donne le ton: le sujet est prĂ©sentĂ© comme tellement peu intĂ©ressant qu’il faut s’excuser qu’il soit Ă l’ordre du jour! Intervenant suivant: “Ah mes vous savez, l’IA ça me fait bien rire: moi j’ai essayĂ© l’IA… Je lui ai donnĂ© mes examens et mes devoirs et je lui ai demandĂ© de les rĂ©soudre… hahaha, mais c’Ă©tait nuuul…. Pitoyable… Bon, c’est vrai que mon cours est trĂšs difficile mais en tout cas, je suis certain qu’une IA sera toujours incapable d’aider les Ă©tudiants, je n’ai aucune crainte”… Intervenant suivant: “moi aussi, ce ne sont que des statistiques en fait vous savez… Il n’y a aucune rĂ©flexion derriĂšre… ce n’est pas de l’intelligence…”… Suivent quelques interventions du mĂȘme acabit et le point se conclut par “De toute façon l’universitĂ© a fait une charte, donc c’est bon. Et je propose qu’on forme les futurs Ă©tudiants Ă bien rĂ©diger des prompts dans un nouveau cours… on en reparlera plus tard… point suivant”… Consternant…
Donc, en section “ingĂ©nieur mĂ©canique-aĂ©rospatiale”, personne ne semblait ĂȘtre au courant de la mĂ©thode de gĂ©nĂ©ration de prompts que j’avais apprise hier. Pire: la plupart de mes collĂšgues pensaient (et certains le pensent toujours - cfr la couverture de ce post) que l’IA n’Ă©tait qu’un outil de plus Ă maitriser et qu’il n’y aurait que peu d’impact sur l’enseignement. A ce moment j’ai alertĂ© le doyen et le conseil des Ă©tudes en leur conseillant de suivre la formation de la veille pour qu’ils ouvrent les yeux. Heureusement, je pense qu’aujourd’hui, la plupart d’entre eux est maintenant conscient du problĂšme… que je dĂ©crirai dans un prochain billet…
