Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

L’IA Open Source existe-t-elle vraiment ?

Par : Framalang
31 octobre 2024 à 05:10

À l’heure où tous les mastodontes du numérique, GAFAM comme instituts de recherche comme nouveaux entrants financés par le capital risque se mettent à publier des modèles en masse (la plateforme Hugging Face a ainsi dépassé le million de modèles déposés le mois dernier), la question du caractère « open-source » de l’IA se pose de plus en plus.

Ainsi, l’Open Source Initiative (OSI) vient de publier une première définition de l’IA Open-Source, et la Linux Foundation (dont le nom peut prêter à confusion, mais qui ne représente surtout qu’une oligarchie d’entreprises du secteur) s’interroge également sur le terme.

Au milieu de tout cela, OpenAI devient de manière assez prévisible de moins en moins « open », et si Zuckerberg et Meta s’efforcent de jouer la carte de la transparence en devenant des hérauts de l’« IA Open-Source », c’est justement l’OSI qui leur met des bâtons dans les roues en ayant une vision différente de ce que devrait être une IA Open-Source, avec en particulier un pré-requis plus élevé sur la transparence des données d’entraînement.

Néanmoins, la définition de l’OSI, si elle embête un peu certaines entreprises, manque selon la personne ayant écrit ce billet (dont le pseudo est « tante ») d’un élément assez essentiel, au point qu’elle se demande si « l’IA open source existe-t-elle vraiment ? ».

Note : L’article originel a été publié avant la sortie du texte final de l’OSI, mais celui-ci n’a semble t-il pas changé entre la version RC1 et la version finale.

L’IA Open Source existe-t-elle vraiment ?

Par tante, sous licence CC BY-SA (article originel).
Une traduction Framalang par tcit et deux contributeur·ices anonymes.
Photo de la bannière par Robert Couse-Baker.

 

 

L’Open Source Initiative (OSI) a publié la RC1 (« Release Candidate 1 » signifiant : cet écrit est pratiquement terminé et sera publié en tant que tel à moins que quelque chose de catastrophique ne se produise) de la « Définition de l’IA Open Source ».

D’aucuns pourraient se demander en quoi cela est important. Plein de personnes écrivent sur l’IA, qu’est-ce que cela apporte de plus ? C’est la principale activité sur LinkedIn à l’heure actuelle. Mais l’OSI joue un rôle très particulier dans l’écosystème des logiciels libres. En effet, l’open source n’est pas seulement basé sur le fait que l’on peut voir le code, mais aussi sur la licence sous laquelle le code est distribué : Vous pouvez obtenir du code que vous pouvez voir mais que vous n’êtes pas autorisé à modifier (pensez au débat sur la publication récente de celui de WinAMP). L’OSI s’est essentiellement chargée de définir parmi les différentes licences utilisées partout lesquelles sont réellement « open source » et lesquelles sont assorties de restrictions qui sapent cette idée.

C’est très important : le choix d’une licence est un acte politique lourd de conséquences. Elle peut autoriser ou interdire différents modes d’interaction avec un objet ou imposer certaines conditions d’utilisation. La célèbre GPL, par exemple, vous permet de prendre le code mais vous oblige à publier vos propres modifications. D’autres licences n’imposent pas cette exigence. Le choix d’une licence a des effets tangibles.

Petit aparté : « open source » est déjà un terme un peu problématique, c’est (à mon avis) une façon de dépolitiser l’idée de « Logiciel libre ». Les deux partagent certaines idées, mais là où « open source » encadre les choses d’une manière plus pragmatique « les entreprises veulent savoir quel code elles peuvent utiliser », le logiciel libre a toujours été un mouvement plus politique qui défend les droits et la liberté de l’utilisateur. C’est une idée qui a probablement été le plus abimée par les figures les plus visibles de cet espace et qui devraient aujourd’hui s’effacer.

Qu’est-ce qui fait qu’une chose est « open source » ? L’OSI en dresse une courte liste. Vous pouvez la lire rapidement, mais concentrons-nous sur le point 2 : le code source :

Le programme doit inclure le code source et doit permettre la distribution du code source et de la version compilée. Lorsqu’une quelconque forme d’un produit n’est pas distribuée avec le code source, il doit exister un moyen bien connu d’obtenir le code source pour un coût de reproduction raisonnable, de préférence en le téléchargeant gratuitement sur Internet. Le code source doit être la forme préférée sous laquelle un programmeur modifierait le programme. Le code source délibérément obscurci n’est pas autorisé. Les formes intermédiaires telles que la sortie d’un préprocesseur ou d’un traducteur ne sont pas autorisées.
Open Source Initiative

Pour être open source, un logiciel doit donc être accompagné de ses sources. D’accord, ce n’est pas surprenant. Mais les rédacteurs ont vu pas mal de conneries et ont donc ajouté que le code obfusqué (c’est-à-dire le code qui a été manipulé pour être illisible) ou les formes intermédiaires (c’est-à-dire que vous n’obtenez pas les sources réelles mais quelque chose qui a déjà été traité) ne sont pas autorisés. Très bien. C’est logique. Mais pourquoi les gens s’intéressent-ils aux sources ?

Les sources de la vérité

L’open source est un phénomène de masse relativement récent. Nous avions déjà des logiciels, et même certains pour lesquels nous ne devions pas payer. À l’époque, on les appelait des « Freeware », des « logiciels gratuits ». Les freewares sont des logiciels que vous pouvez utiliser gratuitement mais dont vous n’obtenez pas le code source. Vous ne pouvez pas modifier le programme (légalement), vous ne pouvez pas l’auditer, vous ne pouvez pas le compléter. Mais il est gratuit. Et il y avait beaucoup de cela dans ma jeunesse. WinAMP, le lecteur audio dont j’ai parlé plus haut, était un freeware et tout le monde l’utilisait. Alors pourquoi se préoccuper des sources ?

Pour certains, il s’agissait de pouvoir modifier les outils plus facilement, surtout si le responsable du logiciel ne travaillait plus vraiment dessus ou commençait à ajouter toutes sortes de choses avec lesquelles ils n’étaient pas d’accord (pensez à tous ces logiciels propriétaires que vous devez utiliser aujourd’hui pour le travail et qui contiennent de l’IA derrière tous les autres boutons). Mais il n’y a pas que les demandes de fonctionnalités. Il y a aussi la confiance.

Lorsque j’utilise un logiciel, je dois faire confiance aux personnes qui l’ont écrit. Leur faire confiance pour qu’ils fassent du bon travail, pour qu’ils créent des logiciels fiables et robustes. Qu’ils n’ajoutent que les fonctionnalités décrites dans la documentation et rien de caché, de potentiellement nuisible.

Les questions de confiance sont de plus en plus importantes, d’autant plus qu’une grande partie de notre vie réelle repose sur des infrastructures numériques. Nous savons tous que nos infrastructures doivent comporter des algorithmes de chiffrement entièrement ouverts, évalués par des pairs et testés sur le terrain, afin que nos communications soient à l’abri de tout danger.

L’open source est – en particulier pour les systèmes et infrastructures critiques – un élément clé de l’établissement de cette confiance : Parce que vous voulez que (quelqu’un) soit en mesure de vérifier ce qui se passe. On assiste depuis longtemps à une poussée en faveur d’une plus grande reproductibilité des processus de construction. Ces processus de compilation garantissent essentiellement qu’avec le même code d’entrée, on obtient le même résultat compilé. Cela signifie que si vous voulez savoir si quelqu’un vous a vraiment livré exactement ce qu’il a dit, vous pouvez le vérifier. Parce que votre processus de construction créerait un artefact identique.

Logo du projet Reproducible builds

Le projet Reproducible builds cherche à promouvoir la reproductibilité des systèmes libres, pour plus de transparence.
Le projet est notamment financé par le Sovereign Tech Fund.

 

Bien entendu, tout le monde n’effectue pas ce niveau d’analyse. Et encore moins de personnes n’utilisent que des logiciels issus de processus de construction reproductibles – surtout si l’on considère que de nombreux logiciels ne sont pas compilés aujourd’hui. Mais les relations sont plus nuancées que le code et la confiance est une relation : si vous me parlez ouvertement de votre code et de la manière dont la version binaire a été construite, il me sera beaucoup plus facile de vous faire confiance. Savoir ce que contient le logiciel que j’exécute sur la machine qui contient également mes relevés bancaires ou mes clés de chiffrement.

Mais quel est le rapport avec l’IA ?

Les systèmes d’IA et les 4 libertés

Les systèmes d’IA sont un peu particuliers. En effet, les systèmes d’IA – en particulier les grands systèmes qui fascinent tout le monde – ne contiennent pas beaucoup de code par rapport à leur taille. La mise en œuvre d’un réseau neuronal se résume à quelques centaines de lignes de Python, par exemple. Un « système d’IA » ne consiste pas seulement en du code, mais en un grand nombre de paramètres et de données.

Un LLM moderne (ou un générateur d’images) se compose d’un peu de code. Vous avez également besoin d’une architecture de réseau, c’est-à-dire de la configuration des neurones numériques utilisés et de la manière dont ils sont connectés. Cette architecture est ensuite paramétrée avec ce que l’on appelle les « poids » (weights), qui sont les milliards de chiffres dont vous avez besoin pour que le système fasse quelque chose. Mais ce n’est pas tout.

Pour traduire des syllabes ou des mots en nombres qu’une « IA » peut consommer, vous avez besoin d’une intégration, une sorte de table de recherche qui vous indique à quel « jeton » (token) correspond le nombre « 227 ». Si vous prenez le même réseau neuronal mais que vous lui appliquez une intégration différente de celle avec laquelle il a été formé, tout tomberait à l’eau. Les structures ne correspondraient pas.

Représentation d'une puce informatique sous la forme d'un cerveau.

Image sous CC BY par Mike MacKenzie & Liam Huang

Ensuite, il y a le processus de formation, c’est-à-dire le processus qui a créé tous les « poids ». Pour entraîner une « IA », vous lui fournissez toutes les données que vous pouvez trouver et, après des millions et des milliards d’itérations, les poids commencent à émerger et à se cristalliser. Le processus de formation, les données utilisées et la manière dont elles le sont sont essentiels pour comprendre les capacités et les problèmes d’un système d’apprentissage automatique : si vous voulez réduire les dommages dans un réseau, vous devez savoir s’il a été formé sur Valeurs Actuelles ou non, pour donner un exemple.

Et c’est là qu’est le problème.

L’OSI « The Open Source AI Definition – 1.0-RC1 » exige d’une IA open source qu’elle offre quatre libertés à ses utilisateurs :

  1. Utiliser le système à n’importe quelle fin et sans avoir à demander la permission.
  2. Étudier le fonctionnement du système et inspecter ses composants.
  3. Modifier le système dans n’importe quel but, y compris pour changer ses résultats.
  4. Partager le système pour que d’autres puissent l’utiliser, avec ou sans modifications, dans n’importe quel but.

Jusqu’ici tout va bien. Cela semble raisonnable, n’est-ce pas ? Vous pouvez inspecter, modifier, utiliser et tout ça. Génial. Tout est couvert dans les moindre détails, n’est-ce pas ? Voyons rapidement ce qu’un système d’IA doit offrir. Le code : Check. Les paramètres du modèle (poids, configurations) : Check ! Nous sommes sur la bonne voie. Qu’en est-il des données ?

Informations sur les données : Informations suffisamment détaillées sur les données utilisées pour entraîner le système, de manière à ce qu’une personne compétente puisse construire un système substantiellement équivalent. Les informations sur les données sont mises à disposition dans des conditions approuvées par l’OSI.

En particulier, cela doit inclure (1) une description détaillée de toutes les données utilisées pour la formation, y compris (le cas échéant) des données non partageables, indiquant la provenance des données, leur portée et leurs caractéristiques, la manière dont les données ont été obtenues et sélectionnées, les procédures d’étiquetage et les méthodes de nettoyage des données ; (2) une liste de toutes les données de formation accessibles au public et l’endroit où les obtenir ; et (3) une liste de toutes les données de formation pouvant être obtenues auprès de tiers et l’endroit où les obtenir, y compris à titre onéreux.
Open Source Initiative

Que signifie « informations suffisamment détaillées » ? La définition de l’open source ne parle jamais de « code source suffisamment détaillé ». Vous devez obtenir le code source. Tout le code source. Et pas sous une forme obscurcie ou déformée. Le vrai code. Sinon, cela ne veut pas dire grand-chose et ne permet pas d’instaurer la confiance.

La définition de l’« IA Open Source » donnée par l’OSI porte un grand coup à l’idée d’open source : en rendant une partie essentielle du modèle (les données d’entraînement) particulière de cette manière étrange et bancale, ils qualifient d’« open source » toutes sortes de choses qui ne le sont pas vraiment, sur la base de leur propre définition de ce qu’est l’open source et de ce à quoi elle sert.

Les données d’apprentissage d’un système d’IA font à toutes fins utiles partie de son « code ». Elles sont aussi pertinentes pour le fonctionnement du modèle que le code littéral. Pour les systèmes d’IA, elles le sont probablement encore plus, car le code n’est qu’une opération matricielle générique avec des illusions de grandeur.

L’OSI met une autre cerise sur le gâteau : les utilisateurs méritent une description des « données non partageables » qui ont été utilisées pour entraîner un modèle. Qu’est-ce que c’est ? Appliquons cela au code à nouveau : si un produit logiciel nous donne une partie essentielle de ses fonctionnalités simplement sous la forme d’un artefact compilé et nous jure ensuite que tout est totalement franc et honnête, mais que le code n’est pas « partageable », nous n’appellerions pas ce logiciel « open source ». Parce qu’il n’ouvre pas toutes les sources.

Une « description » de données partiellement « non partageables » vous aide-t-elle à reproduire le modèle ? Non. Vous pouvez essayer de reconstruire le modèle et il peut sembler un peu similaire, mais il est significativement différent. Cela vous aide-t-il d’« étudier le système et d’inspecter ses composants » ? Seulement à un niveau superficiel. Mais si vous voulez vraiment analyser ce qu’il y a dans la boîte de statistiques magiques, vous devez savoir ce qu’il y a dedans. Qu’est-ce qui a été filtré exactement, qu’est-ce qui est entré ?

Cette définition semble très étrange venant de l’OSI, n’est-ce pas ? De toute évidence, cela va à l’encontre des idées fondamentales de ce que les gens pensent que l’open source est et devrait être. Alors pourquoi le faire ?

L’IA (non) open source

Voici le truc. À l’échelle où nous parlons aujourd’hui de ces systèmes statistiques en tant qu’« IA », l’IA open source ne peut pas exister.

De nombreux modèles plus petits ont été entraînés sur des ensembles de données publics explicitement sélectionnés et organisés. Ceux-ci peuvent fournir toutes les données, tout le code, tous les processus et peuvent être appelés IA open-source. Mais ce ne sont pas ces systèmes qui font s’envoler l’action de NVIDIA.

Ces grands systèmes que l’on appelle « IA » – qu’ils soient destinés à la génération d’images, de texte ou multimodaux – sont tous basés sur du matériel acquis et utilisé illégalement. Parce que les ensembles de données sont trop volumineux pour effectuer un filtrage réel et garantir leur légalité. C’est tout simplement trop.

Maintenant, les plus naïfs d’entre vous pourraient se demander : « D’accord, mais si vous ne pouvez pas le faire légalement, comment pouvez-vous prétendre qu’il s’agit d’une entreprise légitime ? » et vous auriez raison, mais nous vivons aussi dans un monde étrange où l’espoir qu’une innovation magique et / ou de l’argent viendront de la reproduction de messages Reddit, sauvant notre économie et notre progrès.

L’« IA open source » est une tentative de « blanchir » les systèmes propriétaires. Dans leur article « Repenser l’IA générative open source : l’openwashing et le règlement sur l’IA de l’UE  », Andreas Liesenfeld et Mark Dingemanse ont montré que de nombreux modèles d’IA « Open-Source » n’offrent guère plus que des poids de modèles ouverts. Signification : Vous pouvez faire fonctionner la chose mais vous ne savez pas vraiment ce que c’est.

Cela ressemble à quelque chose que nous avons déjà eu : c’est un freeware. Les modèles open source que nous voyons aujourd’hui sont des blobs freeware propriétaires. Ce qui est potentiellement un peu mieux que l’approche totalement fermée d’OpenAI, mais seulement un peu.

Certains modèles proposent des fiches de présentation du modèle ou d’autres documents, mais la plupart vous laissent dans l’ignorance. Cela s’explique par le fait que la plupart de ces modèles sont développés par des entreprises financées par le capital-risque qui ont besoin d’une voie théorique vers la monétisation.

L’« open source » est devenu un autocollant comme le « Commerce équitable », quelque chose qui donne l’impression que votre produit est bon et digne de confiance. Pour le positionner en dehors du diabolique espace commercial, en lui donnant un sentiment de proximité. « Nous sommes dans le même bateau » et tout le reste. Mais ce n’est pas le cas. Nous ne sommes pas dans le même bateau que Mark fucking Zuckerberg, même s’il distribue gratuitement des poids de LLM parce que cela nuit à ses concurrents. Nous, en tant que personnes normales vivant sur cette planète qui ne cesse de se réchauffer, ne sommes avec aucune de ces personnes.

Photo d'un sticker où il est marqué « Open-Source Fuck Yeah ».

Les libristes adorent pourtant les stickers. Image sous CC BY-SA par Kirsten Comandich.

Mais il y a un autre aspect à cette question, en dehors de redorer l’image des grands noms de la technologie et de leurs entreprises. Il s’agit de la légalité. Au moins en Allemagne, il existe des exceptions à certaines lois qui concernent normalement les auteurs de LLM : si vous le faites à des fins de recherche, vous êtes autorisé à récupérer pratiquement n’importe quoi. Vous pouvez ensuite entraîner des modèles et publier ces poids, et même s’il y a des contenus de Disney là-dedans, vous n’avez rien à craindre. C’est là que l’idée de l’IA open source joue un rôle important : il s’agit d’un moyen de légitimer un comportement probablement illégal par le biais de l’openwashing : en tant qu’entreprise, vous prenez de l’« IA open source » qui est basée sur tous les éléments que vous ne seriez pas légalement autorisé à toucher et vous l’utilisez pour construire votre produit. Faites de l’entraînement supplémentaire avec des données sous licence, par exemple.

L’Open Source Initiative a attrapé le syndrome FOMO (N.d.T : Fear of Missing Out) – tout comme le jury du prix Nobel. Elle souhaite également participer à l’engouement pour l’« IA ».

Mais pour les systèmes que nous appelons aujourd’hui « IA », l’IA open source n’est pas possible dans la pratique. En effet, nous ne pourrons jamais télécharger toutes les données d’entraînement réelles.

« Mais tante, nous n’aurons jamais d’IA open source ». C’est tout à fait exact. C’est ainsi que fonctionne la réalité. Si vous ne pouvez pas remplir les critères d’une catégorie, vous n’appartenez pas à cette catégorie. La solution n’est pas de changer les critères. C’est comme jouer aux échecs avec les pigeons.

 

Que veut dire « libre » (ou « open source ») pour un grand modèle de langage ?

31 juillet 2023 à 05:42

Le flou entretenu entre open source et libre, déjà ancien et persistant dans l’industrie des technologies de l’information, revêt une nouvelle importance maintenant que les entreprises se lancent dans la course aux IA…
Explications, décantation et clarification par Stéphane Bortzmeyer, auquel nous ouvrons bien volontiers nos colonnes.


Vous le savez, les grands modèles de langage (ou LLM, pour « Large Language Model ») sont à la mode. Ces mécanismes, que le marketing met sous l’étiquette vague et sensationnaliste d’IA (Intelligence Artificielle), ont connu des progrès spectaculaires ces dernières années.
Une de leurs applications les plus connues est la génération de textes ou d’images. L’ouverture au public de ChatGPT, en novembre 2022, a popularisé cette application. Chaque grande entreprise de l’informatique sort désormais son propre modèle, son propre LLM.
Il faut donc se distinguer du concurrent et, pour cela, certains utilisent des arguments qui devraient plaire aux lecteurs et lectrices du Framablog, en affirmant que leur modèle est (en anglais dans le texte) « open source ». Est-ce vrai ou bien est-ce du « libre-washing » ?
Et qu’est-ce que cela veut dire pour cet objet un peu particulier qu’est un modèle de langage ?

Copie d'écran d'un tweet de Viva technology citant le président Macron au salon Vivatech où il insiste sur les LLM souverains. le texte le cite "on doit accélérer l'open source et tous les grands modèles et avoir des LMM européens qui permettront de réguler. i faut ensuite qu'on arrive à régler des cas critiques, savoir si c'est de l'IA ou pas".

Tout le monde parle des LLM (ici, avec une faute de frappe).

Source ouverte ?

Traitons d’abord un cas pénible mais fréquent : que veut dire « open source » ? Le terme désigne normalement l’information qui est librement disponible. C’est en ce sens que les diplomates, les chercheurs, les journalistes et les espions parlent de ROSO (Renseignement d’Origine en Sources Ouvertes) ou d’OSINT (Open Source Intelligence). Mais, dans le contexte du logiciel, le terme a acquis un autre sens quand un groupe de personnes, en 1998, a décidé d’essayer de remplacer le terme de « logiciel libre », qui faisait peur aux décideurs, par celui d’« open source ». Ils ont produit une définition du terme qu’on peut considérer comme la définition officielle d’« open source ». Il est intéressant de noter qu’en pratique, cette définition est quasiment équivalente aux définitions classiques du logiciel libre et que des phrases comme « le logiciel X n’est pas libre mais est open source » n’ont donc pas de sens. Ceci dit, la plupart des gens qui utilisent le terme « open source » ne connaissent ni l’histoire, ni la politique, ni la définition « officielle » et ce terme, en réalité, est utilisé pour tout et n’importe quoi. On peut donc se dire « open source » sans risque d’être contredit. Je vais donc plutôt me pencher sur la question « ces modèles sont-ils libres ? ».

Grand modèle de langage ?

Le cas du logiciel est désormais bien connu et, sauf grande malhonnêteté intellectuelle, il est facile de dire si un logiciel est libre ou pas. Mais un modèle de langage ? C’est plus compliqué, Revenons un peu sur le fonctionnement d’un LLM (grand modèle de langage). On part d’une certaine quantité de données, par exemple des textes, le « dataset ». On applique divers traitements à ces données pour produire un premier modèle. Un modèle n’est ni un programme, ni un pur ensemble de données. C’est un objet intermédiaire, qui tient des deux. Après d’éventuels raffinements et ajouts, le modèle va être utilisé par un programme (le moteur) qui va le faire tourner et, par exemple, générer du texte. Le moteur en question peut être libre ou pas. Ainsi, la bibliothèque transformers est clairement libre (licence Apache), ainsi que les bibliothèques dont elle dépend (comme PyTorch). Mais c’est le modèle qu’elle va exécuter qui détermine la qualité du résultat. Et la question du caractère libre ou pas du modèle est bien plus délicate.

Notons au passage que, vu l’importante consommation de ressources matérielles qu’utilisent ces LLM, ils sont souvent exécutés sur une grosse machine distante (le mythique « cloud »). Lorsque vous jouez avec ChatGPT, le modèle (GPT 3 au début, GPT 4 désormais) n’est pas téléchargé chez vous. Vous avez donc le service ChatGPT, qui utilise le modèle GPT.

Mais qui produit ces modèles (on verra plus loin que c’est une tâche non triviale) ? Toutes les grandes entreprises du numérique ont le leur (OpenAI a le GPT qui propulse ChatGPT, Meta a Llama), mais il en existe bien d’autres (Bloom, Falcon, etc), sans compter ceux qui sont dérivés d’un modèle existant. Beaucoup de ces modèles sont disponibles sur Hugging Face (« le GitHub de l’IA », si vous cherchez une « catch phrase ») et vous verrez donc bien des références à Hugging Face dans la suite de cet article.  Prenons par exemple le modèle Falcon. Sa fiche sur Hugging Face nous donne ses caractéristiques techniques, le jeu de données sur lequel il a été entrainé (on verra que tous les modèles sont loin d’être aussi transparents sur leur création) et la licence utilisée (licence Apache, une licence libre). Hugging Face distribue également des jeux de données d’entrainement.

Dans cet exemple ci-dessous (trouvé dans la documentation de Hugging Face), on fait tourner le moteur transformers (plus exactement, transformers, plus diverses bibliothèques logicielles) sur le modèle xlnet-base-cased en lui posant la question « Es-tu du logiciel libre ? » :

 % python run_generation.py --model_type=xlnet --model_name_or_path=xlnet-base-cased
...
Model prompt >>> Are you free software ?
This is a friendly reminder - the current text generation call will exceed the model's predefined maximum length (-1). Depending on the model, you may observe exceptions, performance degradation, or nothing at all.
=== GENERATED SEQUENCE 1 ===
Are you free software ? Are you a professional ? Are you a Master of Technical Knowledge ? Are you a Professional ?

Ce modèle, comme vous le voyez, est bien moins performant que celui qui est derrière le service ChatGPT ; je l’ai choisi parce qu’il peut tourner sur un ordinateur ordinaire.

Vous voulez voir du code source en langage Python ? Voici un exemple d’un programme qui fait à peu près la même chose :

from transformers import pipeline

generator = pipeline("text-generation", model="DunnBC22/xlnet-base-cased-finetuned-WikiNeural-PoS") 
print(generator("Are you free software ?"))

Le modèle utilisé est un raffinement du précédent, DunnBC22/xlnet-base-cased-finetuned-WikiNeural-PoS. Il produit lui aussi du contenu de qualité contestable([{‘generated_text’: « Are you free software? What ever you may have played online over your days? Are you playing these games? Any these these hours where you aren’t wearing any heavy clothing?) mais, bon, c’est un simple exemple, pas un usage intelligent de ces modèles.

 

Un chat gris pensif dans une librairie, assis sur un bac empli de livres

Les LLM n’ont pas de corps (comme Scarlett Johansson dans le film « Her ») et ne sont donc pas faciles à illustrer. Plutôt qu’une de ces stupides illustrations de robot (les LLM n’ont pas de corps, bon sang !), je mets une image d’un chat certainement intelligent. Drew Coffman, CC BY 2.0, via Wikimedia Commons

 

Que veut dire « libre » pour un LLM ?

Les définitions classiques du logiciel libre ne s’appliquent pas telles quelles. Des entreprises (et les journalistes paresseux qui relaient leurs communiqués de presse sans vérifier) peuvent dire que leur modèle est « open source » simplement parce qu’on peut le télécharger et l’utiliser. C’est très loin de la liberté. En effet, cette simple autorisation ne permet pas les libertés suivantes :

  • Connaître le jeu de données utilisé pour l’entrainement, ce qui permettrait de connaitre les choix effectués par les auteurs du modèle (quels textes ils ont retenu, quels textes ils ont écarté) et savoir qui a écrit les textes en question (et n’était pas forcément d’accord pour cette utilisation).
  • Connaître les innombrables choix techniques qui ont été faits pour transformer ces textes en un modèle. (Rappelez-vous  : un algorithme, ce sont les décisions de quelqu’un d’autre.)

Sans ces informations, on ne peut pas refaire le modèle différemment (alors que la possibilité de modifier le programme est une des libertés essentielles pour qu’un logiciel soit qualifié de libre). Certes, on peut affiner le modèle (« fine-tuning a pre-trained model », diront les documentations) mais cela ne modifie pas le modèle lui-même, certains choix sont irréversibles (par exemple des choix de censure). Vous pouvez créer un nouveau modèle à partir du modèle initial (si la licence prétendument « open source » le permet) mais c’est tout.

Un exemple de libre-washing

Le 18 juillet 2023, l’entreprise Meta a annoncé la disponibilité de la version 2 de son modèle Llama, et le fait qu’il soit « open source ». Meta avait même convaincu un certain nombre de personnalités de signer un appel de soutien, une initiative rare dans le capitalisme. Imagine-t-on Microsoft faire signer un appel de soutien et de félicitations pour une nouvelle version de Windows ? En réalité, la licence est très restrictive, même le simple usage du modèle est limité. Par exemple, on ne peut pas utiliser Llama pour améliorer un autre modèle (concurrent). La démonstration la plus simple de la non-liberté est que, pour utiliser le modèle Llama sur Hugging Face, vous devez soumettre une candidature, que Meta accepte ou pas («  Cannot access gated repo for url https://huggingface.co/meta-llama/Llama-2-7b/resolve/main/config.json. Access to model meta-llama/Llama-2-7b is restricted and you are not in the authorized list. Visit https://huggingface.co/meta-llama/Llama-2-7b to ask for access. »)

Mais la communication dans l’industrie du numérique est telle que très peu de gens ont vérifié. Beaucoup de commentateurs et de gourous ont simplement relayé la propagande de Meta. Les auteurs de la définition originale d’« open source » ont expliqué clairement que Llama n’avait rien d’« open source », même en étant très laxiste sur l’utilisation du terme. Ceci dit, il y a une certaine ironie derrière le fait que les mêmes personnes, celles de cette Open Source Initiative, critiquent Meta alors même qu’elles avaient inventé le terme « open source » pour brouiller les pistes et relativiser l’importance de la liberté.

Au contraire, un modèle comme Falcon coche toutes les cases et peut très probablement être qualifié de libre.

La taille compte

Si une organisation qui crée un LLM publie le jeu de données utilisé, tous les réglages utilisés pendant l’entrainement, et permet ensuite son utilisation, sa modification et sa redistribution, est-ce que le modèle peut être qualifié de libre ? Oui, certainement, mais on peut ajouter une restriction, le problème pratique. En effet, un modèle significatif (disons, permettant des résultats qui ne sont pas ridicules par rapport à ceux de ChatGPT) nécessite une quantité colossale de données et des machines énormes pour l’entrainement. L’exécution du modèle par le moteur peut être plus économe. Encore qu’elle soit hors de portée, par exemple, de l’ordiphone classique. Si une application « utilisant l’IA » tourne soi-disant sur votre ordiphone, c’est simplement parce que le gros du travail est fait par un ordinateur distant, à qui l’application envoie vos données (ce qui pose divers problèmes liés à la vie privée, mais c’est une autre histoire). Même si l’ordiphone avait les capacités nécessaires, faire tourner un modèle non trivial épuiserait vite sa batterie. Certains fabricants promettent des LLM tournant sur l’ordiphone lui-même (« on-device ») mais c’est loin d’être réalisé.

Mais l’entraînement d’un modèle non trivial est bien pire. Non seulement il faut télécharger des téra-octets sur son disque dur, et les stocker, mais il faut des dizaines d’ordinateurs rapides équipés de GPU (puces graphiques) pour créer le modèle. Le modèle Llama aurait nécessité des milliers de machines et Bloom une bonne partie d’un super-calculateur. Cette histoire de taille ne remet pas en question le caractère libre du modèle, mais cela limite quand même cette liberté en pratique. Un peu comme si on vous disait « vous êtes libre de passer votre week-end sur la Lune, d’ailleurs voici les plans de la fusée ». Le monde du logiciel libre n’a pas encore beaucoup réfléchi à ce genre de problèmes. (Qui ne touche pas que l’IA : ainsi, un logiciel très complexe, comme un navigateur Web, peut être libre, sans que pour autant les modifications soit une entreprise raisonnable.) En pratique, pour l’instant, il y a donc peu de gens qui ré-entrainent le modèle, faisant au contraire une confiance aveugle à ce qu’ils ont téléchargé (voire utilisé à distance).

Conclusion

Pour l’instant, la question de savoir ce que signifie la liberté pour un modèle de langage reste donc ouverte. L’Open Source Initiative a lancé un projet pour arriver à une définition. Je ne connais pas d’effort analogue du côté de la FSF mais plus tard, peut-être ?

Berlin, March 2023 : Diary of the first ECHO Network study visit

Par : Framasoft
27 juin 2023 à 08:09
From 27 to 31 March 2023, the first study visit of the European project ECHO Network took place in Berlin. This report looks back on this week of exchange on the theme of « Young people, social networks and political education« , organised by the Willi Eichler Academy.

As a reminder, the participants in the ECHO Network exchange come from 7 different organisations in 5 European countries : Ceméa France, Ceméa Federzione Italia, Ceméa Belgium, Willi Eichler Academy (Germany), Solidar Foundation (European network), Centar Za Mirovne Studije (Croatia), Framasoft (France). Around twenty people took part in the study visit.

It’s a chilly spring in Berlin !

It’s a long way to Berlin !

In order to promote the values of the Ethical, Commons, Humans, Open-Source Network project, the Framasoft participants wanted to travel to Berlin by train. So Monday and Friday of this exchange week were dedicated to transport.

The day of departure was a national strike day in Germany (where a rail strike = no trains running !). As a result, only 3 of the 4 Framasoft members who had planned to take part in the project were able to make it.

When you think of trains, you think of time, where transport is an integral part of the journey. In fact, it takes 9 hours by train from Paris, or even 13 hours from Nantes… And you should add 1 or 2 hours (or even half a day) for « contingency management » (delays, cancellations, changes of train). Travelling to Germany by train was an adventure in itself (and the feeling seems to be shared !).

Tuesday 28 March : Discoveries and visits off the beaten track

After a brief meeting with the first participants the day before, Tuesday will continue with the aim of getting to know each other (arrivals will continue throughout the day due to changes in the itinerary caused by the strike the day before).

Tuesday morning will begin with a visit to the Jewish Cemetery of Berlin-Weißensee, the largest Jewish cemetery in Europe. Nature takes over in this historic place.

Weißensee Jewish cemetery, between nature and history

In the afternoon we visit a former Stasi prison, Berlin-Hohenschönhausen. This visit made a particularly strong impression on us : the site was created by former prisoners, the prison wasn’t closed until 1990, and many of the people who tortured prisoners were never brought to justice. In short, a dark page of history, but one that needs to be shared (we recommend the visit !)…

The day will end with a convivial meal in a traditional restaurant.

Wednesday 29 March : young, old and social networks

From Wednesday, we were welcomed at the Brillat-Savarin cookery school for our exchanges, workshops and talks.

The chandelier in the entrance hall of the cookery school is just right !

Discussion : What do we think about social networks in our organisations ?

The first workshop was a round-table discussion in which each participant shared his or her use of and views on social networks, and in particular TikTok, the medium that will be used in the following workshop.

To summarise :

  • There is little use of social media from a personal point of view in the group.
  • On the other hand, the majority of the group use social media to promote their organisation’s activities (Facebook, Twitter, Instagram and Mastodon).
  • No one in the group uses TikTok, which poses a problem for understanding this social media.
  • As part of their organisation’s activities, the majority of the group would like to reach out more to young people and it seems interesting to find them where they are, i.e. on social media.
  • The group fully agreed that social media are not neutral tools and try to monopolise the attention of their users.

This time of exchange therefore allowed us to see that we share the same values, difficulties and desires when it comes to social media. However, we felt that the ‘one at a time’ format lacked some dynamism in the exchanges and the opportunity for several people to discuss.

Feedback from a student workshop : raising awareness of social issues in a TikTok video

Alongside our morning discussions on social media, 2 groups of students from the Brillat-Savarin school worked on a video project. They had to produce a TikTok video (one per group) to show the impact of the European Union (1st group) and climate change (2nd group) on their work as chefs. The videos were shown to us (incredible quality in 2 hours of work !) and then we exchanged views on the topic.

What we took away from this workshop :

  • The students were between 18 and 22 years old and did not use TikTok. According to the students, this social network is aimed at people younger than them (« young » is too broad a term !). However, they had mastered the codes of the platform as they were regularly exposed to TikTok content on other platforms such as Instagram and YouTube.
  • In any case, they wouldn’t necessarily want to use a social network to watch political content, preferring a more recreational use of the network (like watching videos of kittens !), even if they claim to be political.
  • They found it particularly interesting to get a message across in videos and to question themselves on issues that directly affect them.

It was an interesting experiment, even if the plenary discussions did not allow everyone to participate.

Photo of the ECHO Network group and some of the school’s students

Thursday 30th March : Politics and Open Source

Reflect EU&US : the Willi Eichler Academy project

Funded to the tune of €500,000 by Marshall Plan leftovers, Reflect EU&US is a 2-year project (2022-2024) by the Willi Eichler Academy. Its aim ? To organise discussions between students outside the university environment, remotely and anonymously.

Reflect EU&US project logo

Points to remember :

  • The project involves 60 students (30 from the United States and 30 from Germany), with a physical meeting planned at the very end of the project to lift the masks.
  • Topics covered include justice, racism, gender and politics.
  • Following the discussions, a library of documents will be created, which will allow the various sources (texts, articles, videos, podcasts, etc.) to be validated (or not).
  • Anonymity makes it easier to accept contradictory opinions.
  • The management of the groups can be complicated by anonymity, but it is an integral part of the project.

From a technical point of view, the platform is based on the OpenTalk tool and was chosen to provide this space for free exchange, with the creation of coloured cards as avatars, making it possible to guarantee the anonymity of the participants. The choice of open source technologies was made specifically with the aim of reassuring participants so that they could exchange in complete peace of mind. This was followed by a live test of the platform with the students (in German, which didn’t allow us to understand everything !).

Open source meets politics

The afternoon continued with a talk by Peer Heinlein, director of OpenTalk, on « True digital independence and sovereignty are impossible without open source ». You can imagine that we at Framasoft have an opinion on this, even if we don’t feel strongly about it… Discussions with the audience followed on open source software, privacy and data encryption.

The next speaker was Maik Außendorf, representative of the Green Party in the European Parliament. Among other things, we discussed how digital technology can help the ecological transition. We learnt that German parliamentarians do not have a choice when it comes to using digital tools, and that national coherence is difficult to achieve with the decentralised organisation of Germany into Länder.

The study visit ended in a restaurant, where we had the opportunity to talk with a SeaWatch activist, highlighting the common values and reflections of the different organisations (precariousness of associations, the need to propose alternatives to the capitalist world, the need for free and emancipatory digital technologies).

This chandelier will have inspired⋅es (can you see the artistic side too ?).

An intense week !

We were particularly surprised and excited by the common visions shared by the participants and organisations, whether it be about emancipatory digital, the desire to move towards a world that is more like us, where cooperation and contribution move forward, and the question of how to share our messages while remaining coherent with what we defend.

Although the majority of the week was built around plenary workshops, which did not always encourage exchange between participants or spontaneous speaking, the informal times (meals, coffee breaks, walks) made it possible to create these essential moments.

What next for the ECHO network ? The second study visit took place in Brussels from 12 to 16 June. A summary article will follow on the Framablog (but as always, we’ll take our time !).

We couldn’t go to Berlin without visiting the murals on the Berlin Wall : here’s a photo of the trip to round off this article.

 

For further information :

Berlin, mars 2023 : journal de bord de la première visite d’études d’ECHO Network

Par : Framasoft
20 juin 2023 à 04:45

Du 27 au 31 mars 2023, la première visite d’études du projet européen ECHO Network s’est tenue à Berlin. Ce compte rendu retrace cette semaine d’échanges sur la thématique « jeunes, réseaux sociaux et éducation politique », organisée par Willi Eichler Akademy.

Pour rappel, les participant⋅es à l’échange ECHO Network font partie de 7 organisations différentes dans 5 pays d’Europe : Ceméa France, Ceméa Federzione Italia, Ceméa Belgique, Willi Eichler Academy (Allemagne), Solidar Foundation (réseau européen), Centar Za Mirovne Studije (Croatie), Framasoft (France). Cette visite d’études a compté une vingtaine de participant⋅es.

Ambiance fraîche à Berlin pour ce début de printemps !

 

La route est longue jusque Berlin… !

Pour pousser les valeurs du projet Ethical, Commons, Humans, Open-Source Network (Réseau autour de l’Éthique, les Communs, les Humain⋅es et l’Open-source), les participant⋅es de Framasoft souhaitaient favoriser le train pour se rendre à Berlin. Ainsi, le lundi et le vendredi de cette semaine d’échange étaient banalisés pour le transport.

Les contre-temps faisant partie du voyage, le jour des départs était un jour de grève nationale en Allemagne (où grève ferroviaire = zéro train qui circule !). Ainsi, sur les 4 membres de Framasoft prévu⋅es sur le projet, seul⋅es 3 ont pu se rendre sur place.

Qui dit train dit aussi temps investi, où le transport fait partie intégrante du voyage. En effet, il faut prévoir 9 heures de train depuis Paris, ou encore 13 heures depuis Nantes… Et à cela, il est fortement conseillé d’ajouter 1h ou 2h (voire une demi-journée) de « gestion des imprévus » (retards, annulations, changements de train). Se rendre en Allemagne en train nous a semblé une aventure à part entière (et ce ressenti semble partagé !).

Mardi 28 mars : découvertes et visites hors sentiers touristiques

Après avoir rencontré brièvement la veille les premières et premiers participant⋅es, la journée du mardi continue avec l’objectif de se découvrir les un⋅es les autres (les arrivées se feront au compte-gouttes sur toute la journée suite aux changements d’itinéraire dus à la grève de la veille).

Nous entamons le mardi matin avec une visite du Cimetière juif de Weißensee de Berlin, le plus grand cimetière juif d’Europe. La nature prend le dessus dans ce lieu empreint d’histoire.

Cimetière juif de Weißensee, entre nature et histoire

Nous nous dirigeons ensuite l’après-midi vers une ancienne prison de la Stasi, la prison de Berlin-Hohenschönhausen. Cette visite nous aura particulièrement marqué⋅es : le site a été créé par d’ancien⋅nes prisonnier⋅ères, la prison n’a fermé qu’en 1990, et de nombreuses personnes ayant torturé des prisonnier⋅ères n’ont jamais été jugées. Bref, une page d’histoire sombre mais qu’il est nécessaire de partager (nous conseillons la visite !)…

La journée se terminera par un moment convivial dans un restaurant traditionnel.

 

Mercredi 29 mars : jeunes, moins jeunes et réseaux sociaux

À partir du mercredi, nous étions accueilli⋅es à l’école de cuisine Brillat-Savarin pour nos échanges, ateliers et interventions.

Lustre du hall de l’école de cuisine, on peut dire qu’il est plutôt adapté !

Discussion : on pense quoi des réseaux sociaux dans nos organisations ?

Le premier atelier a été un tour de table où chaque participant⋅e partageait son utilisation et point de vue sur les réseaux sociaux, et particulièrement TikTok, média sur lequel sera utilisé l’atelier suivant.

Ce que l’on peut résumer :

  • Il y a peu d’utilisation des médias sociaux d’un point de vue personnel dans le groupe.
  • Les médias sociaux sont par contre utilisés par la majorité du groupe pour mettre en valeur les actions de son organisation (Facebook, Twitter, Instagram et Mastodon).
  • Personne dans le groupe n’utilise TikTok ce qui pose problème pour comprendre ce média social.
  • Dans le cadre des activités de leur organisation, la majorité du groupe souhaiterait toucher davantage les jeunes et il semble intéressant de les trouver là où iels sont, donc sur les médias sociaux.
  • Le groupe est tout à fait d’accord sur le fait que les médias sociaux ne sont pas des outils neutres et cherchent à monopoliser l’attention de ses utilisateur⋅rices.

Ce temps d’échange a donc permis de voir que nous partageons les mêmes valeurs, difficultés et envies sur les médias sociaux. Cependant, le format « chacun son tour de parole » nous a semblé manquer un peu de dynamisme dans les échanges et de possibilité de discuter à plusieurs.

 

Retour d’atelier d’étudiant⋅es : sensibiliser sur des sujets de société dans une vidéo TikTok

En parallèle de nos échanges du matin sur les médias sociaux, 2 groupes d’étudiant⋅es de la Brillat-Savarin School ont travaillé sur un projet vidéo. Ils devaient produire une vidéo TikTok (une par groupe) pour montrer l’impact sur leur métier de cuisinier⋅ère de l’Union Européenne (1er groupe) et du changement climatique (2ème groupe). Les vidéos nous ont été présentées (incroyable la qualité en 2 heures de travail !), puis nous avons échangé sur le sujet.

Ce que nous retenons de cet atelier :

  • Les étudiant⋅es avaient entre 18 et 22 ans, et n’utilisent pas TikTok . Selon les étudiant⋅es, ce réseau social est tourné pour une cible plus jeune qu’elles et eux (« jeunes » est un terme trop large !). Par contre iels maîtrisaient les codes de la plateformes, étant régulièrement exposé⋅es à du contenu issu de TikTok sur d’autres plateformes telles que Instagram ou YouTube .
  • Iels n’auraient de toute façon pas forcément envie d’utiliser un réseau social pour voir du contenu politique, préférant un usage plus récréatif du réseau (comme regarder des vidéos de chatons par exemple !), même lorsqu’iels se revendiquent politisé⋅es.
  • Iels ont trouvé la démarche particulièrement intéressante de faire passer un message en vidéos, et se questionner sur des sujets les impliquant directement.

L’expérimentation aura été intéressante, même si les échanges en plénière ne permettaient pas l’implication de chacun et chacune.

Photo du groupe d’ECHO Network et quelques étudiant⋅es de l’école

 

Jeudi 30 mars : politique et open source

Reflect EU&US : le projet de la Willi Eichler Akademy

Financé à hauteur de 500k€ par des restes du plan Marshall, Reflect EU&US est un projet sur 2 ans (2022-2024) de la Willi Eichler Akademy. L’objectif ? Organiser des discussions entre étudiant⋅es en dehors du cadre universitaire, à distance et en restant dans l’anonymat.

Logo du projet Reflect EU&US

 

Les points à retenir :

  • Le projet investit 60 étudiant·es (30 des Etats-Unis et 30 d’Allemagne), une rencontre physique est prévue à la toute fin du projet pour lever les masques.
  • Des sujets traités tels que : justice, racisme, genre, politique.
  • Une bibliothèque de documents est alimentée suite aux discussions, permettant de valider (ou non) les différentes sources (textes, articles, vidéos, podcasts, etc).
  • L’anonymat permet plus facilement d’assumer des opinions contradictoires.
  • L’animation des groupes peut être compliquée par l’anonymat, mais fait partie intégrante du projet.

D’un point de vue technique, la plateforme est basée sur l’outil OpenTalk et a été choisie pour avoir cet espace d’échange libre, avec la création de cartes de couleurs comme avatar, permettant de garantir l’anonymat des participant⋅es. Le choix de technologies open-source a été fait spécifiquement dans le but de rassurer les participant⋅es pour qu’iels puissent échanger en toute tranquillité. Un test en direct de la plateforme a suivi avec des étudiant⋅es (en allemand, ce qui ne nous a pas permis de tout comprendre !).

Rencontres entre open source et politique

L’après-midi a continué avec l’intervention de Peer Heinlein, directeur d’OpenTalk, sur le sujet « L’indépendance et la souveraineté numérique réelle sont impossibles sans l’open-source ». Vous vous doutez bien qu’à Framasoft, même si ce n’est pas un aspect qui nous tient à cœur, nous avons un avis sur la question… Des échanges ont suivi avec les participant·e·s sur les logiciels open source, la protection des données personnelles, ou encore le chiffrement des données.

C’est ensuite Maik Außendorf, représentant du Green Party au parlement qui est intervenu. Nous avons, entre autre, échangé sur le numérique pour aider la transition écologique. Nous avons appris que les parlementaires allemand⋅es n’ont pas le choix dans leur utilisation d’outils numériques et qu’une cohérence nationale semble compliquée à mettre en place avec l’organisation décentralisée de l’Allemagne en Länder.

La clôture de la visite d’études a eu lieu dans un restaurant, où nous avons pu notamment échanger avec un activiste de SeaWatch, mettant particulièrement en avant valeurs communes et réflexions partagées entre les différentes organisations (précarisation des associations, nécessité de proposer des alternatives au monde capitaliste, nécessité d’un numérique libre et émancipateur).

Ce lustre nous aura inspiré⋅es (vous aussi vous distinguez un côté artistique ?)

 

Une semaine intense !

Nous avons particulièrement été surpris⋅es et enthousiastes par les visions communes partagées entre participant⋅es et organisations, que ce soit sur le numérique émancipateur, l’envie d’aller vers un monde qui nous ressemble plus, où la coopération et la contribution vont de l’avant et les questionnements sur comment partager nos messages en restant cohérent⋅es avec ce que l’on défend.

Bien que la majorité de la semaine ait été construite sous forme d’ateliers en plénière, ne favorisant pas toujours les échanges entre participant⋅es ou les prises de parole spontanées, les temps informels (repas, pauses café, balades) auront permis de créer ces moments essentiels.

Et la suite d’ECHO Network ? La seconde visite d’études a eu lieu à Bruxelles du 12 au 16 juin. Un article récap’ suivra sur le Framablog (mais comme toujours : on se laisse le temps !).

On ne pouvait pas se rendre à Berlin sans faire un tour par les fresques du mur de Berlin : petite photo de la virée pour boucler cet article.

 

Pour aller plus loin :

Publier le code source ne suffit pas…

Par : Framalang
17 avril 2023 à 05:42

Un court billet où Nicolas Kayser-Bril opère une mise au point : la loi européenne et les grandes entreprises du Web peuvent donner accès au code source, mais ce n’est qu’un facteur parmi d’autres qui s’avère souvent inutile à lui seul…

Article original : The ideology behind publishing Twitter’s source code publié dans le bulletin d’information (en anglais ou allemand)  d’Algorithmwatch auquel on peut s’abonner sur cette page.

Traduction Framalang relue et révisée par l’auteur : Squeeek, goofy, audionuma

L’idéologie derrière la publication du code source de Twitter

par Nicolas Kayser-Bril

Photo noir/blanc de l'auteur, jeune homme brun souriant.

Photo par Julia Bornkessel licence CC-BY 4.0

Une fuite

Le 31 mars, Twitter a publié une partie du code source qui alimente son fil d’actualité. Cette décision a été prise quelques jours après qu’il a été rendu public que de grandes parties de ce code avaient déjà été divulguées sur Github [Gizmodo, 31 mars].

Les 85 797 lignes de code ne nous apprennent pas grand-chose. Les tweets ne contenant pas de liens sont mis en avant. Ceux rédigés dans une langue que le système ne peut pas reconnaître sont rétrogradés – discriminant clairement les personnes qui parlent une langue qui n’est pas reconnue par les ingénieurs californiens. Les Spaces (la fonction de podcasting en direct de Twitter) sur l’Ukraine semblent également être cachés [Aakash Gupta, 2 avril].

Le plus intéressant dans cette affaire reste le billet de blog rédigé par ce qu’il reste de l’équipe d’ingénieurs de Twitter. Il explique bien comment fonctionne un fil d’actualité d’un point de vue technique.

Comment (ne pas) ouvrir le code source

Une entreprise a été pionnière pour rendre son code source public : Twitter. Il y a deux ans, son équipe « Éthique, Transparence et Responsabilité » a publié le code d’un algorithme de recadrage d’images et a organisé une compétition permettant à quiconque d’y trouver d’éventuels biais [AlgorithmWatch, 2021]. Cette équipe a été l’une des premières à être licenciée l’année dernière.

Il ne suffit pas de lire un code source pour l’auditer. Il faut le faire fonctionner (l’exécuter) sur un ordinateur. En ce qui concerne l’Ukraine, par exemple, nous savons seulement que les Spaces Twitter étiquetés « UkraineCrisisTopic » subissent le même traitement que les articles étiquetés « violence » ou « porno ». Mais nous ne savons pas comment cette étiquette est attribuée, ni quels en sont les effets. Il semble que le code de ces fonctionnalités n’ait même pas été rendu public.

Dissimulation

Publier du code informatique sans expliquer comment le faire fonctionner peut être pire qu’inutile. Cela permet de prétendre à la transparence tout en empêchant tout réel audit. Twitter n’est pas la première organisation à suivre cette stratégie.

La Caisse Nationale des Allocations Familiales a publié les 7 millions de lignes du code de son calculateur d’allocations suite à une demande d’informations publiques (demande CADA) [NextINpact, 2018]. On ne pouvait rien en tirer. J’ai fait une demande de communication des « documents d’architecture fonctionnelle », qui sont mentionnés dans des commentaires du code. La CNAF a répondu qu’ils n’existaient pas.

La loi européenne sur les services numériques prévoit que les « chercheurs agréés » pourront accéder aux « données » des très grandes plateformes, y compris éventuellement au code source [AlgorithmWatch, 2022]. Pour que la loi sur les services numériques fonctionne, il est essentiel que les entreprises traitent ces demandes comme le Twitter de 2021, et non comme le Twitter de 2023.

L’idéologie technologiste

Enfin, la focalisation sur le code source est au service d’un projet politique. J’entends souvent dire que le code est le cœur d’une entreprise, que c’est un secret commercial précieusement gardé. C’est faux. Si c’était le cas, les fuites de code source nuiraient aux entreprises. Suite à des intrusions ou des fuites, le code source de Yandex et de Twitch a été publié récemment [ArsTechnica, 2021 et 2023]. À ma connaissance, ces entreprises n’en ont pas souffert.

Le code source n’est qu’un facteur parmi d’autres pour une entreprise du Web. Parmi les autres facteurs, citons les employés, les relations avec des politiques, les procédures internes, la position sur le marché, l’environnement juridique et bien d’autres encore. Mettre le code sur un piédestal implique que les autres facteurs sont sans importance. Les propriétaires de Twitter et de Meta (et ils sont loin d’être les seuls) ont dit très clairement que les ingénieurs étaient beaucoup plus importants que le reste de leurs employé·e·s. Pour eux, tout problème est fondamentalement technique et peut être résolu par du code.

Je suis certain que la publication du code source de Twitter conduira certains technologues à prétendre que le harcèlement en ligne, les agressions et la désinformation peuvent désormais être « corrigés » par une pull request (lorsqu’un contributeur à un projet open source propose une modification du code). Ce serait un pas dans la mauvaise direction.

❌
❌