Les modèles de langage open-source

Les modèles de langage sont des systèmes d’ intelligence artificielle qui utilisent des volumes massifs de données textuelles collectés sur internet pour générer du texte, faire des traductions, interagir avec l’ utilisateur ou encore générer toutes sortes de contenus originaux.

Ces modèles peuvent être classés en deux grandes catégories, les modèles propriétaires et les modèles open-source. Cette distinction va avoir d’ importantes conséquences sur les possibiités d’ utilisation du modèle.

Les modèles dont j’ ai principalement parlé jusqu’ici –ChatGPT, Bard, Bing, Claude…- sont des modèles propriétaires : ils sont la propriété d’ une firme et peuvent uniquement être exploités selon les conditions décrites dans la licence d’exploitation. Cette license peut ou non être payante. Et à ce jour aucun des modèles propriétaires n’ est exploitable localement : vous devez utiliser une interface (web ou logicielle) pour interroger le modèle à distance.

L’ approche open-source est différente. Elle met à disposition du public l’ ensemble du modèle. L’ utilisateur peut donc l’ exploiter, le modifier et l’ améliorer à sa guise. Comme le concept de l’ open-source est très répandu dans le mode de l’ informatique et bien antérieur aux modèles de langage, j’ ai pensé qu’ il serait intéressant de commencer par en dire un peu plus à ce sujet.

1. Qu’est-ce que l’ open-source ?

Les débuts du mouvement open-source sont intimement liés au système d’ exploitation UNIX. Les développeurs originaux du système UNIX dans les années 1970 avaient pour habitude de partager les codes source. Lorsque certaines firmes ont décidé de commercialiser le code sous forme propriétaire pendant les années 1980, un mouvement de dissidence est né pour créer une version « ouverte » du système d’ exploitation. Une fois l’ approche formalisée, le mouvement open-source s’ est progressivement étendu et a prospéré jusqu’ à aujourd’ hui. On lui doit notamment le système d’ exploitation Linux et bien d’ autres logiciels et outils bien connus comme le langage Python.

Le mouvement open-source a donc été initié par des programmeurs qui rejetaient le modèle fermé et centralisé du développement de logiciels propriétaires. Dans ces derniers, seul le code exécutable est publié, alors que le code source est tenu secret afin d’ éviter la concurrence.

Le mouvement open-source rejette cette pratique : la totalité du code source est publié sous une licence qui permet la libre distribution, l’exploitation (commerciale ou non) et la modification du code. En contrepartie, l’ utilisateur s’ engage essentiellement sur deux points : ne pas tenter de s’ approprier le code mis à disposition et accepter ce dernier « en l’état » sans garantie ou recours en cas de dysfonctionnement. Certaines licenses open-source sont plus restrictives et obligent également l’utilisateur à publier tout programme dérivé également sous license open-source; on parle alors de licence réciproque ou copyleft.

Revenons maintenant aux modèles de langage…

2. Situation des modèles de langage open-source

Les premiers modèles de langage open-source étaient considérés comme nettement inférieurs aux modèles propriétaires. La situation a changé cette année, notamment suite aux activités de Meta qui a successivement publié les modèles LlaMA et LlaMA 2.

Les circonstances de la publication de LlaMA en février 2023 sont assez cocasses. Meta a initialement publié le code du modèle en open-source, mais pas les paramètres du modèle -sans lesquels ce dernier est inutilisable-. Les paramètres étaient uniquement fournis à des fins de recherche au cas par cas, sans possibilité d’ exploitation commerciale. Il n’ a pas fallu plus d’ une semaine pour que ces paramètres fuitent et se retrouvent disponibles au public par téléchargement…

Cette fuite a donné un coup d’accélérateur au développement de modèles de langage open-source : des modèles dérivés de LlaMA par affinage comme Vicuna et Alpaca ont été publiés quelques semaines plus tard, ainsi que la librairie GPT4ALL qui permet de faire facilement fonctionner ces modèles sur un ordinateur personnel. Cependant la légalité de ces modèles dérivés, reposant sur une fuite, était floue et ne permettait en pratique que la recherche à l’ exclusion de toute exploitation commerciale.

Meta n’ a pas voulu réitérer l’ expérience : le modèle suivant LlaMA 2 , publié en juillet 2023, est disponible sous une licence open-source et permet donc l’ exploitation commerciale par des tiers.

Et entretemps, d’ autres modèles open-source exploitables commercialement ont été développés comme MPT de MosaicML, Falcon ou encore Mistral, et de nouveaux modèles sont régulièrement publiés. La figure 1 montre une tentative de taxonomie des différents modèles. Les modèles open-source sont repris sur fond grisé.

Figure 1 : Taxonomie des modèles de langage (Auteur : Jinfeng Yang & al)

Un bémol cependant : certains modèles comme LlaMA 2 ou Falcon ne sont pas totalement open-source et leur exploitation commerciale n’ est possible que moyennant certaines limitations. Ces limitations -peu contraignantes en pratique- sont généralement de nature à empêcher la concurrence avec le développeur ou visent à interdire les utilisations illégales ou dangereuses. Par exemple, LlaMA 2 ne peut pas être exploité par les entreprises comptant plus de 700 millions d’utilisateurs (!) ni pour améliorer un autre modèle de langage. Comme toujours, vérifiez les termes précis de la licence avec un juriste avant, pour ne pas avoir d’ ennuis après.

Les modèles open-source sont maintenant très performants et les meilleurs d’entre eux se classent juste en-dessous des meilleurs modèles propriétaires, comme vous pouvez le voir sur Chatbot arena.

Il est fort possible que les modèles open-source comblent l’ écart avec les modèles propriétaires au cours des 12 à 18 prochains mois: Meta travaille sur Llama 3 qui devrait être multimodal et a déclaré qu’ il sera publié en open-source, tandis que l’affinage permet de créer des modèles spécialisés qui peuvent rivaliser avec un modèle propriétaire généraliste dans un domaine particulier tout en étant moins gourmands en puissance de calcul.

3. Avantages

Les avantages des modèles open-source pour l’utilisateur sont de trois ordres :

  • Coût d’exploitation : l’ utilisation d’ un modèle open-source est en général beaucoup moins onéreuse que celle d’ un modèle propriétaire vu l’ absence de frais de licence. En contrepartie, des frais d’ infrastructure -serveur local ou dans le cloud- et un investissement initial de mise en place seront nécessaire. L’ économie se réalisera donc plutôt à moyen terme.
  • Flexibilité : les modèles open-source peuvent être affinés pour mieux répondre aux besoins de l’ utilisateur. Concrètement, affiner correspond à étendre l’ entraînement du modèle sur un ensemble de données textuelles que vous fournissez et qui correspond à vos cas d’ utilisation.
  • Confidentialité : le modèle se trouvant dans l’ infrastructure de l’exploitant, les risques liés à l’échange de données avec une autre organisation souvent située outre-Atlantique disparaissent.

Un chose à souligner est que l’ affinage, si vous y recourez, est beaucoup moins exigeant en puissance de calcul que l’ entraînement intial du modèle (et donc en termes de coûts). L’ entreprise qui met le modèle à disposition a déjà supporté la toute grande majorité des coûts d’ entraînement.

En contrepartie, il y aura une activité technique initiale pour installer le modèle, le faire fonctionner et l’intégrer dans votre infrastructure (plus l’ affinage du modèle si vous choisissez de le faire).

4. Références