IA et logiciel Open Source séparés à la naissance ?

Intelligence Artificielle et logiciel Open Source deux entités séparées dès leur naissance?

 

J’ai lu, écrit et parlé depuis la fin de l’année dernière sur l’intersection du logiciel open source et de l’apprentissage automatique, essayant de comprendre ce que l’avenir pourrait apporter.

Quand j’ai commencé, je m’attendais à ce que je parle principalement de la façon dont le logiciel open source est utilisé par la communauté de l’apprentissage automatique. Mais plus j’ai exploré, plus j’ai réalisé qu’il y a beaucoup de similitudes entre les deux domaines de pratique. Dans cet article, je discuterai de certains de ces parallèles – et de ce que l’apprentissage automatique peut et ne peut pas apprendre du logiciel open source.

 

Construction, depuis le début

 

Le parallèle facile et évident est que à la fois l’apprentissage automatique moderne et le logiciel moderne sont construits presque entièrement avec des logiciels open source. Pour les logiciels, ce sont des compilateurs et des éditeurs de code ; pour l’apprentissage automatique, ce sont des frameworks d’entraînement et d’inférence comme PyTorch et TensorFlow. Ces domaines sont dominés par des logiciels open source, et rien ne semble prêt à changer cela.

Il y a une exception notable, évidente à cela : tous ces frameworks dépendent du matériel et du logiciel très propriétaires de Nvidia. Ceci est en fait plus parallèle qu’il n’y paraît au premier abord. Pendant longtemps, les logiciels open source fonctionnaient principalement sur des systèmes d’exploitation Unix propriétaires, vendus par des fournisseurs de matériel propriétaires. Ce n’est qu’avec l’arrivée de Linux que nous avons commencé à tenir pour acquis qu’un “bas” ouvert de la pile était même possible, et beaucoup de développement ouvert est fait ces jours-ci sur MacOS et Windows. Il est difficile de dire comment cela se passera dans l’apprentissage automatique. Amazon (pour AWS), Google (pour le cloud et Android) et Apple investissent tous dans des puces et des piles concurrentes, et il est possible que l’un ou plusieurs d’entre eux puissent suivre la voie tracée par Linus (et Intel) pour libérer l’ensemble de la pile.

 

Données d’entraînement : la nouvelle chaîne d’approvisionnement accidentelle ?

 

Un autre parallèle critique entre la façon dont le logiciel open source est construit et la façon dont l’apprentissage automatique est construit, c’est la complexité et la disponibilité publique des données sur lesquelles chacun est construit.

Comme détaillé dans cette prépublication intitulée “The Data Provenance Project”, à laquelle j’ai participé, l’apprentissage automatique moderne est construit sur littéralement des milliers de sources de données, tout comme des logiciels open source modernes sont construits sur des centaines de milliers de bibliothèques. Et tout comme chaque bibliothèque open apporte des défis juridiques, de sécurité et de maintenance, chaque ensemble de données public apporte exactement le même ensemble de difficultés.

Dans mon entreprise, nous avons parlé de cette difficulté dans le logiciel open source comme étant une “chaîne d’approvisionnement accidentelle”. L’industrie des logiciels a commencé à construire des choses parce que les incroyables blocs de construction de bibliothèques open source signifiaient que nous pouvions le faire. Cela signifiait que l’industrie a commencé à traiter les logiciels open source comme une chaîne d’approvisionnement – ce qui a surpris de nombreux “fournisseurs”.

Pour atténuer ces difficultés, le logiciel open source a développé de nombreuses techniques sophistiquées (bien que imparfaites), comme des scanners pour identifier ce qui est utilisé, et des métadonnées pour suivre les choses après le déploiement. Nous commençons également à investir dans des êtres humains, pour essayer de résoudre le décalage entre les besoins industriels et les motivations des volontaires.

Malheureusement, la communauté de l’apprentissage automatique semble prête à plonger dans la même erreur “accidentelle” de la chaîne d’approvisionnement – en faisant beaucoup de choses parce qu’elle le peut, sans s’arrêter pour réfléchir aux implications à long terme une fois que l’ensemble de l’économie repose sur ces ensembles de données.

 

Le mouvement open s’étend pour combler de nombreuses niches

 

Un dernier parallèle important est que je soupçonne fortement que l’apprentissage automatique va se développer pour combler de nombreuses, nombreuses niches, tout comme le logiciel open source l’a fait. En ce moment, le battage (mérité) se fait autour de grands modèles génératifs, mais il y a aussi de nombreux petits modèles là-bas, ainsi que des ajustements sur les modèles plus grands. En effet, le site d’hébergement HuggingFace, la principale plateforme d’hébergement de l’apprentissage automatique, rapporte que le nombre de modèles sur leur site croît de manière exponentielle.

Ces modèles seront probablement nombreux et disponibles pour amélioration, tout comme de petits morceaux de logiciels open source. Cela les rendra incroyablement flexibles et puissants. Par exemple, j’utilise un petit outil basé sur l’apprentissage automatique pour effectuer une mesure du trafic bon marché et respectueuse de la vie privée dans ma rue, un cas d’utilisation qui n’aurait pas été possible sur des appareils coûteux il y a quelques années seulement.

Mais cette prolifération signifie qu’ils devront être suivis – les modèles pourraient devenir moins comme des mainframes et plus comme des logiciels open source ou des SaaS, qui apparaissent partout en raison du faible coût et de la facilité de déploiement.

Les métadonnées ne sont pas une panacée, mais c’est une première étape

Donc, si ces parallèles importants existent (en particulier dans les chaînes d’approvisionnement complexes et la distribution proliférante), que peut apprendre l’apprentissage automatique du logiciel open source?

Le premier enseignement parallèle que nous pouvons tirer est simplement que, pour comprendre ses nombreux défis, l’apprentissage automatique aura besoin de métadonnées et d’outils. Le logiciel open source a découvert le travail des métadonnées grâce à la conformité au droit d’auteur et aux licences, mais à mesure que la chaîne d’approvisionnement accidentelle du logiciel a mûri, les métadonnées se sont révélées extrêmement utiles dans divers domaines.

Dans l’apprentissage automatique, le suivi des métadonnées est un travail en cours. Quelques exemples :

  • Un article clé de 2019, largement cité dans l’industrie, a exhorté les développeurs de modèles à documenter leur travail avec des “cartes de modèle”. Malheureusement, des recherches récentes suggèrent que leur mise en œuvre sur le terrain est encore faible.
  • Les spécifications des logiciels SPDX et CycloneDX sur les composants (SBOM) travaillent sur les spécifications des composants (BOM) d’IA pour aider à suivre les données et les modèles d’apprentissage automatique, de manière plus structurée que les cartes de modèle (conformément à la complexité que l’on pourrait attendre si cela fait vraiment un parallèle avec le logiciel open source).
  • HuggingFace a créé une variété de spécifications et d’outils pour permettre aux auteurs de modèles et de jeux de données de documenter leurs sources.
  • L’article du MIT sur la provenance des données cité ci-dessus essaie de comprendre la “vérité fondamentale” de l’accord de licence des données, pour aider à étoffer les spécifications avec des données réelles.
  • De manière anecdotique, de nombreuses entreprises travaillant sur l’apprentissage automatique semblent avoir des relations quelque peu décontractées avec le suivi des données, utilisant “plus c’est mieux” comme excuse pour charger des données dans la trémie sans forcément les suivre correctement.

Si nous avons appris quelque chose de l’open source, c’est que mettre les métadonnées correctes en place (d’abord les spécifications, puis les données réelles) sera un projet de plusieurs années et pourra nécessiter une intervention gouvernementale. L’apprentissage automatique devrait plonger dans les métadonnées le plus tôt possible.

La sécurité va poser un véritable problème

La sécurité a été un autre moteur majeur de la demande de métadonnées du logiciel open source – si vous ne savez pas ce que vous exécutez, vous ne pouvez pas savoir si vous êtes vulnérable à la multitude d’attaques.

L’apprentissage automatique n’est pas sujet à la plupart des types d’attaques traditionnelles sur les logiciels, mais cela ne signifie pas qu’il est invulnérable. (Mon exemple préféré est qu’il était possible de altérer des ensembles de données d’apprentissage d’images car ils provenaient souvent de domaines inactifs.) La recherche dans ce domaine est suffisamment avancée pour avoir dépassé le stade de “la preuve de concept” pour arriver à “il y a suffisamment d’attaques pour les énumérer et les taxonomiser“.

Malheureusement, le logiciel open source ne peut pas offrir d’armes magiques à l’apprentissage automatique en termes de sécurité – si nous les avions, nous les utiliserions. Mais l’histoire de la diffusion du logiciel open source dans tant de niches suggère que l’apprentissage automatique doit prendre ce défi au sérieux, en commençant par le suivi des métadonnées d’utilisation et de déploiement, précisément parce qu’il est susceptible d’être appliqué de nombreuses façons au-delà de celles actuellement déployées.

La réglementation et la responsabilité vont s’étendre

Les motivations qui ont conduit aux métadonnées de l’open source (licence, puis sécurité) indiquent le prochain parallèle important : à mesure que l’importance d’un secteur croît, la portée des choses à mesurer et à suivre s’étend, parce que la réglementation et la responsabilité s’étendent.

Dans le logiciel open source, la “réglementation” gouvernementale principale pendant de nombreuses années a été le droit d’auteur, et les métadonnées ont été développées pour le soutenir. Mais le logiciel open source est maintenant confronté à diverses règles de sécurité et de responsabilité des produits – et nous devons faire mûrir nos chaînes d’approvisionnement pour répondre à ces nouvelles exigences.

L’IA sera réglementée de manière de plus en plus diversifiée à mesure qu’elle deviendra de plus en plus importante. Les sources de réglementation seront extrêmement diverses, notamment en ce qui concerne le contenu (à la fois les entrées et les sorties), la discrimination et la responsabilité du produit. Cela nécessitera ce qu’on appelle parfois la “traçabilité” – comprendre comment les modèles sont construits et comment ces choix (y compris les sources de données) affectent les résultats des modèles.

Cette exigence fondamentale – qu’avons-nous ? Comment en sommes-nous arrivés là ? – est maintenant intimement familière aux développeurs de logiciels open source d’entreprise. Cependant, cela peut représenter un changement radical pour les développeurs d’apprentissage automatique et doit être adopté.

“Le long terme” est plus long que ce que les gens pensent

Une autre leçon parallèle que l’apprentissage automatique peut tirer des logiciels open source (et en fait de nombreuses vagues de logiciels précédentes, remontant au moins aux ordinateurs centraux) est que sa durée d’utilisation sera très, très longue. Une fois qu’une technologie est “suffisamment bonne”, elle sera déployée et doit donc être maintenue pendant très, très longtemps. Cela implique que nous devons réfléchir dès que possible à la maintenance de ce logiciel et réfléchir à ce que cela signifiera si ce logiciel survit pendant des décennies. “Décennies” n’est pas une exagération ; beaucoup de clients que je rencontre utilisent des logiciels assez anciens pour pouvoir voter. De nombreuses entreprises de logiciels open source et certains projets disposent désormais de versions de “support à long terme” destinées à ces types de cas d’utilisation.

<…>

Conclusion

Les racines profondes de l’apprentissage automatique dans la culture expérimentale de l’université et la culture de l’itération rapide de la Silicon Valley lui ont bien servi, conduisant à une explosion incroyable d’innovations qui sembleraient magiques il y a moins d’une décennie. La trajectoire des logiciels open source au cours de la dernière décennie a peut-être été moins glamour, mais pendant cette période, elle est devenue le fondement de tous les logiciels d’entreprise – et a tiré de nombreuses leçons en cours de route. Espérons que l’apprentissage automatique ne réinvente pas la roue. Luis Villa est co-fondateur et conseiller général de Tidelift. Auparavant, il était un avocat de premier plan en matière de logiciel open source conseillant des clients, des entreprises du Fortune 50 aux start-ups de premier plan, sur le développement de produits et les licences open source.

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

L'UNESCO soulève des préoccupations en matière de confidentialité concernant l'implantation de puces d'IA

Dans une révélation récente, les Nations Unies ont mis en garde contre les dangers potentiels de la neurotechnologie ...

Informatique

Le nouveau professeur d'informatique de Harvard est un chatbot.

Les étudiants inscrits au cours phare CS50 de l'université seront présentés à l'enseignant en IA en septembre.

Science des données

Dis-le une fois ! Répéter les mots n'aide pas l'IA.

Les grands modèles de langage (LLM) ont montré leur capacité et ont fait sensation dans le monde entier. Chaque grand...

AI

Les acteurs majeurs de l'IA les GPU GeForce et NVIDIA RTX dynamisent la créativité, le jeu, le développement, la productivité et bien plus encore

Note de l’éditeur : Cet article fait partie de notre série hebdomadaire In the NVIDIA Studio, qui met en valeur...

AI

Les chercheurs en informatique créent des robots modulaires et flexibles.

Des blocs robotiques flexibles développés par des informaticiens du Dartmouth College, de l'Université Rutgers et de ...