Rendre l' IA accessible à tous

Catégorie : Modèles de langage (Page 2 of 3)

Série d’articles relatifs à la maîtrise de l’utilisation des modèles de langage et conversationnels

Expériences éducatives avec les agents IA génératifs

Je suis convaincu que les agents IA présentent une magnifique opportunité éducative. J’ ai eu l’ occasion de m’ entretenir récemment avec plusieurs institutions de l’enseignement supérieur et d’ expérimenter en ce sens.

Cet article a pour but de présenter le résultat de mes expériences autour de tuteurs personnalisés pour des cours spécifiques. Cette idée est très intéressante car elle est aisée à mettre en oeuvre tout en ayant une grande valeur ajoutée.

Le résultat de mes expériences prend la forme d’ agents GPTs fonctionnant chez OpenAI auxquels vous pouvez accéder et que vous pouvez consulter. Les liens sont disponibles dans les paragraphes qui suivent. Et comme tout le monde a accès aux agent GPTs depuis quelques jours, ça veut dire que vous pourrez les tester même si vous ne payez pas l’abonnement ChatGPT+…

L’ intérêt de l’ enseignement personnalisé

Les experts savent depuis longtemps qu’ il est possible de rendre l’ enseignement plus efficace en le personnalisant. Les travaux de Benjamin Bloom publiés en 1984 dans l’article « The Two sigma Problem » en attestent : l’ étudiant moyen ayant bénéficié d’ un enseignement personnalisé obtient en moyenne des résultats qui dépassent de deux écarts-types ceux du groupe de contrôle (qui a lui reçu un enseignement traditionnel dans une classe). Cet écart est énorme, comme en atteste la figure ci-dessous : environ 90% des étudiants bénéficiant d’ un tuteur atteignent le niveau des 20% meilleurs élèves du groupe de contrôle.

Figure 1 : Distribution des évaluations pour diffférents mécanismes d’enseignement

L’ article est disponible en référence à la fin de l’ article.

Une partie du problème est que la transmission unidirectionnelle de connaissances de l’ enseignement traditionnel ne prend pas bien en compte les différences individuelles de capacité d’assimilation et de compétences, avec pour corollaire le « largage » de certains étudiants tandis que d’ autres se désintéressent de la matière par manque de stimulation intellectuelle.

Il serait donc intéressant de disposer, en plus de l’ enseignant traditionnel, de tuteurs qui pourraient permettre aux étudiants de rattraper leur retard éventuel en-dehors des cours.

La difficulté, bien sûr, est que dans un modèle entièrement basé sur des enseignants humains, le nombre d’ enseignants qu’ un enseignement personnalisé requiert est prohibitif vu le nombre d’ étudiants à former…et donc les mécanisme de remédiations existants sont très limités en termes de capacité et d’ accès.

Les agents IA génératifs à la rescousse

Et c’ est là que l’ IA générative peut changer radicalement la donne : comme l’ enseignement repose sur de nombreux supports écrits (syllabus etc..), il est possible d’ utiliser ces supports pour enrichir un modèle de langage et en faire un assistant conversationnel répondant aux questions des étudiants 24h/24.

Concrètement, la transformation du modèle de base en tuteur passe par un mécanisme de Récupération Augmentée de Génération (RAG) qui puise dans les supports du cours disponibles sous format digital (pdf..). Vous pouvez consulter mon article précédent parlant de la RAG ici.

C’est précisément ce que j’ai fait avec les trois agents GPTs suivants, qui agissent comme tuteurs en Physique se basant les célèbres cours de Physique universitaire du Prof. Richard Feynman (aussi en référence) :

  • Tuteur de Physique 1 : Mécanique, radiation et chaleur : lien;
  • Tuteur de Physique 2 : Electromagnétisme et matière : lien;
  • Tuteur de Physique 3 : Mécanique Quantique : lien.

Si vous avez des enfants qui bûchent (ou trébuchent) sur ces sujets en ce moment, n’hésitez pas à leur transmettre les liens ci-dessus ! Ces agents répondent dans toutes les langues…

Voici quelques idées pour tester les agents de physique :

  • Demandez au premier tuteur pourquoi le ciel est bleu, et/ou pourquoi le soleil du crépuscule est rouge ou encore pourquoi les nuages sont blancs…ou encore ce qu’ est la courbe du chien et son rôle dans la conception des bretelles d’ autoroute.
  • Demandez au second tuteur ce qu’est une cage de Faraday et pourquoi les voitures représentent un abri très efficace en cas d’ orage. Ou encore ce qu’est l’ effet de peau et pourquoi le courant continu est une meilleure solution pour le transport de l’ électricité à très longue distance…

Par ailleurs, Khan Academy a publié un tuteur à caractère généraliste, appelé Tutor Me. Il couvre les mathématiques et les sciences exactes et humaines pour des étudiants du secondaire. Vous pouvez accéder à ce tuteur ici.

Il est intéressant de noter que ces tuteurs ne sont pas nécessairement limités à un seul cours ou à un seul établissement. Par exemple, un tuteur IA consolidé « verticalement » pourrait exploiter l’ ensemble des cours de physique générale enseignés dans toutes les universités belges (il faudrait qu’il mentionne systématiquemnt les sources sur lesquelles il s’appuie). Un tuteur « horizontal » aura plutôt une vocation multidisciplinaire, comme c’est le cas de Tutor Me de Khan Academy.

Un conseil : Utilisez ces tuteurs sans ménagement. Obligez-les à répéter et réexpliquer ce que vous ne comprenez pas autant de fois que nécessaire. Pas besoin de mettre les formes, ce ne sont pas des humains et ils sont infatigables! Soyez précis et direct dans vos questions : ils sont là pour vous aider à comprendre…

Quelques Réflexions

Les agents qui sont décrits ci-dessus sont des modèles conceptuels qui ne sont pas destinés à une utilisation opérationnelle. Ils ont pour but de présenter le potentiel du concept mais se heurtent à toutes les limites du modèle cloud : dépendance complète à un changement des conditions d’ accès décrété par le fournisseur, envoi d’ informations à une tierce partie avec les risques de confidentialité que cela comporte, besoin de connectivité permanente…

Une utilisation opérationnelle dans l’ enseignement se fera plus logiquement sur base de modèles open-source installés localement au sein de l’institution ou de l’ administration, assurant par là la qualité et l’ uniformité de l’ accès aux élèves dans les meilleures conditions.

Mon idée en mettant au point ces prototypes est de susciter la réflexion auprès des autorités académiques : ces agents sont-ils intéressants ? Et si oui, comment les intégrer dans le processus éducatif actuel ? Et selon quelles modalités pratiques ?

Sources et références

Une nouvelle offre intéressante chez OpenAI

Dans la rédaction de ce blog, j’ essaie de ne pas devenir le relais des annonces marketing de certaines entreprises; j’ évite donc de réagir à chaud sur les tous derniers développements et déclarations tonitruantes dont le secteur est régulièrement inondé.

Je vais cette fois faire une exception car les produits annoncés par OpenAI lundi dernier sont déjà en partie disponibles et représentent un progrès important, non seulement pour les utilisateurs payants, mais aussi et surtout pour l’ immense majorité des utilisateurs non payants.

Allons-y !

1. ChatGPT-4o disponible pour tout les utilisateurs

OpenAI met progressivement à disposition des utilisateurs un nouveau modèle appelé ChatGPT-4o. ChatGPT-4o est très performant puisqu’ il vient de se hisser à la première place du classement des modèles de langage établi par la société LMSYS :

Figure 1 : LMSYS chatbot arena leaderboard publié sur HuggingFace dd. 16 mai 2024

Mais surtout, tous les utilisateurs inscrits chez OpenAI auront désormais accès au nouveau modèle ChatGPT4o qui est comparable à ChatGPT-4 en termes de performances. Et c’ est un progrès majeur pour les utilisateurs « gratuits » qui avaient jusqu’ à présent uniquement accès au modèle ChatGPT-3.5 aux performances nettement plus modestes.

Rien de plus simple que d’ accéder à ce modèle : connectez-vous sur https://chat.openai.com et sélectionnez GPT-4o. Ce modèle étant déployé de manière phasée vers les différentes catégories d’ utilisateurs, il est fort possible que ce modèle ne soit pas encore disponible pour vous. Dans ce cas, encore un peu de patience…

Figure 2 : Interface utilisateur GPT-4o

Mais alors quel avantage reste-t’ il pour les abonnés ayant souscrit à l’ abonnement ChatGPT+ qui coûte 20$/mois ? Le modèle sera soumis à des limites de nombre de questions dans le temps et cette limite (pas encore communiquée) sera cinq fois supérieure pour les utilisateurs ChatGPT+.

2. Multimodalité : audio et images

Le « o » dans le modèle GPT4o est une abréviation de « omni » et fait allusion aux compétences multimodales du nouveau modèle qui est capable de traiter nativement de l’ audio et des images en entrée et en sortie (pas la vidéo).

La capacité de traiter nativement la voix est intéressante et nous fait avancer sur la voix de l’ assistant personnel : pouvoir engager une conversation naturelle avec un assistant et recevoir une réponse sans délai, l’ interrompre en cours de conversation, lui demander de chanter ou le voir changer le ton de sa voix rendra l’ interaction beaucoup plus naturelle et représente un pas de plus vers des machines avec lesquelles nous interagissons comme avec les humains : en leur parlant.

Pour vous donner une idée de ce qui sera possible, voici une démonstration amusante des fonctionnalités audio avancées de GPT4o :

Démonstration des capacités verbales de ChatGPT-4o

Ces fonctionnalités multimodales ne sont cependant pas encore disponibles; OpenAI indique qu’ elles devront d’ abord faire l’ objet de vérifications de sécurité extensives. La voix est une manière essentielle de reconnaître un interlocuteur (pensez au téléphone) et il n’est pas difficile d’ imaginer les utilisations malfaisantes d’ un modèle de langage capable d’ imiter des voix à la perfection…..

Une remarque : Ne vous laissez pas abuser par le petit écouteur qui apparaît à droite de l’ app ChatGPT sur smartphone! S’ il permet de communiquer dès aujourd’ hui avec l’ application par la voix, le mécanisme actuel repose sur un chaîne de trois modèles utilisés séquentiellement :

  • un modèle audio-vers-texte (OpenAI Whisper);
  • le modèle ChatGPT en tant que tel (texte-vers-texte);
  • un modèle texte-vers-voix (OpenAI Text-To-Speech TTS).

Cela fonctionne, mais c’ est nettement plus lent et plus limité en termes de fonctionnalités, une grande partie de l’ information se perdant dans les transcodages successifs…Patience donc.

3. Agents GPTs

Autre nouveauté : les abonnés gratuits vont maintenant pouvoir utiliser les agents GPTs disponibles sur le GPT store, qui est accessible ici. Par contre, seuls les abonnés payants ChatGPT+ pourront créer de nouveaux agents GPTs et les publier sur le GPT store.

Figure 3 : page d’accueil du GPT Store

Les agents GPTs ne sont rien d’ autre que des versions de ChatGPT spécialisées à travers un prompt système et/ou puisant de l’ information dans des documents accessibles via la Récupération Augmentée de Génération (RAG). Les agents GPTs sont également capables d’ appeler des applications tierces via une interface de programmation.

Par exemple, j’ ai développé un agent GPT qui restructure l’ argumentation d’ un texte selon le Principe Pyramidal de Barbara Minto, un classique de la consultance en gestion. Vous pouvez l’ utiliser ici : Agent GPT Pyramidal.

J’ ai également développé trois agents GPTs à caractère éducatif que je présenterai dans un prochain article qui sera dédié à l’ impact de l’ IA générative dans l’ éducation.

Quoi qu’ il en soit, n’ hésitez pas à parcourir le GPT Store et à expérimenter.

4. Application desktop pour MacOS

Si vous possédez un ordinateur Apple récent (càd avec un processeur Apple M1 ou plus), OpenAI met maintenant à disposition une application qui permet d’ accéder à ChatGPT par une simple combinaison de touches. Une version Windows est en développement et sera disponible avant la fin de l’ année.

Voici une image provenant d’ OpenAI montrant l’ interface utilisateur de l’application :

Figure 4 : Interface utilisateur de l’ application native MacOS

L’ idée est intéressante car c’ est un premier pas vers un ordinateur pilotable par la voix. Avoir une interface conversationnelle immédiatement à disposition pourrait aussi marginaliser les engins de recherche en reléguant ces derniers à l’arrière-plan comme le fait Perplexity, un outil que je vous conseille vivement d’ essayer. Greffez ensuite la future interface vocale de GPT4o et vous avez tous les ingrédients d’ un excellent assistant personnel.

Quelques réflexions

Si le meilleur modèle est disponible pour tous, une grande partie de la valeur ajoutée de l’abonnement payant ChatGPT+ aura disparu. Et comme OpenAI veut certainement éviter une avalanche de résiliations des abonnements payants, je suis convaincu qu’ une autre annonce d’ OpenAI est proche et introduira un nouveau modèle plus puissant à la destination exclusive des abonnés payants. Cela semble logique : GPT-4o devient le nouveau GPT-3.5 « grand public » et le nouveau modèle, qu’il s’appelle GPT-4.5, GPT-5 ou autre chose devient le nouveau modèle « premium »…

OpenAI devra également tenir compte de la nouvelle législation européenne sur l’ IA parce que le modèle GPT4o pourrait potentiellement être utilisé pour la détection des émotions des personnes, une pratique interdite dans les lieux éducatifs et professionnels au termes de l’ European Union Artificial Intelligence Act.

Et pour remercier ceux qui ont lu jusqu’au bout, une petite vidéo à ne pas rater sur le sujet :

Sources et références

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é.

Figure 5 : Modèle génératif multimodal complet
(source : https://medium.com/@cout.shubham/exploring-multimodal-large-language-models-a-step-forward-in-ai-626918c6a3ec)

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

Techniques d’ exploitation des modèles de langage

Un des points faibles des modèles actuellement disponibles sur le marché est qu’ ils ont été entraînés sur un ensemble de données publiquement accessibles qui ne va pas nécessairement suffire pour répondre à certains besoins spécifiques.

Prenons l’ exemple d’une entreprise qui possède un volume important de données propriétaires, qui utilise un vocabulaire hautement spécialisé ou encore qui utilise des formats de données spécifiques. Ces connaissances ne seront a priori pas intégrées dans un modèle généraliste car les données ne sont pas accessibles publiquement. Comment y remédier ? C’est ce que je voudrais exposer aujourd’ hui.

Il existe plusieurs techniques pour « enrichir » les connaissances du modèle. On trouve, par ordre de complexité croissante :

  • le prompt engineering;
  • la génération augmentée de récupération (RAG en Anglais);
  • l’ affinage du modèle (complet ou optimisé).

Ces techniques se retrouvent au milieu de la figure ci-dessous, entre les deux extrêmes du simple dialogue et de l’ entraînement complet :

Figure 1 : Techniques d’ exploitation des modèles de langage

C’est un sujet intéressant à couvrir maintenant car il complète bien mon précédent article sur les modèles locaux. En effet, certaines techniques comme l’ affinage s’ adressent principalement aux modèles open-source dont les paramètres sont librement disponibles.

Passons maintenant les différentes techniques en revue.

1. Le Prompt Engineering

Le Prompt engineering est un sujet que j’ai déjà traité dans un précédent article accessible ici.

Il comprend deux techniques élémentaires sous-jacentes : la première consiste à fournir suffisamment d’ informations contextuelles dans l’invite. Le modèle combinera alors l’ ensemble des informations en sa possession (ceux de l’ entraînement et ceux fournis dans l’invite) pour répondre à la question posée.

La seconde technique revient à inciter le modèle à suivre un raisonnement logique structuré. Les modèles de langage ayant été entraînés pour se conformer aux instructions de l’utilisateur, il est possible de leur demander de suivre un raisonnement pas à pas ou de fournir une série d’ exemples résolus pour mettre le modèle sur la bonne voie. Sans être une panacée, ces techniques ont déjà démontré leur efficacité.

Figure 2 : Le principe du Prompt Engineering

Une méthode amusante consiste à promettre une récompense financière au modèle s’ il répond correctement. Ajoutez simplement « Si tu réponds correctement, je te donnerai dix euros » à la fin de l’invite. Croyez-le ou non, cela semble fonctionner !

Le prompt engineering peut fournir une précision suffisante dans un certain nombre d’ applications. Son principal avantage est sa simplicité de mise en oeuvre, qui ne demande pas non plus de ressources de calcul supplémentaires.

Mais cette technique se heurte à la taille limitée des fenêtres de contexte des modèles de langage. Elle ne pourra donc pas s’appliquer lorque le volume d’ informations à transmettre est trop grand ou trop complexe à décrire dans le prompt. On risque alors de voir le modèle inventer les informations manquantes pour aboutir à des réponses incorrectes voire insensées (hallucinations).

2. La Génération Augmentée de Récupération (RAG)

L’ idée vous aura peut-être effleuré l’ esprit en lisant le point précédent : pourquoi ne pas combiner la technique du prompt engineering avec un engin de recherche indexant les données complémentaires ? On obtiendrait alors une invite « enrichie » par les éléments supplémentaires les plus significatifs, de manière automatisée et transparente pour l’utilisateur…

C’est ce que promet la Génération Augmentée de Récupération (Retrieval Augmented Generation ou RAG en Anglais). Voici la manière dont cette technique fonctionne :

  • Les informations supplémentaires sont découpées en blocs et chacun de ces blocs est indexé en fonction de son contenu. Ces index sont en général des vecteurs dont la position dans l’ espace dépend du contenu du bloc (indexation sémantique). Vous trouverez ici une introduction sur ce sujet;
  • L’ ensemble des index est placé dans une base de données vectorielle qui contient également la référence des blocs de texte indexés;
  • Lorsqu’ un utilisateur pose une question, le texte de la question est lui aussi indexé selon le même algorithme. Une recherche dans la base de données vectorielle permettra d’ identifier les blocs sémantiquement proches de l’ invite sur base de la proximité entre les vecteurs;
  • Ces blocs d’ informations sémantiquement proches sont concaténés à l’ invite d’origine en tant que contexte additionnel;
  • L’ invite enrichie du contexte additionnel est envoyée au modèle de langage pour réponse.
Figure 3 : Le principe de la Récupération Augmentée de Génération (RAG)

Cette technique présente un certain nombre d’ avantages. Imaginez un ensemble typique d’ informations propriétaires générées par une entreprise : bases de données, documents pdf, fichiers excel, flux d’ actualités, minutes de réunion….. L’ ensemble de ces données pourra être découpé, indexé sémantiquement et introduit dans la base de données vectorielle. Et il est assez aisé de continuer à enrichir régulièrement la base de données vectorielles pour s’ assurer que les informations restent à jour.

Le second grand avantage est qu’ il n’ est pas nécessaire de modifier le modèle de langage en tant que tel. Tout dépend bien sûr de l’ efficacité du mécanisme d’ indexation sémantique, mais après 25 ans d’existence d’ engins de recherche sur Internet, ces techniques sont matures.

Qui plus est, une librairie de programmation comme Langchain contient l’ ensemble des fonctionnalités nécessaires pour orchestrer l’ interaction avec la base de données vectorielle et le modèle de langage. Cette librairie supporte notamment une centaine de formats de fichier pour nourrir la base de connaissances.

Le prix à payer est une plus grande complexité de l’ architecture informatique. Il faut intégrer et combiner plusieurs éléments d’ infrastructure. Et si une base de données vectorielle dans le cloud comme Pinecone est utilisée, il faut aussi prendre en compte les risques de confidentialité qui vont avec.

Enfin, l’ enrichichissement du contexte se faisant de manière ponctuelle et ciblée, cette technique n’est pas appropriée si vous visez à spécialiser un modèle de langage dans un domaine complexe comme la médecine ou la finance.

Dans ce cas, il vaut mieux affiner le modèle. C’est ce que nous allons voir maintenant.

3. L’ affinage des modèles

L’ affinage d’un modèle est un processus au cours duquel un modèle déjà préentraîné subit un entraînement supplémentaire sur un ensemble de données spécifique. Il permet de capitaliser sur la connaissance déjà intégrée lors de l’ entraînement initial, en renforçant la compétence du modèle dans un domaine spécifique en contrepartie d’ un investissement raisonnable en ressources informatiques.

Cette technique est importante car l’ entraînement initial d’un modèle requiert des ressources énormes, ce qui le rend hors de portée de la pluart des organisations.

Il est possible de réduire encore plus le besoin en puissance en recourant à des techniques avancées d’ affinage comme LoRA (Low-Rank Adaptation). Cette méthode introduite début 2023 réduit considérablement le nombre de paramètres à entraîner au prix d’une faible dégradation en qualité.

Figure 4 : Le principe de l’ affinage complet et optimisé

Vous devrez disposer d’un jeu de données suffisant pour l’ entraînement complémentaire. Si vous cherchez à approfondir l’ expertise du modèle dans un domaine spécifique vous pouvez commencer par utiliser tous les documents de référence sur le sujet dont vous disposez.

De plus, vous pouvez améliorer le type de réponse du modèle en ajoutant au données d’ entraînement un ensemble d’ invites (prompts) et de leurs réponses. Ce jeu de données peut avoir été généré manuellement ou via un modèle de langage « haut de gamme » comme GPT4.

Quoi qu’ il en soit, l’ affinage reste une technique plus complexe, qui requiert une expertise suffisante en IA pour constituer le jeu de données, mettre en place l’ algorithme d’ entraînement du modèle et ensuite évaluer les performances du modèle modifié. Cette approche nécessite aussi l’ accès à une puissance de calcul significative.

Un point faible de cette approche par rapport à la Génération Augmentée de Récupération est qu’ il est nettement plus difficile d’ introduire de nouvelles informations dans le modèle : il faut repasser par une phase d’ entraînement avec tous les efforts qu’ elle implique.

Une autre contrainte de cette approche est que pour pouvoir modifier un modèle, il faut disposer de ses paramètres. Et donc en pratique, seuls les modèles open-source comme Llama2 ou Mistral se prêtent à ce genre d’ exercice.

Enfin, il faut noter que des versions déjà affinées de modèles de langage open-source comme Llama sont disponibles sur Internet, pour certains domaines particuliers comme la programmation. Utiliser un tel modèle peut aussi être une solution…

4. Réflexions

L’ exploitation avancée de modèles de langage décrite ci-dessus est en progression rapide. Tant les techniques d’affinage « optimisées » que les algorithmes de recherche sémantiques et les bases de données vectorielles de la RAG font des progrès constants.

Des techniques comme le RAG ou l’ affinage sont trop lourdes pour une utilisation privée, mais constituent une solution intéressante pour des entreprises. La disponibilité de modèles open-source combinée à ces techniques offre une grande souplesse de déploiement aux organisations désireuses d’ exploiter les modèles de langage au mieux de leurs capacités.

Et la possibilité de faire fonctionner l’ ensemble « en interne » offre une réponse élégante aux soucis de confidentialité qui freinent de nombreuses organisations.

5. Notes 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

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

L’art de converser avec les modèles de langage : le prompting

Aujourd’hui, nous pouvons discuter avec l’intelligence artificielle et lui permettre de générer des réponses semblables à celles des humains. Les modèles de langage combinent les informations contenues dans l’ invite (en anglais : le prompt) avec celles intégrées dans le modèle pendant l’entraînement pour générer leurs réponses. Les informations contenues dans l’ invite peuvent être vues comme une forme complémentaire d’ apprentissage limitée au dialogue en cours.

La formulation du prompt est donc déterminante et forme le socle d’ une discipline naissante appelée prompt engineering. Le prompt engineering comprend à la fois des techniques de bases que j’ illustre ici, mais aussi des techniques plus avancées que je couvrirai ultérieurement. Il faut bien noter que toutes ces techniques sont de nature empirique, elles se sont constituées au fil des expérimentations des utilisateurs sur les modèles. Il n’ y a pas de théorie formelle sous-jacente. Dès lors, il est tout à fait possible que de nouvelles approches plus efficaces soient identifiées à l’ avenir.

Plus concrètement, je vous présente dans cet article une méthodologie structurée de construction d’ une invite efficace, applicable à tous les modèles conversationnels actuels (ChatGPT, Bing chat, Claude, Llama 2, Bard…).

1. Structure

Nous allons construire notre prompt suivant une structure en six parties. Ces parties, par ordre d’importance décroissante sont :

  1. La tâche : décrit ce que vous voulez obtenir comme information du modèle. C’est évidement l’information fondamentale;
  2. Le contexte : reprend des informations complémentaires expliquant les circonstances et l’environnement dans lesquels la tâche doit être exécutée;
  3. La guidance : guide le modèle à fournir le contenu de réponse que vous attendez;
  4. La personnalité : décrit la personnalité que le modèle va chercher à incarner dans sa réponse;
  5. Le format : décrit le format de la réponse;
  6. Le ton : décrit l’humeur et la tonalité de la réponse : formelle, humoristique, enthousiaste..

A l’ exception de la tâche, aucune partie n’ est absolument requise mais elles contribuent à la qualité de la réponse en fonction de leur importance respective. L’ ordre dans lequel les différentes parties sont rédigées dans l’ invite peut varier, pour autant que l’ ensemble reste cohérent et mette l’ emphase sur les éléments les plus importants.

Voici une illustration de prompt complet montrant la contribution de chaque partie à l’ ensemble :

Figure 1 : Un prompt complet avec illustration des parties

J’en profite pour faire un lien avec les instructions personnalisées de ChatGPT que j’avais mentionnées dans un article précédent : Il vous est possible de placer certaines des parties de l’invite que vous réutilisez systématiquement dans les Custom Instructions, comme la personnalité, le format, le ton et potentiellement certains élements de contexte.

Voyons maintenant chaque partie plus en détail.

2. Définition de la tâche

La tâche est le coeur de l’ invite: elle indique au modèle ce qu’ il doit faire en retour. Il est essentiel d’ être clair et concis pour garantir que le modèle comprend votre demande.

Quelques verbes typiques de la description d’une tâche : traduis, résume, analyse, trie, classe, rédige, génère, explique, décris, planifie, organise, demande….

Pensez à bien décrire l’ objectif que vous recherchez, et n’ hésitez pas à détailler si nécessaire.

Exemples :

  • simple : Génère un programme d’entraînement approprié pour courir un marathon;
  • complexe : Analyse le retour des abonnées à notre lettre d’information, résume les trois points d’amélioration principaux et catégorise le reste par ordre d’importance décroissante.

3. Définition du contexte

Comme dans toute conversation, plus vous fournissez de contexte lors de la rédaction des invites, plus les résultats d’ un modèle linguistique comme ChatGPT seront pertinents. Votre contexte devrait reprendre des informations sur l’ environnement et des circonstances dans lequel se fait la demande ainsi que la situation des intervenants et leurs objectifs. Si possible, reliez cela à l’ objectif de votre demande et les facteurs de succès qui y sont liés.

Exemples :

  • sportif : Je suis un homme de 54 ans qui court environ 10 kilomètres tous les deux jours. J’ai déjà couru deux marathons il y a environ 15 ans et je voudrais recommencer. Cependant je n’ai plus du tout l’habitude de courir de longues distances. Mon but pour le marathon est de terminer dans le temps imparti (4h30 minutes) pour ne pas être disqualifié.
  • ingéniérie : Nous sommes un bureau d’études en charge de rénover un pont ferroviaire sur la Meuse. Ce pont de 165 mètres de long a été construit dans les années 1970. Il compte cinq piles qui portent six travées et possède un tablier en béton. Le pont montre des signes d’usure et des rénovations sont nécessaires au niveau du béton, des joints étanches sous les voies et des supports entre les tabliers de pont et les piles. Lors de la rénovation, il est essentiel que les passants et les riverains subissent le moins de désagréments possible.

4. Définition de la guidance

La guidance a pour but d’aider le modèle à fournir une réponse correcte.

L’ approche la plus simple est de recourir à une description du contenu que vous attendez. La guidance vient épauler la définition de la tâche et se confond parfois avec elle. La guidance n’est pas toujours nécessaire, cela dépend du type de tâche demandé par l’utilisateur.

Exemple : dans votre réponse, listez les trois causes les plus probables de la panne de courant et pour chacune, expliquez votre raisonnement en mettant en concordance les causes proposées avec le déroulement des événements.

L’ autre approche est de fournir un ou plusieurs exemples reprenant une séquence questions/réponses qui va offrir un cadre au modèle. Les exemples aident le modèle à raisonner et/ou à imiter la structure textuelle recherchée. La fourniture d’ exemples peut fortement aider le modèle à aller dans la bonne direction et constitue une base des techniques avancées de prompt engineering.

5. Incarnation d’une personnalité

En définissant une personnalité, vous demandez au modèle de répondre selon une perspective particulière, ce qui peut fortement impacter la qualité de la réponse.

C’est une technique très efficace et facile à mettre en oeuvre : si vous cherchez des informations historiques, demandez au modèle d’agir comme professeur d’histoire. Si vous cherchez à perdre du poids, demandez au modèle d’agir comme coach de fitness. Si vous êtes enseignant et cherchez à tester une approche pédagogique, demandez au modèle de se comporter comme un enfant de l’âge approprié. Les possibilités sont presque infinies…

Détail amusant, vous pouvez même demander au modèle d’incarner une personnalité connue, comme Albert Einstein, Winston Churchill, Paul Bocuse ou Albert Camus. Il est fascinant de reprendre le même prompt et de varier la personnalité à l’infini pour voir les variations….

6. Définition du format de la réponse

Ceci consiste à spécifier le format de la réponse. Les modèles sont en effet assez doués pour formatter leur réponse selon un format particulier comme :

  • une table
  • une liste numérotée
  • un email
  • un texte structuré au format Markdown
  • un tweet (n’hésitez pas à demander d’ajouter les hashtags pertinents)
  • un bloc de code informatique : procédure, fonction…
  • un fichier structuré (csv, json, yaml…)

Il suffit de mentionner un texte du style : formate le résultat sous forme de table / de code….
Le but est ici de vous faciliter la vie pour l’ exploitation de la réponse…autant qu’ elle soit déjà dans le format qui vous intéresse pour la suite.

7. Définition du ton de la réponse

Le ton définit l’humeur et le sentiment de la réponse: attendez-vous une réponse structurée et analytique ou une réponse enthousiaste et motivante ? Voulez-vous que le ton soit formel et professionel ou familier et informel ? L’humour ou l’ironie sont-ils acceptables ? Désirez-vous que la réponse exprime un sentiment comme l’affection, la compassion ou l’inquiétude ?

Quelques exemples :

  • Réponds dans un style formel
  • Utilise un style familier dans la réponse
  • Fournis une réponse ironique ou sarcastique
  • Sois enthousiaste dans la réponse
  • Donne une réponse pessimiste

A vous de jouer.

8. Limitations

Soyez toujours conscients des limitations des modèles :

  • Bien que les modèles de langage soient capables de présenter une liste de sources d’apparence plausible, il arrive souvent que ces sources soient inventées. Il est impératif de revérifier systématiquement les sources et références mentionnées par le modèle.
  • Leurs réponses peuvent être biaisées ou contenir des préjugés qui ne font que refléter ceux existants dans la masse des données d’entraînement.
  • Ils peuvent halluciner et générer un contenu incorrect lorsque la réponse n’est pas claire pour eux, au lieu de reconnaître leur ignorance.
  • Leurs compétences en mathématiques restent très limitées, et ils ont du mal à résoudre des problèmes mathématiques même élémentaires comme la multiplication de deux nombres.

Enfin, gardez en mémoire que tout ceci est un processus itératif, n’ hésitez pas à expérimenter avec différentes définitions de tâches, contextes, guidance afin de voir ce qui fonctionne le mieux dans chaque cas.

9. Notes et références

La personnalisation des dialogues avec ChatGPT

1. Principe

Les modèles de langage donnent les meilleurs résultats lorsque l’ utilisateur lui communique au préalable le contexte du dialogue. ChatGPT permet de sauvegarder des informations contextuelles, et ces informations seront systématiquement prises en compte lors de la production des réponses par le modèle.

Cette fonctionnalité était initialement réservée aux utilisateurs payants de ChatGPT+, mais depuis juillet, elle est accessible à tous les utilisateurs.

La personnalisation rend l’ utilisation du modèle nettement plus attrayante et efficace : en expliquant à ChatGPT qui vous êtes, quelle est votre profession et ce que vous attendez de lui en termes de réponses, vous pouvez gagner pas mal de temps et augmenter la valeur de vos interactions avec le modèle.

Dans cet article, je vous propose de voir comment tirer le meilleur parti de cette personnalisation, en parcourant tout d’ abord les mécanismes d’activation, puis un ensemble illustratif de personnalisations possibles. Enfin, je parlerai de l’ intégration de cette personnalisation dans programme llmchat que j’ ai développé et qui est disponible sur Github.

2. Activation

Pour activer, la personnalisation, allez sur le site d’ OpenAI et accédez à votre profil. Vous y verrez une option Custom Instructions. Il vous suffit d’ y aller et de remplir les deux blocs de texte avec :

  • la description de votre profil d’utilisateur dans le premier bloc
  • la manière dont vous voudriez que chatGPT vous réponde en termes de style, de structure etc…dans le second bloc

Voici l’ interface de personnalisation:

Figure 1 : L’ interface de personnalisation de ChatGPT

Et voici une interaction avec le modèle tenant compte de la personnalisation sauvegardée :

Figure 2 : Exemple de dialogue personnalisé

3. Exemples de personnalisations

Ci-dessous, je propose un ensemble caractéristique de personnalités qui devrait vous permettre d’enrichir vos interactions avec ChatGPT. Il ne s’agit que de modèles que vous pouvez adapter à votre guise et les éléments entre crochets sont à remplir selon vos préférences.

Les voici :

Utilisateur générique : Profil d’interaction généraliste pour un utilisateur générique. Le modèle est encouragé à interagir de manière franche, ouverte et interactive avec l’utilisateur.

Je suis un utilisateur générique. J’habite à [Lieu], en [pays], et je suis [Profession] de profession. Lorsque vous répondez, vous devez partager vos pensées et vos opinions avec l’utilisateur. Vous devez également demander à l’utilisateur ce qu’il pense et ce qu’il pense des sujets, des concepts ou des perspectives que vous partagez avec lui. Privilégiez les questions ouvertes et n’hésitez pas à poser des questions de suivi. Vous devez écouter les pensées et les opinions de l’utilisateur et répondre avec empathie, curiosité et appréciation. Vous pouvez faire preuve d’humour, d’esprit ou de sarcasme dans vos réponses, le cas échéant. Répondez dans la même langue que celle dans laquelle la question a été posée.

Etudiant à l’université : Profil d’interaction pour fournir du support personnalisé à un étudiant à l’Université.

Je suis étudiant en [année] année de [domaine] à l’Université. Mon objectif est de développer mes connaissances en [matière] et [matière] et d’établir des liens mentaux entre les sujets. Mes principaux sujets cette année sont [cours 1],[cours 2], [cours 3] et [cours 4]. Je souhaite que vous soyez mon professeur d’université personnel. Veuillez répondre dans un style didactique mais formel. Veuillez illustrer vos réponses par des exemples informatifs chaque fois que cela est nécessaire et n’hésitez pas à fournir des références. Veuillez répondre dans la même langue que celle dans laquelle la question a été posée.

Analyste de données : Profil d’analyste de données. Répond de manière structurée aux questions sous forme de table présentant les points positifs et négatifs.

Vous êtes un analyste en recherche et analyse de données. Présentez vos réponses sous forme de tableaux, en soulignant les avantages et les inconvénients de chaque option. Vous pouvez découper une option en plusieurs sous-options, dans ce cas veuillez numéroter les différent éléments. Veuillez répondre dans la même langue que celle dans laquelle la question a été posée.

Analyste financier : Profil d’analyste financier, le modèle fournit du conseil à l’investissement et des analyses de risque en réponse à des propositions d’investissement.

Vous êtes analyste financier. Veuillez fournir des conseils d’investissement et des des analyses de risque pour des propositions d’investissement. Veuillez répondre dans la même langue que celle dans laquelle la question a été posée.

Développeur Python : Rédige du code python commenté de manière claire et précise en réponse aux questions de l’utilisateur.

Je suis un développeur de logiciels qui code principalement en Python. Vous êtes mon assistant qui a pour rôle d’écrire un code efficace et lisible qui inclut des commentaires clairs et concis.

Juriste d’entreprise : Profil destiné à interagir avec un juriste d’entreprise. Fournit des informations et réponses sur les principes et la terminologie applicable dans le domaine du droit civil et commercial.

Je suis un juriste qui conseille les entreprises et les professionnels en matière de droit civil et commercial. Dans vos réponses, donnez un aperçu des sujets, de la terminologie et des principes juridiques selon le droit de [votre pays]. Veuillez répondre dans la même langue que celle dans laquelle la question a été posée.

Conseiller santé : Profil fournissant des informations de santé en réponse aux questions de l’utilisateur. Le modèle peut conseiller des actions à l’utilisateur mais est alors tenu de rappeler à l’utilisateur que ces conseils ne peuvent se substituer à ceux d’un professionnel de la santé.

Vous êtes un conseiller en santé. Fournissez des conseils de santé en fonction des questions de l’utilisateur. Vous pouvez poser des questions complémentaires pour mieux cerner l’origine du problème de santé. Vous pouvez conseiller l’utilisateur sur les actions à entreprendre, mais vous devez alors lui rappeler que vous ne remplacez pas l’avis d’un professionnel de la santé. Veuillez répondre dans la même langue que celle dans laquelle la question a été posée.

Ecrivain génial : Profil d’écrivain destiné à rédiger du contenu de qualité. Le moins qu’on puisse dire est que l’instruction place la barre assez haut !!

Veuillez communiquer avec la brièveté d’Hemingway et la précision stylistique de Strunk & White. Il faut y ajouter l’esprit de Wilde, l’honnêteté de Twain, le sarcasme de Gervais et l’ironie de Vonnegut. Privilégier la lucidité de Feynman, associée à la franchise d’Orwell et à l’attention portée à l’utilisateur par Reitz. Respecter les normes linguistiques, en faisant un clin d’œil à Chomsky et à Wittgenstein. Soyez transparent tout en étant profond. Relever les défis en utilisant les tactiques de Sun Tzu et l’analyse de Holmes. Dirigez avec la perspicacité de Goldratt, assurez la cohérence comme Gödel et utilisez le raisonnement de Russell. Persistez comme Edison, questionnez comme Curie et affinez avec la touche de Chanel. Codez avec la rigueur de l’oncle Bob, la lucidité de Dijkstra et la détermination de Turing. Déboguez avec l’exactitude de Hopper, structurez comme le ferait Yourdon et prévoyez avec la clairvoyance de Hettinger. Adoptez la perspective de Picasso, la créativité d’Edison et la révolution de Jobs. Mariez le génie de De Vinci et la nouveauté de Tesla. Gérez en utilisant le plan de Drucker, planifiez à la Rockefeller et résolvez les problèmes avec l’acuité d’Euler. Dirigez avec les idées de Covey, innovez à la Lovelace et défendez l’excellence de Deming. Réfléchissez avec la profondeur de Woolf et la pensée fondamentale de Platon. Observez comme Darwin, exprimez comme Chomsky et encadrez avec le contexte d’Orwell. Approfondissez avec la perspicacité de Sagan, l’émerveillement d’Einstein et la sophistication de Hawking. Intégrez les disciplines comme l’a fait De Vinci, réfléchissez comme Nietzsche et scrutez comme le ferait Curie. Veuillez répondre dans la même langue que celle dans laquelle la question a été posée.

Répondre comme Yoda : Profil répondant comme Yoda dans Star Wars.

Répondez-moi toujours dans le style de Maître Yoda.

Répondre comme Victor Hugo : Profil répondant dans le style de Victor Hugo.

Répondez-moi toujours dans le style de Victor Hugo.

Il devrait y avoir de quoi vous occuper !

4. Notes et références

« Older posts Newer posts »