Faut-il choisir un LLM Open Source, Open weight ou Propriétaire ? Avouons-le tout de suite : il s’agit d’une question rhétorique dont vous n’aurez pas la réponse dans ce texte.
Mais nous aimerions que vous y trouviez quelques informations utiles et un premier niveau d’analyse de ce sujet plutôt touffu, contribuant à forger votre propre opinion.
Un LLM n’est pas (que) un logiciel
On a souvent tendance à penser à un LLM comme à un logiciel classique. Mais en réalité, c’est beaucoup plus : un modèle de langage, comme son nom l’indique.
Un LLM est une combinaison de nombreux ingrédients :
- Une base de données constituées de très nombreux textes (par exemple une bonne partie de l’Internet) ;
- De mécanismes de nettoyage, mise au rebut, etc. de certains de ces textes (‘’l’Internet est une poubelle’’ lit-on parfois) ;
- D’un ou plusieurs réseaux de neurones profonds, spécialisés dans l’analyse de la distribution statistique des mots (des ‘’tokens’’, plus exactement) ;
- D’un ou plusieurs algorithmes d’entraînement qui calculent la valeurs des quelques (centaines de) milliards de paramètres du réseau de neurones, transformant ainsi certaines propriétés de la base de texte en nombres pouvant être traités ultérieurement par des ordinateurs ;
- Des fonctions de vectorisation, projetant les (suites de) mots dans un espace à grande dimension, et permettant de calculer les proximités entre ‘’chunks’’ ;
- De dispositifs destinés à limiter les éventuelles vulnérabilités de la solution, ainsi que les usages répréhensibles ;
- De modules permettant un requêtage (‘’prompting’’) efficace, éventuellement spécialisés dans certaines tâches (génération de code ou de calculs mathématiques, etc.) ;
- Des modules de traitement du langage (NLP), gestion des dialogues…
- Eventuellement des fonctions d’orchestration et de routage pour piloter les différentes parties du LLM ;
Comme pour une recette de cuisine, la variation de l’un seulement de ces ingrédients influera sur la qualité du produit. Trop de sel et c’est fichu ; pas assez et c’est fade.
Ça coule de l’Open Source
La désignation open source ou code source ouvert, s’applique aux logiciels et aux œuvres de l’esprit dont la licence respecte des critères précisément établis par l’Open Source Initiative, c’est-à-dire les possibilités de libre redistribution, d’accès au code source et de création de travaux dérivés (Wikipedia).
Selon Github, les logiciels libres (OSS) sont des logiciels dont le code source est librement accessible et que les utilisateurs peuvent consulter, modifier, adopter et partager à des fins commerciales ou non.
Les 10 règles de l’OSI (Open Source Initiative)
L’OSI définit les dix principes de l’open source :
- Redistribution libre : La licence n’empêche aucune partie de vendre ou de céder le logiciel.
- Code source : Le programme doit inclure le code source et permettre la distribution du code source et de sa forme compilée.
- Travaux dérivés : La licence doit permettre les modifications et les travaux dérivés, ainsi que leur distribution dans les mêmes conditions que la licence du logiciel original.
- Intégrité du code source de l’auteur : La licence doit explicitement autoriser la distribution de logiciels construits à partir de code source modifié.
- Pas de discrimination contre les personnes ou les groupes.
- Absence de discrimination dans les domaines de compétence.
- Distribution de la licence : Les droits attachés au programme doivent s’appliquer à tous ceux à qui le programme est redistribué, sans qu’il leur soit nécessaire de conclure une licence additionnelle.
- La licence ne doit pas être spécifique à un produit.
- La licence ne doit pas restreindre d’autres logiciels.
- La licence doit être neutre sur le plan technologique. and we hope it will help you shape your own opinion.
Types de licence Open Source
Le code source ouvert est généralement stocké dans un dépôt public auquel tout le monde peut accéder et contribuer. Les contributeurs téléchargent de nouvelles versions du code dans le projet, en construisant et en améliorant le travail existant pour fournir de nouvelles fonctionnalités et des mises à jour.
Le code est accompagné de sa licence qui définit ce qu’un utilisateur peut ou ne peut pas faire. Certaines licences sont permissives et permettent l’utilisation et la distribution du code dans n’importe quel but, tandis que d’autres exigent de partager explicitement toutes les modifications. D’autres encore stipulent que les copies du code source doivent être gratuites et disponibles pour un usage public.
Parmi les licences les plus populaires, on peut citer :
- La licence MIT comporte peu de restrictions sur ce qui peut être fait, ce qui en fait la licence libre la plus permissive et la plus largement utilisée. Tout ce que la licence exige, c’est que les versions futures du code incluent l’avis de copyright original et une copie de la licence elle-même.
- La licence Apache 2.0 est également une licence logicielle permissive qui permet aux utilisateurs de faire tout ce qu’ils veulent avec le code, à condition qu’ils consignent les modifications majeures qu’ils y ont apportées.
- La licence GPLv2 exige que le code source soit mis à la disposition du public. La GPLv2 est également une licence copyleft, ce qui signifie que toute version du code source doit également être publiée sous la même licence, la GPLv2.
- La GPLv3 est compatible avec la licence Apache 2.0 et n’exige pas que le code source soit mis à la disposition du public.
LLM Open Source versus Open Weight
La définition traditionnelle du code Open Source ne peut s’appliquer aussi simplement aux technologies d’intelligence artificielle. En effet, contrairement au code Open Source classique, qui comporte principalement des instructions de programmation, un LLM repose sur :
- de (très) grandes quantités de données d’entraînement, susceptibles de comporter des travaux protégés ou des données privées, ce qui peut poser des problèmes juridiques en cas de partage ;
- des paramètres numériques qui déterminent la façon dont les données d’entrée sont traitées ainsi que la façon dont le modèle ‘’comprend’’ le langage.
Si les LLMs Open Weight peuvent divulguer les pondérations du modèle, ils ne partagent pas nécessairement les sources de données utilisées pour créer le LLM.
En revanche, un LLM Open Source partage (en théorie) chaque étape et chaque source de données dans le cadre d’une licence permissive qui autorise d’utiliser, modifier et distribuer ce modèle.
Avantages et limites des LLMs Open Weight
Avantages :
- Personnalisation flexible du modèle : il est possible d’ajuster les poids du modèle pour les adapter à la mission du LLM, sans partir de zéro ;
- En fournissant une base prête à l’emploi, ces modèles facilitent la mise en œuvre pour ceux qui cherchent à tirer parti des capacités avancées de l’IA.
Limitations
- Dépendance à l’égard des logiciels propriétaires. L’efficacité et l’adaptabilité des modèles de poids ouverts dépendent des outils et des plateformes utilisées par les créateurs du modèle ;
- Transparence et interprétabilité limitées : sans accès aux données et algorithmes sous-jacents, vous ne serez pas en mesure de comprendre comment les décisions sont prises.
Aruna Kolluru, Chief Technologist, AI at Dell Technologies, propose le comparatif ci-dessous :
Voir aussi Un grand modèle de langage Open Source, qu’est-ce que c’est ? par Red Hat.
Cas pratique 1 : Meta Llama 3
Mark Zuckerberg, CEO de Meta, s’est récemment converti en faveur de l’Open Source. En témoigne sa lettre ‘’Open Source AI Is the Path Forward’’
Selon lui, l’IA Open Source est la bonne solution pour les développeurs :
- Ils doivent pouvoir former, affiner et distiller leurs propres modèles.
- Ils doivent contrôler leur destin et ne pas se laisser enfermer par un fournisseur fermé.
- Ils doivent protéger leurs données.
- Ils ont besoin d’un modèle efficace et abordable.
- Ils doivent investir dans l’écosystème qui sera la norme à long terme.
C’est la position significative d’un acteur majeur qui positionne son modèle d’affaire sur « le coup d’après », à la différence d’Open AI (qui n’est plus du tout open…) par exemple.
A noter que Microsoft est dans un entre deux, la gamme de LLM compacts Phi étant disponible en Open Source (licence MIT).
La licence Llama 3
La licence Llama 3 s’approche d’une licence Open Source, avec quelques limitations supplémentaires.
Ce qu’il est possible de faire :
- Utiliser et modifier : vous avez la liberté d’utiliser, d’adapter et de développer le modèle Llama 3, tout en conservant la propriété de vos nouvelles créations.
- Redistribuer : vous pouvez distribuer des versions originales ou modifiées votre modèle Llama 3, à condition d’inclure une copie de l’accord de licence et une note indiquant « Construit avec Meta Llama 3 ».
- Propriété intellectuelle : les innovations créées à partir de votre modèle Llama 3 vous appartiennent.
Ce qu’il n’est pas possible de faire :
- Si vos services dépassent 700 millions d’utilisateurs mensuels, vous devrez obtenir une licence complémentaire auprès de Meta.
- La licence interdit l’utilisation de votre modèle Llama 3 pour améliorer des modèles concurrents de Meta.
- La licence restreint l’utilisation des marques de Meta, sauf autorisation spécifique.
Aspects éthiques
Meta semble avoir pris les aspects éthiques et sécuritaires au sérieux, en multipliant garde-fous et points de contrôle. L’avenir en dira l’efficacité, mais cela semble une intention louable.
Cas pratique 2 : Mistral
A l’heure de la rédaction de ce billet, la plupart des modèles d’usage général de Mistral bénéficient d’une licence Apache v2, en faisant un bon candidat pour l’intégration dans des suites de logiciel.
Toutefois des considérations économiques ont amené Mistral à définir la licence MNPL (Mistral AI non-production license).
Celle-ci permet l’utilisation libre des logiciels concernés dans des situations non commerciales (par exemple pour de la recherche, des tests, etc.) : « You shall only use the Mistral Models and Derivatives (whether or not created by Mistral AI) for testing, research, personal, or evaluation purposes in Non-Production Environments ».
Parmi les produits Mistral les plus récents :
- Mistral Nemo, développé en collaboration avec NVIDIA, est disponible sous la licence Apache 2.0.
- Mistral Large et Codestral (spécialisé en génération de code) sont affiliés à la licence MNPL, qui peut être complétée par une licence commerciale à négocier avec Mistral pour le passage en production.
Comparer les performances, un exercice périlleux
De la même façon qu’aux jeux olympiques on ne peut pas comparer Simone Biles et Teddy Riner, il n’est pas possible de répondre à la question « quel est le meilleur LLM ? ».
Il y a de nombreuses catégories, et au sein de chacune d’elles on doit affiner également selon le nombre de paramètres (donc la taille mémoire nécessaire), la longueur de fenêtre contextuelle, la tendance à halluciner, la vitesse de réaction, etc.
Tableau des médailles : LLM open source, open weight et propriétaire
Des courageux se sont attachés à établir un classement des LLMs sur la base de l’algorithme Elo utilisé pour les échecs. Il s’agit d’opposer les candidats deux à deux et de compiler l’ensemble des résultats. Un jugement relatif donc, et pas d’un indice absolu.
Sans attacher trop d’importance aux chiffres eux-mêmes, on peut tout de même en déduire deux tendances de fond :
- L’amélioration continue des performances au cours du temps (on pouvait s’y attendre),
- Un resserrement des écarts entre les meilleurs solutions propriétaires et ouvertes
Quelques autres sources intéressantes :
- Hugging Face qui tient à jour sont classement
- Lmsys fait de même dans une approche de crowdsourcing
Exemple d’analyse qualitative
Lsmsys propose un exemple intéressant d’analyse qualitative, déclinant les performances autour de huit critères : écriture, jeu de rôle, raisonnement, mathématiques, codage, extraction de connaissances, STEM (Sciences, technologie, engineering et mathématiques) et sciences humaines.
On remarquera dans le graphe suivant que la compétition fait se rencontrer llama-13b (13B de paramètres) et GPT4 (150B de paramètres). Obtenir des résultats fort différents n’est donc pas surprenant.
Il est à noter les corrélations entre critères : les performances du groupe [raisonnement, mathématiques, et codage] semblent similaires, de même que celles du triplet [écriture, sciences humaine et STEM].
RGPD, IA Act et souveraineté
Les aspects légaux sont plus ou moins aigus selon la nature des échanges et des requêtes avec le LLM.
Par exemple, une application dans le domaine de la santé demandera un hébergement ‘’HDS’’.
Les applications à haut risque (voir notre post sur l’IA Act)
et celles qui manipulent des données personnelles demanderont des précautions concernant l’hébergement et un niveau de transparence élevé sur la constitution du LLM.
Les applications dans le domaine de la défense ou des industries sensibles exigeront un hébergement sur le sol européen (voire français) et dans certains cas auprès d’hébergeurs de droit européen (pour éviter les soucis d’extraterritorialité de la loi de certains pays). Voire à l’extrême des serveurs complètement dédiés.
Tous ces critères sont à déterminer assez tôt dans le processus de choix du LLM, car ils ont impact limitant sur le choix du LLM et de son mode d’hébergement.
Comparaison des coûts
Comme pour les performances, il n’y a pas de réponse toute faite (désolé…) et il sera nécessaire de faire une étude spécifique à chaque projet, dans son contexte précis.
Le coût total d’un LLM dépend de ses caractéristiques techniques et de son modèle de déploiement autant que de son modèle de licence.
- Par exemple, l’utilisation de GPT4 sur Azure intègre le coût d’usage de l’API, du modèle Open AI, de l’hébergement, etc.
- Pour ceux qui opteront pour un LLM Open Source hébergé, ce sont essentiellement les coûts d’hébergement (location des serveurs) qui feront le prix.
- Et enfin, en cas choix d’un LLM Open Source non hébergé par l’éditeur ou un de ses partenaires, il restera à prendre en charge la mise à disposition d’un (ou plusieurs) serveurs avec un niveau de mémoire et de performance adapté à l’usage et la volumétrie visée.
Quelques critères à prendre en compte pour évaluer le TCO (total cost of ownership) d’un LLM :
- Cas d’usage, valeurs pour les utilisateurs, qualité attendue de l’UX ;
- Adaptation ou utilisation directe du modèle de langage ;
- Hébergement local, chez un partenaire, par l’éditeur ;
- Travaux d’intégration, puis de maintenance ;
- Volumétrie, passage à l’échelle, disponibilité ;
- Disponibilité de collaborateurs compétents dans votre organisation ;
- Etc.
Certains se sont risqués à proposer une hiérarchie performance/coût, en particulier pour promouvoir une approche hybride, avec un routage optimisé selon la nature des requêtes.
Et demain, LLM open source ou propriétaire ?
Ce qui est certain, c’est que rien ne l’est. Les positions ne sont pas acquises, les technologies ne sont pas stabilisées, les usages sont encore à défricher. Il faut donc accepter que les choix d’aujourd’hui seront remis en cause demain.
Il semble y avoir une tendance à proposer des LLMs de (relativement) petite taille, facilitant leur dissémination dans le monde numérique. Suffisamment spécialisés, ils offrent des performances comparables à leurs grands frères dont la plupart des capacités seraient sous-utilisées et peut-être même une meilleure célérité.
Des architectures à plusieurs LLMs (par exemple Mistral 8×7) sont apparues, et des fonctions d’orchestrateurs et de routage vers des agents spécialisés sont également en cours d’étude.
Retour vers le futur ?
Tentons d’utiliser l’histoire des systèmes d’exploitation (OS) pour deviner l’avenir des LLMs :
- 50 BAI (Before AI) : l’ère des mainframes : les systèmes d’exploitation étaient gros, fermés et structurants : le règne d’IBM ;
- 40 BAI : arrivée de la microinformatique et multiplication des offres, la miniaturisation du hardware permettant sa diffusion dans toutes les entreprises (DEC, Novell…) ;
- 30 BAI : bataille de l’Open Source autour d’UNIX, finalement gagnée de haute lutte par Linux, avec beaucoup de victimes collatérales (SUN, HP…) ;
- 20 BAI : généralisation de l’informatique individuelle, qui a redonné la main aux OS propriétaires (IOS, Windows) ;
- 10 BAI : offre relativement limitée et stable, mêlant solutions propriétaires et open source : IOS, Windows, Linux et Android.
A nous, à vous d’écrire maintenant l’histoire des LLMs et de l’IA générative…
_____________
Vous êtes un éditeur de logiciel ? Nous espérons que cet article vous aura donné les clés de lecture sur les LLMs Open Source, open weight ou propriétaire.
Agora Software est l’éditeur de solutions d’IA conversationnelle dédiées aux éditeurs. Nous déployons, rapidement, des interfaces conversationnelles applicatives renforçant l’expérience utilisateur des applications et des plateformes. En intégrant Agora Software à votre application, vos utilisateurs bénéficient d’interactions riches, multilingues et omnicanales.
Vous souhaitez intégrer une IA conversationnelle à vos applications ?
Parlons-en : contact@agora.software
Si vous avez aimé cet article, vous pourriez lire : Hallucinations, LLM et IA conversationnelle.
Et rejoignez-nous sur notre page Linkedin pour suivre notre actualité !
Vous voulez comprendre comment notre IA conversationnelle optimise la productivité et l’engagement de vos utilisateurs en complétant efficacement vos applications ?