Accessibility Tools

- Le blog participatif de bioinformatique francophone depuis 2012 -

Les IA génératives ne sont pas vos amies !

Mot des admins
Ce post est un article d'opinion qui n'engage que l'avis de son auteur.

Cher jour­nal, je t'écris pour répondre à un billet que tu as publié plus tôt.

Pour le résu­mer avec un peu de mau­vaise foi : uti­li­ser des IA géné­ra­tives, c'est trop cool.

Contexte ?

Je ne vais ici par­ler que d'IA géné­ra­tive, pas d'autres méthodes d'IA comme celles qui per­mettent de faire de la clas­si­fi­ca­tion ou du replie­ment de pro­téines1.

Je ne suis pas un expert en IA et je n'utilise pas d'IA géné­ra­tive, je n'ai donc qu'un point de vue exté­rieur ali­men­té par les dif­fé­rentes vul­ga­ri­sa­tions auquel je n'ai pas pu échap­per. De plus, comme vous l'avez sans doute déjà noté, j'ai un avis néga­tif sur l'usage de ces IA géné­ra­tives, qui donc a orien­té ma recherche d'information vers les aspects néga­tifs.

Main­te­nant que je me suis situé, allons‑y !

Vous n'avez aucune garantie

Je ne suis pas for­cé­ment le plus com­pé­tent pour écrire une des­crip­tion du fonc­tio­ne­ment des IA géné­ra­tives mais il semble qu'il est néces­saire de rap­pe­ler cer­tains points sur le fonc­tion­ne­ment des IA géné­ra­tives.

Les IA géné­ra­tives n'écrivent pas de code, on peut dire qu'elles ne font que pré­dire le pro­chain mot/​symbole le plus pro­bable par rap­port au contexte et à ses don­nées d'apprentissage. Il se trouve que sou­vent c'est le bon mot/​symbole vu que les don­nées d’entraînement contiennent du code qui a prio­ri fonc­tionne. C'est une garan­tie sto­chas­tique que dans 99.9999 % des cas vous aurez du code juste, mais vous ne pou­vez pas en être sûr, vous devrez tou­jours véri­fier votre code.

De plus cer­taines études montrent que les IA de codage ne feraient pas gagner de temps de déve­lop­pe­ment mais en plus déstruc­tu­re­raient la base du code et crée­raient plus de bugs. Je suis d’accord que les effets décrits ne sont pas évi­dents à mesu­rer. Il est déjà com­pli­qué d'évaluer la qua­li­té d'un code, alors ima­gi­nez la com­plexi­té de com­pa­rer la qua­li­té de deux codes déve­lop­pés ou non avec une IA géné­ra­tive. Je pense que glo­ba­le­ment que l'on manque de recul par rap­port à l'effet de l'utilisation de ces outils sur la qua­li­té de nos pro­duc­tions.

On peut se dire que ces incon­vé­nients ne pèsent pas lourd par rap­port aux avan­tages offerts par les IA géné­ra­tives. Ras­su­rez-vous, j'ai plein d'autres cri­tiques.

Vous utilisez GitHub Copilot ? Vous êtes un plagiaire !

Je sais que cette accu­sa­tion est assez grave, sur­tout dans le milieu de la recherche, mais je ne lâche pas comme ça que pour le plai­sir de vous pro­vo­quer.

Micro­soft a entraî­né GitHub Copi­lot sur du code source dis­po­nible publi­que­ment, géné­ra­le­ment sous licence libre.

Ces licences libres sont assez diverses et imposent des règles variées aux gens qui uti­lisent ou réuti­lisent leurs codes, notam­ment l'obligation de citer l'auteur ori­gi­nal du code repris.
D'autres licences logi­cielles ont une clause de copy­left qui exige que le code déri­vé soit pla­cé sous la même licence ou une licence logi­cielle simi­laire (licences conta­mi­nantes).

Com­ment savoir quel licence appli­quée à des résul­tats d'une IA géné­ra­tive entraî­née sur du code sous licence libre conta­mi­nante ? Cette ques­tion reste ouverte. Felix Reda (ex-dépu­té euro­péen du par­ti pirate) argu­mente qu'attaquer GitHub Copi­lot sur ce point n'est pas une bonne idée. Mais sachez tous de même qu'une action en jus­tice est en cours contre Micro­soft, car avec un peu de prompt engi­nee­ring, on peut arri­ver à obte­nir des frag­ments entiers de code issus des don­nées d’entraînement sans men­tion de la source ori­gi­nale, ce qui enfreint le droit à la pro­prié­té intel­lec­tuelle.

Vous payez pour donner des informations à une entreprise privée

Pour que Copi­lot puisse écrire du code dans votre contexte de déve­lop­pe­ment, il faut que votre contexte de déve­lop­pe­ment soit envoyé sur les ser­veurs de Micro­soft. Par consé­quent, même le code source que vous avez écrit vous-même est envoyé à Micro­soft. Alors pour vos pro­jets per­son­nels, c'est votre pro­blème, mais quand vous tra­vaillez pour quelqu'un (ou même l'État), ce code n'est pas à vous. Est-ce que vous avez vrai­ment le droit de l'envoyer à une autre socié­té pri­vée ?

De plus, votre pro­duc­tion dépend du bon vou­loir d'une autre entre­prise. Alors certes, vous êtes client et vous avez un cer­tain nombre de droits liés à ce contrat si jamais d'un coup il vous coupe l'accès à leurs ser­vices ou vous vole votre code. Vous pour­rez aller en pro­cès, mais en face c'est Micro­soft ou une autre grosse entre­prise, je suis sûr qu'illes ont un meilleur ser­vice juri­dique que vous et qu'illes pour­ront faire traî­ner la pro­cé­dure autant qu'illes veulent.

Autre pro­blème posé par cette rela­tion de dépen­dance avec la com­pa­gnie qui a entraî­né et qui four­nit votre IA géné­ra­tive c'est que vous ne contrô­lez pas les mises à jour. Le modèle peut avoir été entraî­né avec des don­nées trop anciennes. Par exemple, Github Copi­lot ne connaît pas des fonc­tion­na­li­tés récentes d'Angular ou même de Power­shell. Vous allez me dire : "Ok, c'est pas pra­tique pour cer­tains cas mais le modèle va être réen­traî­né, ou si on lui per­met de faire des recherches dans la doc, le pro­blème sera réso­lu" et vous avez rai­son, mais vous êtes tou­jours dépen­dant du bon vou­loir de l'entreprise, mais sur­tout cet entraînement/​cette ana­lyse n'est pas gra­tuit, ni éco­no­mi­que­ment, ni éco­lo­gi­que­ment.

C'est durable ?

Actuel­le­ment, il semble de bon ton de faire atten­tion à sa consom­ma­tion éner­gé­tique et à sa pro­duc­tion de gaz à effet de serre pour des rai­sons qui m'échappent ؟

Il existe même des col­lec­tifs aca­dé­miques qui étu­dient la ques­tion et pro­duisent des outils pour éva­luer les effets de la recherche et pro­posent des solu­tions pour en réduire l’impact sur l’environnement et le cli­mat.

Est-ce que GitHub Copi­lot pro­duit du CO2 ? La réponse est com­pli­quée à trou­ver pour GitHub Copi­lot spé­ci­fi­que­ment, mais on peut se dou­ter que l’entraînement des modèles, l'inférence des réponses et les com­mu­ni­ca­tions réseau ne sont pas gra­tuits éner­gé­ti­que­ment par­lant.

Les IA géné­ra­tives ne sont pas les seules à pro­duire du CO2 — et même notre usage actuel de l'informatique est déjà trop pol­luante — mais il sem­ble­rait que le bilan car­bone des GAFAM a ten­dance à pas mal aug­men­ter ces der­nières années :

Selon des pré­vi­sions, les émis­sions de gaz effet de serre de 2030 des data centres pour­raient être mul­ti­pliées par 3 à cause des IA géné­ra­tives.

Même des gens qui tra­vaillent dans l'IA comme Hug­ging Face ont écrit un billet de blog pour dire que la consom­ma­tion éner­gé­tique des IA est un pro­blème.

C'est en codant qu'on devient codeur

Oui, coder une 50ᵉ fois la même fonc­tion pour lire un fichier, c'est pénible, mais déjà il y a d'autres solu­tions que de lais­ser faire votre IA géné­ra­tive pré­fé­rée.

Vous pour­riez écrire une biblio­thèque logi­cielle pour y mettre votre fonc­tion, par contre cela va deman­der de :

  • Géné­ra­li­ser votre code
  • Rédi­ger des tests
  • Main­te­nir votre code

Par consé­quent vous aurez appris de nou­velles com­pé­tences, et si vous avez mis votre biblio­thèque sous licence libre, vous avez contri­bué à la connais­sance glo­bale.

Toutes les petites fonc­tions ne sont pas inté­res­santes à mettre dans une biblio­thèque, mais vous pou­vez uti­li­ser un sys­tème de snip­pet qui tourne en local sur votre machine et pour beau­coup moins d'énergie que celle deman­dée par l'inférence d'un réseau de neu­rones.

Même si effec­ti­ve­ment, on n'utilise pas les alter­na­tives pos­sibles, on ne réécrit jamais exac­te­ment le même code. Entre-temps on a appris de nou­velles choses, on va uti­li­ser une nou­velle archi­tec­ture, une autre biblio­thèque, nom­mer dif­fé­rem­ment les variables, mieux docu­men­ter son code.

Comme on ne se baigne jamais deux fois dans le même fleuve, on n'écrit jamais le même reverse com­plé­ment.

Conclusion

Tout comme sur l'usage du mot "numé­rique" à la place de "digi­tal" et "chif­fré" plus tôt que "cryp­té", je sais que j'ai déjà per­du ce com­bat. Mais j'ai le sen­ti­ment que quand on parle d'IA géné­ra­tive, soit c'est trop cool, soit c'est la fin du monde.

Certes, je ne suis pas pour l'usage des IA géné­ra­tives, mais ce n'est pas non plus l'apocalypse. C'est une solu­tion tech­nique qui pose de nom­breux pro­blèmes, juri­diques, éco­lo­giques, de dépen­dance, mais c'est un pro­blème entre vous, votre conscience et les ser­vices juri­diques de votre employeur.

Mais pour moi mon code, c'est mon art et comme disait Joan­na Macie­jews­ka :
"Je veux que l'IA fasse ma les­sive et ma vais­selle, comme ça je peux faire de l'art et écrire, plu­tôt que l'IA fasse mon art et mon écri­ture pour avoir le temps de faire ma les­sive et ma vais­selle".

Conclusion de la conclusion

Pen­dant la relec­ture de ce billet, je me suis ren­du compte (avec l'aide des relec­teurs) que glo­ba­le­ment ma conclu­sion était triste et que je ne pro­po­sais pas de solu­tion.

Ou du moins on pour­rait lire ma conclu­sion comme suit : "Y'a rien à faire, conti­nuez à écrire votre code sans IA dans votre coin et au moins nous aurons la vic­toire morale", ce qui ne me plaît pas. La pos­ture morale est assez peu inté­res­sante sauf si on aime se dra­per dans sa pure­té. Sur­tout, ça résout assez peu de pro­blèmes.

La prohibition ?

On pour­rait inter­dire pure­ment et sim­ple­ment les IA géné­ra­tives. On a de nom­breux exemples dans l'histoire qui nous montrent bien que la pro­hi­bi­tion ne marche pas et que les effets de bord peuvent être très vio­lents.

Autre pro­blème : il va fal­loir défi­nir juri­di­que­ment ce qu'est une IA géné­ra­tive. Je ne suis pas juriste, mais la tâche me semble ardue. La pro­hi­bi­tion, c'est non.

Quel est vraiment le problème ?

Tâchons de reve­nir à l'essentiel de ce qui me gêne vrai­ment avec les IA géné­ra­tives.

Le fait que ça uti­lise de la connais­sance et du savoir sans citer ses pro­duc­trices. Vu que je consi­dère que la pro­prié­té, c'est du vol, je vous laisse devi­ner ma consi­dé­ra­tion pour la pro­prié­té de choses imma­té­rielles. Même les licences libres ne sont qu'un moyen de per­mettre le par­tage de la connais­sance dans un monde capi­ta­liste.

Les IA géné­ra­tives vous rendent dépen­dants du bon vou­loir d'un service/​entreprise/​personne externe. Se rendre com­plè­te­ment indé­pen­dant est pos­sible, mais demande beau­coup d'efforts et prive de beau­coup de confort, notam­ment d'ordinateur, de temps pour lire, créer et s'amuser. D'autant que l'on peut auto­hé­ber­ger son IA, donc on assume tous les coûts mais on est seul res­pon­sable, on peut même aller jusqu’à l’entraîner soi-même.

Le der­nier pro­blème que j'ai sou­le­vé c'est la consom­ma­tion éner­gé­tique. Allons vivre dans le magni­fique pays de la théo­rie : vous avez vos jeux de don­nées d’entraînement, vous avez la puis­sance de cal­cul pour entraî­ner votre modèle et pour le faire tour­ner. Même dans le pays de la théo­rie, vous allez avoir besoin d’électricité pour tous ces cal­culs. Et même si l'efficacité des algo­rithmes ne fait que s’améliorer, votre pro­duc­tion de code consom­me­ra tou­jours plus d'énergie avec une IA que sans IA, alors que comme on l’a vu, il me semble qu'il existe des alter­na­tives, certes moins géné­riques, mais aus­si moins coû­teuses.

Payons le vrai coût de l'énergie

Le pro­blème qui m'embête le plus avec l'utilisation des IA géné­ra­tives c'est la consom­ma­tion d'énergie et la pol­lu­tion engen­drée par cette pro­duc­tion d’énergie. On pour­rait faire payer plus cher leur élec­tri­ci­té au data centres d’entraînement et d'inférence d'IA géné­ra­tives. Mais pour­quoi s’arrêter aux IA géné­ra­tives ? Appli­quons ça au trans­port et tous nos sec­teurs, une taxe car­bone en somme.

Ce n'est pas une solu­tion qui me plaît, car tout le monde paye­ra le même prix et du coup les riches auront le droit de pol­luer juste parce qu'ils ont plus d'argent et qu'on peut ce dire qu'il y a des consom­ma­tions d’énergie qui sont plus légi­time que d'autre.

On pour­rait trou­ver des sys­tèmes de com­pen­sa­tion pour réduire ces pro­blèmes. En défi­ni­tive et en der­nière ana­lyse la solu­tion qui me plaît le plus aux pro­blèmes des IA géné­ra­tives, une solu­tion poli­tique com­pli­qué a mettre en place, qui demande beau­coup de négo­cia­tion pour déter­mi­ner ce qu'on doit taxé, ou alors une révo­lu­tion. Essayons de trou­ver une solu­tion un peu appli­cable.

Le grand soir, c'est pas pour demain

Je vous pro­pose donc la pro­pa­gande par le fait ! Je ne vous encou­rage pas à aller poser des bombes dans les data centres ni à kid­nap­per des CEO de star­tups de l'IA contre ran­çon. Mon idée et plu­tôt de conti­nuer à écrire du code sans IA, et plu­tôt que de le faire tout seul dans notre coin, de le reven­di­quer, et de refu­ser l'intégration de code géné­ré par IA dans les pro­jets dont nous sommes res­pon­sables. On pour­rait por­ter la bonne parole en rajou­tant un joli badge du plus bel effet dans nos README avec un lien poin­tant vers une page décri­vant la démarche.

Ce magni­fique badge sera très seyant par­mi tous les autres badges de votre readme.

Alors, c'est pas la glo­rieuse après-midi et encore moins le joyeux matin2, ce n'est pas une démarche révo­lu­tion­naire qui vas rapi­de­ment faire dis­pa­raître l'usage des IA géné­ra­tives, mais c'est déjà un peu plus com­ba­tif que ce que pou­vait lais­ser entendre ma conclu­sion pré­cé­dente.

Remerciement

Je remer­cie évi­dem­ment les admi­nis­tra­teurs du blog et les relec­teurs de ce billet : Lana, ZaZo0o, Ista, Aze­rin, Marion.

P.S. : Cet article a été cor­ri­gé par un logi­ciel libre dédié à cette tâche et n'utilisant pas de méthode d'Intelligence Arti­fi­cielle.

  1. Quoi qu'on pour­rait par­ler du fait qu'AlphaFold 3 n'est uti­li­sable que via la pla­te­forme Alpha­Fold ser­veur. Ce qui ne cor­res­pond pas aux bonnes pra­tiques du domaine et que mal­gré des demandes répé­tées même un revie­wer n'a pas pu avoir accès à ce code source. ↩︎
  2. C'est une réfé­rence à l'expression "Le Grand Soir" que Wiki­pe­dia défi­nie comme un chi­liasme qui désigne le jour de la révo­lu­tion sociale. ↩︎

Vous avez aimé ? Dites-le nous !

Moyenne : 3.7 /​ 5. Nb de votes : 3

Pas encore de vote pour cet article.

Partagez cet article




Commentaires

2 réponses à “Les IA génératives ne sont pas vos amies !”

  1. Avatar de RolandF

    Mer­ci à toi pour cet article très inté­res­sant ! Cette dis­cus­sion arrive au bon moment (pour moi) pour ali­men­ter la (ma) réflexion 🙂

  2. Avatar de paulimer

    Mer­ci pour cet article ! Moins cari­ca­tu­ral que le pré­cé­dent ^^
    Dans les solu­tions, ou plu­tôt les futurs pos­sibles, il y a aus­si la pos­si­bi­li­té que la bulle autour de l'IA géné­ra­tive se dégonfle, notam­ment à cause des coûts pro­hi­bi­tifs (il suf­fit de voir la valo­ri­sa­tion de Nvi­dia). Avant l'été Gold­man Sachs (pour­tant pas trop mes copains) publiait une note scep­tique sur le sujet : https://​www​.gold​man​sachs​.com/​i​n​s​i​g​h​t​s​/​t​o​p​-​o​f​-​m​i​n​d​/​g​e​n​-​a​i​-​t​o​o​-​m​u​c​h​-​s​p​e​n​d​-​t​o​o​-​l​i​t​t​l​e​-​b​e​n​e​fit
    Un autre futur pos­sible un peu moins joyeux c'est que nos diri­geants rem­placent la ges­tion de la poly­crise (https://​en​.wiki​pe​dia​.org/​w​i​k​i​/​P​o​l​y​c​r​i​sis) actuelle par une foi inébran­lable dans la capa­ci­té de l'IA à "régler nos pro­blèmes" (https://x.com/jathansadowski/status/1842665093584273595).

Laisser un commentaire

Pour insérer du code dans vos commentaires, utilisez les balises <code> et <\code>.