Modèles de langage et robotique

Depuis les années 70, les films de science-fiction mettent en scène des IA humanoïdes et des droïdes qui s’ occupent de toutes les tâches ménagères. Alors pourquoi n’ avons-nous pas encore tous notre propre C-3PO, et pourquoi semble-t-il que nous remplacerons les programmeurs avant d’ arrêter de faire la lessive ?

La réponse est que la robotique est un problème très difficile, au point d’ avoir poussé beaucoup d’entreprises à l’ abandon, à commencer par OpenAI en 2021. C’est ce qu’ explique Ilya Sutskever, CTO d’OpenAI dans cette vidéo.

Mais pourquoi est-ce si compliqué, que peuvent y faire les modèles de langage et à quoi faut-il s’attendre ? C’est ce que je me propose de vous expliquer dans cet article.

1. Le paradoxe de Moravec

La première difficulté de la robotique est illustrée par le paradoxe de Moravec. Il met en évidence la différence entre l’ intelligence humaine et l’ intelligence artificielle. Le paradoxe de Moravec se résume à l’ idée suivante : le plus difficile en robotique est souvent ce qui est le plus facile pour l’ homme.

En effet, des tâches sensorimotrices qui nous paraissent évidentes comme reconnaître un objet, attraper une balle, évaluer les émotions d’ autrui etc… posent de gros problèmes aux ordinateurs. A l’ inverse, les ordinateurs excellent dans certaines activités de pur raisonnement comme le jeu d’ échecs ou le choix du trajet optimal, activités que les humains considèrent comme intellectuellement exigeantes.

Ce paradoxe peut être expliqué par le fait que lorsque le cerveau humain maîtrise parfaitement une tâche, celle-ci ne s’ exécute pas consciemment, contrairement aux tâches mal maîtrisées. Ces tâches inconscientes ne sont donc pas cataloguées comme difficiles.

Une explication complémentaire est liée à la théorie de l’ évolution. Les tâches sensorimotrices, en tant que fonctionnalités biologiques anciennes, ont été perfectionnées par les mécanismes évolutifs durant des millions d’années. Les facultés de raisonnement, apparues très récemment sur le plan biologique, ne se sont pas encore autant perfectionnées, et c’ est pourquoi elles demandent encore un effort conscient significatif.

Dès lors, notre perception de la difficulté d’ une tâche cognitive n’ est pas objective…et il se fait que les tâches perceptuelles sont très complexes, mais la machine extrêmement puissante qu’ est notre cerveau effectue l’ essentiel du traitement à notre insu…le cerveau effectue environ 10^18 (c’est-à-dire un milliard de milliards) de calculs par seconde, toutes tâches confondues, et ce avec très peu d’ énergie ! Imiter tout cela est une entreprise colossale.

2. Le problème des données

L’ autre grand problème, ce sont les données : si les modèles de langage et d’ image peuvent s’ appuyer sur les vastes quantités de données disponibles sur Internet, la situation est tout à fait différente en robotique, qui ne peut se reposer sur rien d’ analogue.

En effet, les robots exhibent une grande variabilité dans leur morphologie, leurs capteurs et leurs actuateurs. Il n’ existe aucune forme de standardisation sur ces points ce qui signifie que les jeux de données sont difficilement transférables d’ un modèle de robot à l’autre…

De plus, les robots ont besoin d’ une interaction active avec leur environnement pour générer des données significatives. Les robots physiques doivent donc effectuer des tâches de manière répétée, ce qui entraîne des efforts de collecte de données chronophages et gourmands en ressources.

Ce manque de données pose de gros problèmes pour l’ entraînement des modèles destinés à contrôler ces robots. Mais les chercheurs ne baissent pas les bras et ont mis au point deux parades :

La première est la génération de données synthétiques : il s’agit ici de créer un simulateur logiciel de l’environnement qui va permettre de générer des jeux de données réalistes. Si vous avez déjà joué à un jeu vidéo immersif type Call Of Duty ou Minecraft vous voyez de quoi il s’agit… et comme l’environnement est entièrement sous contrôle, il est possible d’adapter les interactions aux actuateurs du robot. Un exemple de ce type de simulateur est IsaacSim de Nvidia :

L’ autre approche est de chercher à rendre les jeux de données de différents robots interopérables à travers une couche d’ abstraction qui isole le modèle IA des spécificités morphologiques du robot.

C’ est l’ approche poursuivie par la collaboration entre Google Deepmind et 33 laboratoires académiques à travers le projet Open-X Embodiment Dataset qui consolide les données d’ entraînement de 22 robots différents, démontrant plus de 500 compétences et 150 000 tâches à travers plus d’un million d’épisodes.

Cet ensemble de données est le plus complet de ce type dans le domaine de la robotique. L’ idée est de pouvoir utiliser ce jeu de données consolidé pour entraîner un modèle IA robotique généraliste qui pourra ensuite être adapté à la morphologie de chaque robot. C’ est ce que Google a fait, et, en utilisant ce modèle, Google a pu démontrer une amélioration de 50 % du taux de réussite en moyenne sur cinq robots différents couramment utilisés par rapport aux méthodes développées indépendamment et spécifiquement pour chaque robot. Encore plus intéressant, Google a pu établir que le transfert de connaissance d’ un modèle de robot à l’ autre fonctionnait, rendant le co-entraînement possible, ce qui offre de grandes perspectives pour l’ entraînement des futurs modèles robotiques.

3. Modèles et agents multimodaux

L’ approche traditionnelle en robotique est d’ utiliser un système de planification classique qui définit formellement chaque action et ses conditions préalables et prédit ses effets. Comme ces algorithmes spécifient de manière rigide ce qui est possible ou non dans l’ environnement, ces robots « traditionnels » sont souvent incapables de faire face à toute forme d’ imprévu, même après de nombreux cycles d’ essais et d’ erreurs.

Le champ d’ action de la robotique classique se limite donc à des environnements étroitement contrôlés permettant de suivre un script étroitement limité, en répétant de manière rigide les mêmes séquences d’ actions.

C’ est ici que les modèles de langage (LLM) interviennent avec leur large éventail de connaissances qui va de la physique quantique à la K-pop en passant par la décongélation d’ un filet de saumon. De leur côté, les robots ont ce qui manque aux LLM : des corps physiques capables d’ interagir avec leur environnement et de relier les mots à la réalité.

Il semble logique de connecter des robots sans esprit et des modèles de langage sans corps pour que le robot puisse agir comme les « mains et les yeux » du modèle, tandis que ce dernier raisonne, planifie et fournit des connaissances sémantiques de haut niveau sur la tâche.

Plus précisément, le modèle de langage au coeur du robot se comportera comme un agent qui cherche à exécuter une tâche de haut niveau qui lui est transmise par un humain.

Il s’appuiera pour cela sur des modèles multimodaux capables d’interpréter les images renvoyées par les caméras (et les autres capteurs éventuels dont il est équipé), ainsi que sur d’ autres modèles capables de transformer les instructions du modèle de langage en mouvements à travers l’ activation des servomoteurs dont les articulations sont munies.

De nombreuses architectures internes sont possibles. La figure ci-dessous en montre un exemple :

Figure 1 : Exemple d’ architecture interne d’un robot exploitant un LLM
(source : https://arxiv.org/pdf/2305.17066.pdf)

Le modèle de langage en bas à droite (« Brain ») joue le rôle de chef d’ orchestre. La partie « robotique » se trouve au centre et se compose des actuateurs (« Sensor & control ») et des caméras (« Eye »). Un modèle de langage séparé (« Nerve ») joue un rôle intermédiaire en interprétant les images et en fournissant un description textuelle de plus haut niveau au modèle « cerveau ». A noter que le modèle intermédiaire reçoit aussi les informations de position et de mouvement pour pouvoir interpréter plus facilement les images provenant des caméras…

Je voudrais clôturer cette description par un rappel de mes deux articles précédents parlant des agents et des modèles multimodaux et qui sont directement liés à ce qui précède.

4. Acteurs

Certaines entreprises se concentrent sur des robots spécialisés qui trient, prélèvent et emballent efficacement et peuvent remplacer les travailleurs des centres de traitement des commandes, tandis que d’autres, comme Tesla, tentent de mettre au point un robot humanoïde polyvalent.

Le grand avantage des robots anthropomorphes est qu’ ils peuvent implicitement utiliser l’ensemble des outils destinés aux humains (bref, tout).

Voici un petit tour d’ horizon des principaux acteurs qui développent des robots anthropomorphes généralistes et « intelligents » (c’est à dire basés sur un modèle IA généraliste) :

  • le projet GR00T de Nvidia :
  • le robot Tesla Optimus :
  • le robot Figure 01, qui utilise un modèle IA développé par OpenAI :
  • le robot Spot de Boston Dynamics :
  • le robot H1 de la société chinoise Unitree :

NB – Ne ratez pas la vidéo de Boston Dynamics, elle se passe dans la brasserie Stella Artois à Louvain !

5. Conclusion

Il suffit de voir les noms des acteurs ci-dessus pour se rendre compte que la course à la robotique est bel et bien lancée entre géants de la tech. Et la robotique, ce ne sont pas seulement des robots anthropomorphes, mais aussi les voitures autonomes, les drones, les robots agricoles….le potentiel pour certains secteurs comme l’ industrie, l’ agriculture et les soins de santé est énorme. Sans parler des applications militaires qui sont évidentes….

Encore faut-il que ces promesses soient réalisées. Si un modèle génératif type transformer est à la base de ces modèles, cela veut dire que le robot risque fort d’ hériter des défauts de ces modèles (fiabilité incertaine, hallucinations), mais un robot ou un véhicule qui hallucine représente un plus grand danger qu’un modèle conversationnel…

Toute cette complexité fait que la révolution robotique de masse n’ aura pas lieu avant quelques années, mais n’ en reste pas moins probable. Dans les 5 prochaines années, nous aurons peut-être des majordomes et des compagnons IA à l’ apparence humaine et à ce moment-là, nous aurons créé une nouvelle espèce…

Sources et références

Des modèles de langage aux modèles multimodaux

Les modèles de langage présentent de remarquables qualités. Leur capacité à analyser des demandes complexes en langage humain, qui provient de l’ entraînement sur les immenses volumes de données textuelles accessibles sur Internet, a suffi pour provoquer l’ enthousiasme. Cependant, ces algorithmes ne modélisent qu’une seule composante de la perception humaine : le texte.

Les modèles multimodaux visent à s’ affranchir de cette limite en traitant nativement différents types de données comme le texte, les images, les sons voire la vidéo (ce sont les modalités).

Les premiers modèles multimodaux sont déjà disponibles sur le marché: OpenAI combine ChatGPT4 avec GPT-4V (reconnaissance d’images), DALL-E 3 (genération d’image), Whisper (reconnaissance vocale) et TTS (synthèse vocale) pour répondre aux demandes utilisateur les plus variées. Google Gemini Ultra présente des capacités comparables, et Anthropic n’ est pas en reste puisque le nouveau modèle Claude 3 Opus mis sur le marché il y a deux semaines est également multimodal.

La nouvelle frontière est la vidéo. OpenAI a récemment révélé le modèle text-to-video Sora qui crée des vidéos d’ une durée maximale de 60 secondes sur base d’un simple prompt textuel. Regardez plutôt leur démonstration, elle est impressionnante :

Un mot de terminologie avant d’ entrer dans les détails : l’ acronyme décrivant les modèles multimodaux est LMM (en Anglais « Large Multimodal Models »), par opposition aux modèles de langage appelés LLM (« Large Language Models »).

L’ apprentissage par représentation

La sauce secrète qui permet aux modèles multimodaux de fonctionner est l’apprentissage par représentation. Il va transformer un concept présenté dans sa forme « humainement intelligible » en un vecteur, soit une séquence de nombres de taille fixe.

Dans le cas d’un modèle de langage, cette représentation fera correspondre chaque mot (ou plus précisément chaque token) à un vecteur. Ces vecteurs sont en général de grande dimension : on parle de 1536 et 3072 dimensions pour les deux modèles de représentation textuelle utilisés par OpenAI décrits ici.

Cette représentation est faite de manière à préserver la correspondance sémantique. En d’autres mots, la distance entre les vecteurs mesure leur proximité sémantique (les vecteurs pour ‘auto’ et ‘camionnette’ seront proches l’ un de l’ autre). Encore plus fort, les différences entre vecteurs correspondent à d’ autres concepts plus élémentaires : la différence entre les vecteurs « roi » et « reine » est proche de celle entre les vecteurs « homme » et « femme » !

Figure 1 : Représentation de l’espace des vecteurs lexicaux
(source : https://www.pinecone.io/learn/vector-search-basics/)

Cette notion de représentation se trouve au coeur du fonctionnement de tous les modèles de langage génératifs, qui ne sont ni plus ni moins que des machines à prolonger des séquences de vecteurs. Au coeur du modèle de langage se trouve l’ algorithme appelé transformer dont l’ action peut se résumer comme suit :

  • Représenter le texte en entrée en une séquence de vecteurs;
  • Transformer la séquence de vecteurs à travers différentes opérations mathématiques qui vont enrichir et combiner les vecteurs de la séquence de mots de l’ invite pour en créer de nouveaux;
  • Répéter l’ action précédente un certain nombre de fois, jusqu’ à obtention d’ une séquence finale de vecteurs;
  • Utiliser cette séquence finale « enrichie » de vecteurs pour prédire le prochain vecteur de la séquence et donc le prochain mot;
  • Recommencer tout le processus en ajoutant le mot prédit à la fin de la séquence ce qui permettra de prédire le mot suivant etc…

Outre les modèles génératifs, la technique de la représentation textuelle facilite grandement le traitement du language : la recherche textuelle, le regroupement et la classification de texte deviennent beaucoup moins mystérieux lorsqu’ on réalise qu’ on peut les exécuter sur des vecteurs.

Encore plus fort, imaginez avoir appris une représentation pour l’ ensemble du vocabulaire français. Et une autre représentation pour l’ Allemand, mais dans une espace de même dimensionalité… vous pouvez alors définir une transformation entre les espaces vectoriels qui va permettre de passer d’une langue à l’autre !

Différentes modalités de représentation

Ce qui est vrai pour le texte s’ applique aussi aux images et aux sons. Moyennant un volume de données d’ entraînement suffisant, il est possible de définir une représentation des images, qui fera elle aussi correspondre à chaque image une représentation dans un espace vectoriel.

Comme pour le texte, le vecteur capturera le contenu visuel de l’ image qui pourra être utilisée pour diverses tâches de vision automatisée : détection d’ objets, classification d’ images, reconnaissance faciale, recherche d’ image par similarité…

Concrètement, cela signifie que les images contenant des voitures seront représentées par des vecteurs similaires, tout comme celles qui contiennent des chiens, des bâtiments ou tout autre objet matériel. Idéalement, la dimensionalité du vecteur sera suffisante pour modéliser des situations visuelles complexes contenant plusieurs objets et tenant compte de leur positionnement respectif et d’ autres caractéristiques apparaissant sur l’ image.

Et ce qui est possible pour les images l’ est aussi pour les sons. Les représentations sonores capturent le contenu sémantique et contextuel de fichiers audio: la prononciation du mot voiture ainsi que le bruit d’ une voiture qui démarre seront liés dans l’ espace vectoriel par une relation de proximité.

Figure 3 : Représentation vectorielle de l’audio
(source : https://people.csail.mit.edu/weifang/project/spml17-audio2vec/)

Il ne reste plus qu’ à mettre tout cela ensemble. Nous disposons maintenant d’ un mécanisme pour encoder des données provenant de différentes modalités dans un espace vectoriel de représentation unique et multimodal.

Figure 4 : Représentations multimodales
(source : https://www.pinecone.io/learn/vector-search-basics/)

La dernière étape consiste à intégrer cela dans un modèle, en général de type transformer qui va chercher à prédire le prochain vecteur; vous disposez alors d’ un modèle multimodal qui peut s’ appuyer sur toutes les sources d’ informations disponibles pour générer les données en sortie dans le format désiré.

Une petite remarque est que le modèle multimodal idéalisé « bout à bout » que je viens de décrire n’ existe probablement pas encore. Les modèles multimodaux actuels comme ceux d’ OpenAI, de Google ou d’ Anthropic sont vraisembablement construits comme un assemblage de différents modèles, à savoir un modèle de langage unimodal qui coordonne et fait appel à d’autres modèles « transmodaux » en fonction des besoins : par exemple, ChatGPT+ fera appel à DALL-E 3 si l’ utilisateur veut générer une image (text-to-image), ou à GPT4-V si une image doit être interprétée (image-to-text) etc…on se retrouve donc plutôt aujourd’hui dans un scénario multiagent comme décrit dans mon article précédent accessible ici.

Applications et perspectives

Les LMM présentent un grand attrait pour l’ automatisation des soins de santé, où les données patient se retrouvent dispersées à travers du texte manuscrit ou digital, de l’ imagerie voire des rapports d’ analyse de laboratoire sous forme de données tabulaires. La radiologie est souvent citée en exemple puisque sa matière première est l’ imagerie (scanner, IRM, radios…), mais rien n’ empêche d’ entraîner un LMM à recevoir et interpréter d’ autres signaux comme ceux d’ un électrocardiogramme.

Un autre domaine où la multimodalité jouera un rôle essentiel est la robotique où l’ on va chercher à donner aux robots des capacités de percevoir et d’interagir avec leur environnement. La consolidation de ces informations visuelles, auditives et textuelles dans un modèle unique permettra au robot de naviguer et d’ agir plus efficacement sur le monde extérieur.

Le grand défi de la multimodalité, notamment pour la robotique, est l’ intégration de la vidéo dans la chaîne multimodale. Les grands acteurs du secteur planchent dessus.

Google possède un avantage important dans ce domaine puisque Youtube est une de ses filiales. Avec plus de 500 heures de nouvelles vidéo sont publiées chaque minute sur Youtube, cette chaîne constitue un excellent réservoir de données pour l’ entraînement des futurs modèles multimodaux vidéo.

Pour conclure, l’ apprentissage multimodal profond est un domaine passionnant et en pleine évolution qui recèle un grand potentiel pour faire progresser la vision par ordinateur et d’ autres domaines de l’ intelligence artificielle.

Bien que l’ apprentissage multimodal présente des difficultés, notamment la nécessité de disposer de grandes quantités de données d’ entraînement et la difficulté de fusionner des informations provenant de modalités multiples, les progrès récents des modèles d’ apprentissage profond permettent d’ améliorer considérablement les performances dans toute une série de tâches.

C’ est un domaine à suivre avec attention en 2024, qui pourrait bien être l’ année des LMM tout comme 2023 a été celui des LLM.

Sources et Références

Les modèles génératifs locaux

Introduction

Si 2023 a été dominée par les modèles mis à disposition dans le cloud comme chatGPT ou Claude, cette approche pourrait fort bien évoluer cette année. Ceci est dû aux progrès rapides des modèles open-source, qui réduisent progressivement l’ écart avec les modèles propriétaires. Ces modèles open-source rendent possible l’ exécution locale de modèles, ce qui offre de nouvelles perspectives que je vais exposer dans cet article.

J’ ai déjà publié une analyse générale des avantages et inconvénients des modèles open-source ici, ainsi qu’une présentation de la start-up française Mistral (ici). Cet article présente les choses d’ un point de vue plus pratique : quels sont les élements à prendre en compte lors du choix et de l’ installation d’ un modèle local, et comment l’ exploiter ensuite.

1. Identifier et choisir un modèle local

La première question est de déterminer les cas d’ utilisation de modèles génératifs qui sont pertinents pour vous. Vous pourrez alors vous orienter vers un modèle répondant à vos besoins. Pour cela, vous pourrez vous baser sur différents indicateurs de performance qui sont publiés régulièrement pour tous les modèles disponibles.

Vous trouverez ici un tableau de bord reprenant une série représentative d’indicateurs de performance. Ce tableau de bord est remis à jour très régulièrement. Etudions-le un peu plus en détail.

Figure 1 : Le LMSYS Chatbot Arena sur Huggingface

Voyons tout d’ abord comment interpréter les différents indicateurs de performance mentionnés:

  • Arena Elo : Il s’ agit d’ un système de classement comparable aux points Elo utilisé par les joueurs d’ échecs. Un être humain pose une question et la réponse de deux modèles choisis au hasard lui est présentée en retour. L’ humain choisit la meilleure réponse (le gagnant), et les points Elo des deux modèles sont mis à jour en conséquence. Le système compte à ce jour plus de 200.000 affrontements entre modèles…
  • MT-bench : Ce test est basé sur une série de 80 dialogues standardisés couvrant huit domaines (10 questions par domaine) : rédaction, incarnation de rôle, extraction d’ information, raisonnement, mathématiques, programmation, sciences naturelles et sciences humaines. Chaque dialogue consiste en plusieurs questions successives sur le même sujet. Une fois le dialogue terminé, GPT4 évalue la qualité de la réponse et lui attribue un score.
  • MMLU : Cet indicateur utilise un grand nombre de questions à choix multiples choisies parmi 57 catégories couvrant l’ essentiel du savoir humain. L’ avantage d’ un QCM est que l’ évaluation de la réponse est immédiate et sans ambiguité.

Et si la programmation est votre cas d’ utilisation principal, il existe un indicateur spécialisé HumanEval qui évalue l’ aptitude à la programmation à travers 164 tests. Vous pouvez accéder à un tableau de bord pour HumanEval ici :

Figure 2 : Un tableau de bord HumanEval (credit : KLU.ai)

En règle générale, au plus le modèle compte de paramètres, au plus les réponses du modèle seront riches et précises, mais au plus de ressources son exploitation nécessitera. Beaucoup de modèles étant disponibles en plusieurs tailles, c’est un paramètre sur lequel vous pouvez jouer dans une seconde étape si vous vous rendez compte que le modèle est trop imprécis ou trop gourmand en ressources. Il faudra tenir compte de certaines contraintes: la mémoire de votre machine limitera la taille des modèles qui pourront fonctionner dessus, alors que la performance dépendra surtout du ou des processeurs disponibles (CPU ou GPU).

Autre point : certains modèles ont été affinés pour exceller dans un domaine particulier (la création artistique, la programmation, le domaine médical…). Si vous pouvez mettre la main sur un modèle affiné dans le domaine qui vous intéresse, utilisez-le en priorité car il a toutes les changes de présenter une meilleure efficacité relative qu’ un modèle généraliste de même taille. Par exemple, si c’ est la programmation qui vous intéresse, orientez-vers WizardCoder, Magicoder ou CodeLlama

Vous pouvez aussi affiner vous-même un modèle open-source généraliste pour le faire approcher au plus près de votre cas d’ utilisation. C’est une approche plus complexe, dont je parlerai dans un article futur.

Enfin, pensez toujours à vérifier les conditions de licence pour voir si cette dernière est compatible avec l’ utilisation que vous envisagez. Les modèles de langage sont souvent publiés sous des licences open-source modifiées contenant certaines restrictions d’ utilisation…

2. Installer un programme d’ exploitation et télécharger le modèle

L’ heure est maintenant venue d’ installer un moteur d’ exploitation sur votre ordinateur. En voici trois, tous gratuits :

Vous trouverez quelques bonnes vidéos explicatives des mécanismes d’ installation et d’ utilisation de ces programmes dans la partie « Références » ci-dessous. Ces programmes contiennent une fonctionnalité intégrée de recherche et d’ installation des modèles. Le téléchargement manuel du modèle depuis un site comme HuggingFace n’ est donc en général pas nécessaire.

Prenons l’ exemple de Ollama qui est extrêmement facile à utiliser. Une fois l’ application installée sur votre machine, vous pouvez aller voir la liste des modèles disponibles ici :

Figure 3 : Liste des modèles Ollama disponibles)

Il suffit ensuite de demander le lancement d’ un modèle via la commande ollama run *model*. Ollama téléchargera d’ abord le modèle si ce dernier n’ est pas déjà présent localement, puis ouvrira une session de dialogue interactif. Tapez /bye pour arrêter la session interactive.

Quelques autres commandes :

  • Ollama list : fournit la liste des modèles disponibles localement.
  • Ollama pull *model* : installe un modèle sans lancer l’ exécution.
  • Ollama rm *model* : supprime le modèle local.

Difficile de faire plus simple…

3. Exploiter un modèle local

Premier cas d’ utilisation, le plus évident : la conversation avec le modèle. Les applications décrites au point précédent offrent cette fonctionnalité sans besoin d’ installations supplémentaires.

Le second cas d’ utilisation que je voudrais présenter est l’ assistant de programmation intégré dans un environnement de développement (IDE). Je vais prendre comme example un des environnements les plus répandus: Microsoft VSCode.

Il existe des extensions pour VSCode comme Continue et Cody qui fournissent une fonction d’ assistance en interagissant avec un modèle de langage. Pour interagir avec un modèle cloud, il faudra configurer le modèle désiré et la clé d’accès. Pour un modèle local, il suffit de spécifier l’ application (Ollama ou autre) et le modèle à utiliser. C’est tout.

Par exemple, voici Continue utilisant le modèle Mistral7B via Ollama sur mon iMac :

Figure 4 : Intégration de VSCode et Mistral7B via l’ extension Continue

Enfin, troisième cas d’utilisation, l’ accès direct aux modèles locaux via un programme informatique. Ici aussi, c’ est facile : la présence d’ interfaces de programmation sur les applications les rend facilement intégrables dans des processus informatisés internes. Par exemple, Ollama offre un point d’entrée REST accessible sur le port 11434 dont la documentation est accessible ici. Et depuis peu, une librairie ollama-python est disponible ce qui simplifie encore plus les choses.

4. Réflexions

Avec les applications actuelles, l’ utilisation de modèles locaux est devenue très aisée. Les progrès rapides des modèles open-source en font une option très intéressante qui résout un certain nombre de désavantages des modèles propriétaires dans le cloud. Ces modèles n’ atteignent pas encore les performances des meilleurs modèles propriétaires comme GPT-4, mais la disponibilité prochaine de Llama 3 et les progrès rapides de Mistral permettent d’ être optimistes.

Si les modèles locaux sont opérationnels dès aujourd’hui, 2024 devrait voir l’ émergence de modèles fonctionnant sur smartphone. Internet bruisse de rumeurs selon lesquelles Apple se préparerait à lancer une nouvelle version de Siri basée sur un modèle génératif pouvant piloter certaines applications du téléphone. Samsung, de son côté a développé un modèle de langage appelé Gauss destiné à être intégré sur ses téléphones dans un avenir proche…

5. Notes et références

IA générative et droits d’auteur : litiges en cours et perpectives

Dans mon article précédent, j’ ai exposé de manière générale les zones de friction entre l’ IA générative et les droits d’ auteur. Je voudrais maintenant compléter la discussion en présentant les deux principaux litiges en cours et discuter de perspectives plausibles d’évolution.

Ces deux litiges sont l’ action intentée par Getty Images contre Stability AI et celle intentée par le New York Times contre OpenAI et Microsoft. Le premier concerne les images et le second le texte.

Passons-les succinctement en revenue sans trop entrer dans le détail juridique (pour lequel je vous réfère aux threads en référence rédigés par des juristes spécialisés dans le domaine).

1. Le litige opposant Getty Images à Stability AI

Il s’ agit d’ un litige en cours depuis février 2023 à la fois aux Etats-Unis et au Royaume-Uni. Il oppose la bibliothèque d’ images en ligne Getty Images à Stability AI, développeur du générateur d’ images Stable Diffusion accessible ici. La justice britannique a décidé début décembre que la plainte de Getty Images était recevable et que le procès pouvait débuter.

Getty Image allège que Stability AI a copié sans permission plus de 12 millions d’ images lui appartenant pour l’ entraînement de ses modèles, dans le but de construire une offre concurrente, réclame 150.000 dollars d’ indemnité par image contrefaite générée….et que, cerise sur le gâteau, les images de Stability reprennent parfois en tout ou partie les filigranes de Getty Images comme dans l’ image de synthèse ci-dessous :

Figure 1 : Image de synthèse de Stability AI reprenant un filigrane de Getty Images (crédit : The Verge)

La position de Stability à ces allégations n’ est pas connue publiquement. Il est donc difficile de fournir une analyse équilibrée présentant les deux points de vue.

Un élément important du litige est le territoire sur lequel s’ est déroulé l’ entraînement et le développement du modèle, qui va déterminer la juridiction compétente (Royaume-Uni ou Etats-Unis). Mais sur quelle base se fera cette détermination ? le lieu de travail des spécialistes AI en charge de ces activités ? la localisation physique du serveur hébergeant les données ? Celui du calculateur réalisant l’ entraînement ? Ce n’est pas simple.

Comme pour enfoncer le clou, Getty Images a lancé en septembre son propre service d’ IA générative appelé « Generative AI by Getty Images », entraîné exclusivement sur sa propre bibliothèque d’images…

2. Le litige opposant le New York Times à OpenAI et Microsoft

Le journal américain The New York Times a intenté fin décembre un procès aux USA contre OpenAI et Microsoft. Il estime en effet qu’ il est floué par ces deux entreprises, qui ont abondamment utilisé ses textes pour entraîner les modèles à la base de chatGPT.

Si OpenAI a entraîné le modèle, Microsoft est présenté comme le complice qui a mis à disposition son infrastructure pour rendre l’ entraînement possible, et fournit de surcroît une version de GPT4 sous sa propre enseigne (Bing Chat) qui présenterait les mêmes infractions.

La citation inclut une centaine de textes d’ articles qui ont pu être restitués dans leur quasi-intégralité après un prompt qui reprend les premiers mots de l’article, comme dans l’ exemple ci-dessous (le texte en rouge est identique).

Figure 2 : Exemple de restitution « par coeur » d’un article du New York Times

La plainte fait aussi état de la forte représentation de textes issues du New York Times dans la base de données *Common Crawl*, qui a été utilisée pour entraîner GPT4 : le site du New York Times se retrouve en effet en quatrième position…

Figure 3 : Répartition des principales sources de données du Common Crawl

Selon le journal, la qualité de son contenu se retourne également contre lui car il pousse les développeurs de modèles génératifs à pondérer fortement le texte dont il est la source dans les données d’ entraînement.

Le journal insiste sur le coût financier et humain d’ un journalisme de qualité qui couvre les cinq continents et demande parfois de travailler dans des conditions difficiles, voire dangereuses. La citation du NY Times contraste le rôle sociétal essentiel du journalisme avec la motivation lucrative d’ OpenAI et de Microsoft, la valorisation boursière de cette dernière société ayant augmenté d’ un trillion (!) de dollars au cours de la seule année 2023.

Le journal déclare avoir cherché un accord financier amiable avec OpenAI pour leur permettre d’ exploiter leurs articles mais ces négociations ont échoué. En conséquence de quoi, le New York Times réclame -en plus des dommages- ni plus ni moins que la destruction de tous les modèles de langage qui ont été entraînés sur ses données sans autorisation (à commencer par les GPT d’OpenAI) !

La position d’OpenAI, que vous pourrez lire dans leur communiqué de presse en référence est la suivante :

  • L’entraînement de modèles génératifs peut exploiter des données soumises au droit d’auteur car cela relève du *fair use* (voir mon article précédent qui présente cette notion). De plus, OpenAI propose un mécanisme permettant aux auteurs qui ne désirent pas voir leur contenu utilisé pour l’entraînement de signaler leur refus (approche de type OPT-OUT);
  • La « régurgitation » (c’est leur terme) de contenus existants mot pour mot est un problème rare qu’ils essaient d’ éliminer. En effet, les programmes d’IA générative ne mémorisent en principe pas l’information mais la transforment de la même manière qu’ un être humain qui se forme à travers la lecture de textes pour générer ensuite des créations originales;
  • En outre, ces « régurgitations » proviennent principalement d’ articles anciens qui se sont trouvés recopiés sur de multiples sites au fil du temps ce qui a pu déséquilibrer l’ algorithme en leur faveur, la répétition leur accordant une pondération trop importante pouvant mener à la mémorisation « verbatim » et à la régurgitation;
  • Les négociations avec le NY Times pour l’ obtention d’ un accord de license avançaient de manière constructive jusqu’ au moment du lancement de l’ action en justice qui les a profondément surpris. L’ implication étant ici que le New York Times cherche par cette action judiciaire à faire pression sur OpenAI pour obtenir un accord plus favorable.

Voilà ce qu’ il en est. La plupart des commentateurs avisés pensent que ceci se terminera par une transaction amiable, ce qui est compatible avec les positions maximalistes des deux parties exprimées en public (interdiction d’un côté, « fair use » de l’autre), qui cherchent surtout à faire pression sur l’ adversaire.

Si vous voulez vous plonger dans une analyse juridique de ce litige, je vous suggère de lire les threads X de Jason Kint et Cecilia Ziniti, des spécialistes du domaine, repris en référence.

3. Quelques réflexions

Pour terminer, je voudrais mentionner deux scénarios possibles d’évolution à moyen terme sur ce sujet :

Un scénario « progressiste » verrait les auteurs publiant en ligne -mais désireux de protéger leurs droits- contraints d’ ajouter une référence d’ identification dans un format facilement lisible par une machine (métadonnées). Ceci serait contrebalancé par une double contrainte pour les développeurs de modèles génératifs IA :

  • devoir publier la liste de tous les auteurs et leurs textes/images repris dans les données d’entraînement;
  • permettre aux auteurs qui le désirent d’obtenir la suppression de leurs textes/images des données d’entraînement du modèle.

Cette approche est pragmatique : elle respecter les intérêts de chacun moyennant des efforts raisonnables de part et d’autre.

A l’ inverse, un scénario « conservateur » verrait un repli des détenteurs de droits sur leurs données propres et le développement de modèles génératifs fermés comme l’ a fait Getty Images. Seules les documents tombés dans le domaine public (et potentiellement ceux générés de manière synthétique) resteraient disponibles pour l’ entraînement sans contrainte…

4. Sources et références

Tour d’horizon des modèles génératifs d’images

Voici quelque temps que les modèles génératifs d’image font parler d’eux.

Ils peuvent en effet créer des images fascinantes avec un minimum d’ efforts, et je vous propose de voir ci-dessous comment en tirer parti au mieux. L’ arrivée de DALL-E 3 rend les choses encore plus intéressantes puisqu’ un modèle très performant est maintenant à disposition du grand public.

Jusqu’à récemment, ces modèles donnaient des résultats assez mitigés. Leur arrivée sur le devant de la scène générative grand public est donc assez récente.

Cet article se focalise la génération d’ images originales à partir d’ une phrase introduite par l’ utilisateur, ce qui offre le potentiel applicatif le plus large. Il existe d’ autres types de générateurs d’image, comme ceux qui permettent de modifier votre apparence sur base de photos.

La possibilité de créer des images à partir de simples descriptions textuelles offre un éventail énorme de possibilités. L’ image ci-dessous a été générée par DALL E 3 sur base du prompt élémentaire : Dessine-moi Notre-Dame de Paris dans le style de Pierre-Paul Rubens » :

Image 1 : Notre-Dame de Paris dans le style de Pierre-Paul Rubens

Ces générateurs d’image ont été entraînés sur des milliards de paires texte/image. A force d’ expositions répétées, les modèles apprennent progressivement à quoi les choses ressemblent visuellement. Reste à rédiger un prompt qui va « résonner » avec le modèle et lui faire générer une image intéressante (ce qui n’est pas toujours le cas au premier coup… c’est une activité dans laquelle la répétition paie).

La génération d’image en tant que telle fait appel à un procédé appelé « diffusion » dont vous pouvez lire les détails techniques ici.

1. Le générateur DALL-E 3

DALL-E 3 est le tout dernier modèle d’ OpenAI, accessible depuis début octobre 2023. L’ immense avantage de DALL-E 3 est qu’ il extrêmement simple à utiliser et accessible gratuitement via le site de Microsoft Bing Image Creator qui se trouve ici, à condition de posséder un compte Microsoft .

Image 2 : Interface utilisateur de Bing Image Creator

Le système génère les images par série de quatre. Vous pouvez ensuite choisir de sauvegarder les images qui vous plaisent dans des « collections » sur le site ou bien vous pouvez les télécharger au format JPEG. Les images générées sont carrées et leur taille est toujours de 1024 x 1024 ce qui est suffisant pour la plupart des applications. L’ interface ne permet pas de modifier les images, mais vous pouvez télécharger cette dernière et ensuite la modifier dans un programme spécialisé comme Photoshop.

Une force de DALL-E 3 est que vous pouvez lui demander d’ écrire un texte sur l’ image et que cela fonctionne relativement bien (sans être parfait). Les modèles précédents en étaient incapables.

Si vous disposez de l’abonnement payant chatGPT+ d’openAI, DALL-E 3 est également accessible directement depuis chatGPT4 depuis quelques jours. Il vous suffit de sélectionner cette sous-option lorsque vous désirez utiliser chatGPT4.

Image 3 : Accès à DALL-E 3 via ChatGPT+

2. Les autres générateurs d’image disponibles

Malheureusement, les autres modèles sont payants, c’est pourquoi je me limiterai à les évoquer ici. Selon les exploitants, cela s’explique par le coût de la puissance de calcul nécessaire à la création de ces images: ces modèles étaient accessibles gratuitement il y a quelques mois mais le nombre croissant d’utilisateurs a obligé les sites de génération à basculer vers un accès entièrement payant.

L’ application Midjourney est la plus connue et réputée très performante; elle est la favorite de nombreux illustrateurs mais son utilisation est peu intuitive puisqu’ il faut passer par l’application de chat Discord pour demander la génération des images.

L’ idée de Midjourney est de fonctionner comme une communauté d’ artistes. La génération se fait en introduisant le prompt dans un canal Discord de chat public sur Discord ce qui signifie que tous les utilisateurs peuvent voir vos demandes de génération et leur résultat (et vous de même avec leurs créations). Ceci n’ est pas approprié pour la plupart des applications professionnelles. Midjourney vous coûtera 10 euros par mois pour avoir droit à environ 200 générations d’ images mensuelles.

De son côté, la société anglaise Stability AI a publié le modèle Stable Diffusion XL, via son application Dreamstudio accessible ici moyennant inscription préalable. Un système de crédits vous permet de générer une quinzaine d’ images gratuitement, mais ensuite il vous faudra payer pour recharger vos crédits. Vous pouvez aussi passer par le site Clipdrop mais à nouveau pour utiliser Stable Diffusion XL il vous faudra prendre l’abonnnement PRO qui vous coûtera 9 USD par mois.

Image 4 : Interface utilisateur Dreamstudio

Enfin, on attend dans un futur proche la mise à disposition des modèles Imagen de Google et Make-a-Scene de Meta. Vu les moyens financiers de ces deux sociétés, il n’ est pas exclu que des accès gratuits soient offerts (comme Microsoft l’a fait pour DALL-E 3). Espérons que ce sera le cas…

A toutes fins utiles, j’ ai mis en bas de cet article dans la partie « Notes et références » des liens vers des explications plus détaillées concernant l’ utilisation de Stable Diffusion XL, Midjourney et Adobe Firefly.

3. Exemple d’utilisation pratique

Une application simple est la réalisation de logos et graphismes à vocation marketing. Voici un exemple tout simple de réalisation de logos pour un bar à café imaginaire appelé « maxi kawa ». La figure ci-dessous montre le résultat obtenu du premier coup avec DALL-E 3 ainsi que le prompt utilisé.

Image 5 : Génération d’un logo pour le café « Maxi Kawa »

Comme vous le voyez, le texte est correctement positionné mais il y a des fautes d’ orthographe. Dans ce cas, la marche à suivre serait de télécharger le fichier JPEG, l’ éditer dans un programme comme GIMP ou Photoshop pour corriger l’ orthographe et éventuellement réaliser d’ autres modifications cosmétiques.

Finalement, vous pouvez intégrer l’ image corrigée dans un programme comme Canva] pour intégrer le logo dans un menu par exemple. J’ en profite pour attirer votre attention sur Canva qui est un programme très facile d’utilisation et extrêmement efficace pour la mise en page, notamment grâce à l’ énorme palette de gabarits disponibles…

4. Contraintes et limitations

La question des droits d’ auteurs liés à ces images n’est pas entièrement résolue. Il y a deux points sensibles à ce sujet.

Le premier concerne l’entraînement des modèles, qui a eu recours à des bases de données d’ images énormes dans lesquelles se trouvent (très probablement) des images couvertes par le droit d’ auteur, et ce sans que ces derniers aient donné leur accord. Une association d’ auteurs a déjà intenté un procès à Midjourney et Stability AI à ce sujet.

Le second point est de savoir si les images générées sont soumises ou non à un droit d’ auteur et si oui, à qui il revient (l’ utilisateur ? le modèle ? un collectif d’ artistes?). La question n’ est pas simple car il ne s’agit pas d’ un simple plagiat mais bien d’ une oeuvre originale.

Attention aussi que la plupart des déclarations que vous lirez à ce sujet se basent sur la situation aux Etats-Unis mais la situation dans nos pays peut tout à fait évoluer dans une autre direction…

En pratique, vous ne risquez pas grand’ chose si vous utilisez des images générées dans un cadre privé ou si vous vous limitez à les publier sur les réseaux sociaux. Une utilisation professionnelle ponctuelle (par exemple un logo) ne devrait pas non plus vous exposer à des problèmes significatifs.

Pas contre, je déconseillerais de lancer une activité professionelle dans laquelle la production d’ images de synthèse joue un rôle central tant que ces questions juridiques n’ ont pas été tranchées. Ou à tout le moins, prenez alors au préalable conseil auprès d’ un juriste spécialisé en droits d’auteur.

Une dernière remarque : tout comme les modèles générateurs de texte, ces modèles d’ images ont été « bridés » pour ne pas générer d’ images haineuses, violentes, pornographiques ou mettant en scène des personnages publics. Avis aux petits malins…

5. Notes et références