Dans l’univers des LLM, « open source » est utilisé au sens de « poids téléchargeables »
(web.archive.org)- LLaMA2 ne correspond pas à la définition traditionnelle de l’open source en raison de restrictions sur l’usage commercial et l’exploitation des sorties du modèle, mais dans le domaine des modèles d’IA, le concept même d’open source doit être repensé
- À sa sortie, il comportait des restrictions en contradiction avec l’esprit de l’OSS : interdiction d’usage commercial pour les services comptant plus de 700 M de MAU, interdiction d’utiliser les sorties du modèle pour entraîner d’autres LLM, etc.
- De la même manière que, dans l’histoire du logiciel, le sens a évolué de "free software" vers "open source", puis vers "source available", dans l’IA, "open source" est désormais couramment employé pour désigner des poids téléchargeables
- Le niveau d’ouverture des modèles peut être classé en Open models, Open weights, Restricted weights et Contaminated weights, et LLaMA2 relève de la catégorie Restricted weights
- Un open source complet, réentraînable depuis zéro, est irréaliste pour des raisons de coût ; le fait que Meta ait publié l’équivalent d’environ 2 M$ de calcul a néanmoins un effet globalement positif sur l’avancée du domaine
LLaMA2 et la controverse autour du terme « open source »
- Lors de la publication de LLaMA2, de nombreuses figures des communautés OSS ont exprimé leur mécontentement face à l’usage erroné du terme "open source" pour qualifier le modèle
- Le modèle est globalement ouvert, mais comporte des restrictions explicites
- Les entreprises dépassant 700 M de MAU à la date de publication ne peuvent pas utiliser commercialement le modèle
- Les sorties du modèle ne peuvent pas être utilisées pour entraîner d’autres grands modèles de langage
- Ces restrictions cadrent mal avec l’esprit de l’open source (OSS ethos) et le modèle ne peut pas être qualifié d’open source au sens traditionnel
- Mais selon cette position, ce n’est pas l’essentiel : à l’ère des modèles d’IA, le terme "open source" doit encore évoluer
From Free to Open — de la « liberté » à l’« ouverture »
- Depuis la publication de l’"Open Letter to Hobbyists" en 1976, une tension persiste entre les intérêts commerciaux des éditeurs de logiciels et la curiosité des hackers cherchant à contourner ces contraintes
- Le mouvement du "free software" naît au MIT AI Lab dans les années 1970 avec Richard Stallman, puis se prolonge en 1983 avec le projet GNU
- La licence GPL et son principe de "copyleft" voient le jour, puis sont adoptés par Red Hat, MySQL, Git et Ubuntu
- Le terme "open source" apparaît en 1998 grâce à Christine Peterson du MIT
- Lors du "Freeware Summit", l’expression "free software" est officiellement abandonnée au profit de "open source software"
- Par la suite, les communautés "free" et "open source" se différencient dans leur interprétation du sens
- Le free software tel que défini par la Free Software Foundation constitue un sous-ensemble de l’open source, et utilise des licences très permissives comme GPL ou Apache
- Au cours des dix dernières années, les tensions entre entreprises commerciales de l’open source et hyperscalers du cloud ont provoqué une nouvelle bifurcation
- Elastic et MongoDB sont passés à la SSPL (Server-Side Public License), qui autorise l’usage commercial tant qu’il ne s’agit pas de fournir une version hébergée
- L’objectif était d’empêcher AWS de réhéberger le produit comme service cloud et d’en tirer des revenus
- La SSPL va au-delà du cadre OSS et n’est pas reconnue par l’OSI comme licence open source
- Malgré cela, de nombreux développeurs continuent de qualifier MongoDB d’open source
- "Open source" perd progressivement sa dimension de liberté au profit, dans l’esprit des développeurs, d’un quasi-synonyme de "source available"
From Source to Weights — du « code source » aux « poids »
- Avec l’essor des open models comme Dolly, MPT ou LLaMA, une différenciation comparable est apparue dans la communauté
- Pour la majorité des ingénieurs IA aujourd’hui, "open source" ne signifie ni plus ni moins que des poids téléchargeables (downloadable weights)
- Heather Meeker a proposé une définition de l’"open weights", sans qu’un consensus communautaire n’émerge encore
- La question centrale est de savoir si des open weights suffisent pour qualifier un modèle d’open source
- En termes logiciels, cela revient à publier seulement un binaire, sans le code source permettant de le reconstruire depuis zéro
- Pour être un véritable open source réentraînable depuis zéro, il faudrait publier le code d’entraînement, le jeu de données de préentraînement, les données de préférences pour le fine-tuning, les exemples de RLHF, etc.
- Le problème est le coût d’entraînement ; même avec une publication complète, entraîner depuis zéro resterait économiquement impossible pour la plupart des développeurs et entreprises
- En pratique, le simple accès aux poids finaux est donc souvent préféré
Classification en 4 niveaux d’ouverture des modèles
- Open models : comme RedPajama ou MPT-7B, avec des open weights utilisables commercialement sous licence Apache 2.0
- Le dataset est lui aussi open source, ce qui permet un réentraînement depuis zéro
- Open weights : c’est le cas de StableLM entraîné par StabilityAI ; les poids sont publiés sous Apache 2.0, mais le dataset d’entraînement n’est pas public
- D’après le README, le modèle a été préentraîné sur un nouveau dataset expérimental construit à partir de The Pile, d’une taille d’environ 1,5 T tokens, soit près de trois fois plus
- Restricted weights : c’est le cas de LLaMA2 ; le dataset de préentraînement n’est pas public et, bien que les poids soient présentés comme commercialement exploitables, ils sont soumis aux restrictions mentionnées plus haut
- Contaminated weights : c’est le cas de Dolly 1.0 et LLaMA1 ; les poids sont publiés, mais le dataset d’entraînement n’autorise pas un usage commercial, ce qui les rend techniquement ouverts mais pratiquement inexploitables
Conclusion — la direction de l’ouverture
- Pour l’instant, open source et open weights continueront d’être utilisés de manière interchangeable, et ce n’est pas forcément un problème
- L’important est que ce travail se fasse de plus en plus aussi ouvertement que possible (as openly as possible)
- Il est naturel d’être déçu par la licence de LLaMA2, mais le fait que Meta ait publié sur GitHub l’équivalent d’environ 2 M$ de FLOPS constitue un net positif pour les progrès du domaine
1 commentaires
Avis sur Hacker News
C’est étrange de classer LLaMA dans la catégorie des poids restreints juste au-dessus, puis d’affirmer qu’à l’avenir open source et poids publics seront employés de manière interchangeable.
Même selon la définition proposée par l’auteur, LLaMA 2.0 n’est pas open source et ne devrait pas être appelé ainsi.
Si, dans le domaine des LLM, open source signifie « on peut obtenir les poids » et que les restrictions d’usage n’ont pas d’importance, alors ce n’est pas tant une évolution terminologique adaptée à un nouveau contexte qu’une dévalorisation du sens d’Open Source.
LLaMA n’a même pas des poids publics ; au mieux, c’est un paquet de poids propriétaires fermés, comparable à du logiciel à source publiée.
Quand Facebook qualifie LLaMA d’open source, c’est trompeur, et il ne faut pas suivre ce récit.
La question de savoir si les poids peuvent eux-mêmes être protégés par le droit d’auteur est un autre débat ; personnellement, je pense que non.
Mais l’idée était que les gens ordinaires ne le savent pas vraiment, qu’ils continueront donc à dire « open source », et qu’il sera difficile de corriger cela.
Plutôt que de se contenter de dire « ce n’est pas open source », il faut créer de meilleurs termes.
Par ailleurs, même si l’usage des poids est restreint, l’investissement de calcul rendu public est très important. Le ratio jetons d’entraînement/paramètres est de 285:1, et les courbes de perte montrent aussi que le modèle n’était pas encore saturé.
C’est une information précieuse pour d’autres équipes qui veulent entraîner leur propre modèle.
LLaMA1 était très restrictif, mais la composition des données publiée dans l’article a donné naissance à RedPajama, qui a été utilisé pour entraîner MPT.
Même si cela ne correspond pas aux étiquettes traditionnelles, beaucoup de valeur issue de ce type de travail peut encore se diffuser vers l’open source.
Je ne savais pas que la licence de llama interdisait d’utiliser ses sorties pour entraîner d’autres modèles.
C’est en réalité une contrainte rédhibitoire. À l’avenir, les données synthétiques deviendront les données d’entraînement les plus importantes, et un modèle qui empêche leur utilisation pour entraîner de nouveaux modèles est un modèle fortement diminué.
il serait acceptable d’entraîner des modèles sur n’importe quelles données d’Internet sans autorisation ni licence, au seul motif qu’elles sont accessibles, mais pas d’entraîner d’autres modèles avec notre modèle.
Le postulat juridique de ces modèles est que l’entraînement sur des œuvres protégées par le droit d’auteur relève du fair use.
Sinon, Facebook veut-il soutenir que l’inclusion d’œuvres protégées dans un dataset, contre la volonté des auteurs, ne relève pas du fair use ? Si c’est le cas, c’est une mauvaise nouvelle pour LLaMA.
La position « il faut une autorisation pour entraîner avec ceci » est une posture juridique intéressante pour n’importe quelle entreprise d’IA.
En gros : « Nous, nous entraînons nos modèles sur une grande partie d’Internet sans autorisation, mais ne rêvez même pas d’entraîner quoi que ce soit avec les sorties de notre modèle sans notre permission ! »
OpenAI impose des restrictions similaires.
On ne peut pas entraîner un autre modèle à partir des sorties d’un modèle ; cela mène à du grand n’importe quoi. C’est ce qu’on appelle l’effondrement de modèle : https://arxiv.org/abs/2305.17493v2
Et la licence de Llama 2 autorise les utilisateurs à entraîner des modèles dérivés. C’est la partie qui importe vraiment aux gens : https://github.com/facebookresearch/llama/blob/main/LICENSE
Ce n’est pas vraiment un problème nouveau. La notion stricte d’Open Source, définie pour le logiciel, ne s’est jamais appliquée exactement à ce qui n’est pas du logiciel.
C’est pour cela que les licences Creative Commons existent. Distribuer une image photo sous GPL2 n’a tout simplement pas de sens dès le départ.
Avec un nouveau média, il faut toujours redéfinir.
La GPL définit le code source comme la forme privilégiée pour effectuer des modifications, et inclut aussi les scripts permettant de produire des exécutables à partir des sources.
Dans ce cas, les poids ressemblent davantage à du code exécutable optimisé issu d’un flux de traitement, tandis que la « source » serait les données d’entraînement ainsi que le code et les procédures qui les transforment en modèle.
Pour les très grands LLM, presque personne ne pourrait en tirer parti, mais pour de petits modèles académiques, cela a du sens, car les chercheurs peuvent construire les uns sur les travaux des autres.
La source d’un modèle de langage se rapproche en réalité davantage du code utilisé pour entraîner un modèle donné, tandis que le modèle lui-même n’est pas du langage machine, mais ressemble à un binaire compilé.
Donc, pour qu’un modèle soit vraiment open source, je pense qu’il faudrait publier le logiciel utilisé pour le générer, afin que je puisse le modifier, l’entraîner sur mes propres données et l’utiliser.
La question de savoir si les poids sont soumis au droit d’auteur n’a pas encore été tranchée par les tribunaux, et selon l’issue, de nombreuses licences et restrictions pourraient toutes devenir dénuées de sens.
« Artistes, le modèle ne fait qu’apprendre comme un humain, il ne peut donc pas porter atteinte à vos droits d’auteur. S’il a par hasard produit une partie d’un livre, c’est simplement du plagiat accidentel. On fait tous ça, non ? haha ! Les avocats nous rappellent qu’aux États-Unis, le plagiat n’est pas illégal. »
« Ingénieurs, les sorties de notre modèle sont protégées par le droit d’auteur ; donc si vous entraînez votre propre modèle avec, nous en sommes propriétaires. »
Je ne vois pas comment les deux peuvent être vrais en même temps.
Au mieux, ce n’est qu’une clause contractuelle qui lie certains utilisateurs, et quelqu’un qui utiliserait plus tard ce modèle amélioré ne semblerait pas poser problème.
Mais j’ai du mal à imaginer qu’un tel monde soit réellement possible.
J’aimerais qu’on puisse résumer pourquoi les poids pourraient ne pas être protégés par le droit d’auteur, ou indiquer des ressources qui soutiennent ce point de vue.
Il faut garder à l’esprit que ce qui relève ou non du droit d’auteur peut changer.
La GPL a été éprouvée dans l’affaire FSF contre Cisco (2008), mais les licences plus restrictives ne l’ont pas encore été.
Le problème, c’est qu’il existe déjà de grands modèles qui adoptent de vraies licences open source, comme MPT-30b ou Falcon-40b.
Je suis reconnaissant de pouvoir accéder aux poids de Llama2, mais avec des modèles concurrents qui sont réellement open source au sens traditionnel de l’OSI, il me semble injuste que Llama2 récupère le mérite d’être « open source ».
Les différences pratiques entre les licences sont assez faibles pour que la plupart des gens, moi compris, choisissent probablement Llama2 parce que la qualité du modèle est meilleure.
Mais cette incitation pourrait finir par nous enfermer dans des licences semi-ouvertes un peu bancales.
Le terme source available existe déjà ; je ne vois pas pourquoi le terme « open source » devrait évoluer.
Dans ce cas, il suffirait de dire « poids fournis sous une licence peu restrictive ».
Le graphique de l’article est très erroné, car il semble indiquer que seule la GPL est du logiciel libre, tandis que MIT/Apache seraient open source mais pas libres.
La FSF n’aime pas le terme « open source », mais même elle dit que « presque tous les logiciels open source sont des logiciels libres ».
En particulier, les licences MIT, Apache et LGPL sont clairement des licences de logiciel libre. Sinon, Debian ou les distributions approuvées par la FSF auraient beaucoup moins de logiciels parmi lesquels choisir.
Ce que le graphique essayait probablement de distinguer, c’était le copyleft d’un côté, et le logiciel libre ou open source de l’autre.
Si l’on classe selon le degré de permissivité, la relation de sous-ensemble devrait aussi être inversée. La GPL est beaucoup plus permissive que la SSPL, etc., mais moins permissive que MIT/Apache.
La différence n’est pas technique, elle est politique.
Cette partie de l’article est aussi assez trompeuse : « le logiciel libre tel que défini par la Free Software Foundation n’est qu’un sous-ensemble du logiciel open source, et utilise des licences très permissives comme la GPL et Apache ».
Le graphique devrait théoriquement comporter une autre catégorie, située en dehors de « Restricted Weights » mais plus étroite que l’ensemble « Completely Closed ».
Par exemple, des poids et modèles boîte noire, utilisables gratuitement mais impossibles, en pratique, à inspecter ou à déplacer.
Cela correspond à une catégorie sœur des logiciels à source fermée « utilisables gratuitement ».
Une IA utilisable gratuitement mais distribuée sous forme de blob binaire entrerait dans cette catégorie.
Ou encore un module Python qui appelle un moteur d’inférence et des poids sous forme de binaire précompilé, mais sans le code source.
L’équivalent traditionnel dans le monde logiciel actuel serait les pilotes Linux tiers non open source. Gratuits, mais pas ouverts.
Dans le monde de l’IA, on n’a pas encore beaucoup vu ce genre de choses. Ceux qui publient les poids le font généralement à des fins de recherche, donc l’inférence doit souvent aussi être open source ; et ceux qui ont des modèles fermés veulent gagner de l’argent, donc ils n’ont aucune raison d’ouvrir la partie inférence et peuvent simplement facturer l’API, comme « OpenAI » par exemple.
Le titre a été modifié. Le vrai titre est « LLaMA2 isn't "Open Source" - and why it doesn't matter ».
Il a été changé d’une façon qui donne une impression assez différente du titre réel, et j’ai l’impression que l’auteur et la personne qui l’a publié pourraient avoir des conceptions différentes du sens d’open source.
Open Source est bien ancré dans la culture tech depuis un bon moment, et s’en écarter a souvent valu des moqueries.
Récemment, la communauté semble être devenue plus tolérante envers ce type de licences « ouvertes ».
Les critiques contre les projets qui ne respectent pas les critères FOSS sont le plus souvent excessives, mais j’espère que nous ne glisserons pas trop vite vers le simple « open ».
Il existe aussi un autre article sur LLaMa2 : https://opensourceconnections.com/blog/2023/07/19/is-llama-2...