Finetuner des Large Language Models

Pierre-Carl Langlais, CTO et cofondateur de Pleias, est l’invité de l’épisode 61 de Data Driven 101.

Il nous plonge dans l’univers du fine-tuning, expliquant comment il adapte ses modèles pour des tâches spécifiques.

Cet épisode est un concentré d’astuces et d’expertise technique dans le domaine de l’entrainement de LLM.

   Marc 00:00:00 – 00:00:08 : Aujourd’hui, je reçois Pierre-Carl Langlais, CTO et co-founder chez Playas. Playas est une startup d’IA qui cherche à développer des modèles sur l’open data. Bonjour Pierre-Carles. 

 

Pierre-Carl 00:00:08 – 00:00:09 : Bonjour Marc. 

 

Marc 00:00:09 – 00:00:13 : Alors Pierre-Carl , est-ce que tu peux nous parler de Playas un peu plus, s’il te plaît ? 

 

Pierre-Carl 00:00:13 – 00:01:12 : Bien sûr, alors donc on a une nouvelle structure, on s’est lancé officiellement il y a seulement un mois et on veut donc entraîner, comme tu l’as déjà bien très bien résumé, des modèles sur la donnée ouverte. Alors au sens fort du terme, c’est-à-dire que c’est la donnée qui n’est pas soumise à droit d’auteur. Il y a un très gros débat aujourd’hui, tu sais, sur l’entraînement de ces modèles, sur le fait qu’ils sont entraînés sur des gros corpus d’archives web, mais aussi sous des corpus, on soupçonne même être un petit peu piratés aussi. Donc il y a quand même d’énormes débats. Et aujourd’hui, là où ça pose question, notamment, c’est dans le déploiement de l’IA générative dans les secteurs réguliers. Donc ça peut être effectivement les secteurs privés comme le bancaire, les assurances, mais aussi dans les secteurs publics, avec lesquels on bosse pas mal. Donc là, notamment dans le fameux projet Albert, on en parlera après, qui a été annoncé la semaine dernière par le Premier ministre. Donc voilà, il y a quand même des enjeux importants sur développer des IA qui soient vraiment auditables, transparentes et sur lesquelles on puisse avoir un regard sur le corpus. Et tant que les corpus ne sont pas ouverts au sens fort du terme, c’est-à-dire qu’on puisse les reproduire, les diffuser comme on ferait avec de l’open source, avec de l’open science, parce qu’il y a des licences ouvertes derrière, c’est très compliqué. 

 

Marc 00:01:13 – 00:01:17 : Ça a un gros impact, ça, de se contenter de l’open source ? 

 

Pierre-Carl 00:01:17 – 00:02:41 : Alors, c’est une question qui a toujours été soulevée, le fait que, du coup, les modèles, il y a trois années, sont des corpus, entre guillemets, plus petits. Donc, c’est un peu la question. Mais en fait, ce qu’on a réalisé quand on a commencé à s’embarquer là-dedans, c’est que, en fait, les corpus ouverts, c’est très gros. Et là, moi, j’ai la chance quand même d’avoir été un peu aux avant-postes de ça, parce que j’ai beaucoup travaillé avant. Moi, j’ai une formation de chercheur plutôt aux liens entre intelligence artificielle et magnétique numérique. Et notamment, j’ai beaucoup travaillé sur les corpus patrimoniaux. et sur les corpus en sciences ouvertes. Mais en fait, le domaine public, c’est très gros. C’est tout ce qui a été publié en livres, en journaux, jusqu’aux années 50 à peu près. C’est une masse assez énorme. Donc là, il y a un mois, on a sorti un premier morceau de ce qu’on a collecté. C’est loin d’être tout. On a déjà 500 milliards de mots. Ça commence à faire beaucoup. Et on va en avoir plus par la suite. Là où ça me semble vraiment intéressant de partir sur des corpus ouverts, c’est qu’aujourd’hui, il n’y a pas d’ouverture de science ouverte sur la partie données en IA. Il y a un peu de science ouverte sur la partie algorithme, donc on sait à peu près ce qui sont utilisés, mais il n’y a pas ça sur la donnée. Et on n’a pas du tout cette construction collective, cette réflexion qu’on peut avoir sur la donnée, comment la nettoyer, comment l’approprier, comment la transformer, parce qu’aujourd’hui, on fait beaucoup de choses en réseau synthétique aussi. Aujourd’hui, on n’a pas ce travail-là. Donc c’est vrai que d’avoir juste cette fondation-là, de se dire qu’on a des gros corpus ouverts, qu’on peut reproduire, qu’on peut diffuser, qu’on peut transformer, etc., c’est quand même un élément vraiment important, même pour faire progresser scientifiquement les modèles. Ce n’est pas juste un enjeu éthique, plus blanc que blanc, etc., mais c’est vraiment un enjeu scientifique aujourd’hui de pouvoir se dire qu’on travaille la data collectivement. 

 

Marc 00:02:43 – 00:02:50 : C’est quoi ton expérience avec l’entraînement de modèle ? Je sais que tu es CTO de Playas, mais avant ça, tu avais une vie… 

 

Pierre-Carl 00:02:50 – 00:04:01 : Avant ça, j’ai fait pas mal de choses. J’ai vraiment vu l’évolution des LLM depuis le début, depuis l’émergence du stack LLM, parce que c’est un stack élargi. Il y a les embeddings, il y a tout ça. Moi, j’ai vraiment eu l’intérêt pour ça à l’époque des word embeddings, qui remontent à loin. À l’époque, on avait une fenêtre contextuelle de 12 mots. C’était entraîné sur du Wikipédia, par contre. Il y avait un vrai engagement à l’époque sur l’open data qui s’est perdu un peu par la suite. Puis après, on avait arrivé à d’autres initiatives. J’ai vu ça grandir progressivement. J’ai un peu bossé avec les LSTM, puis avec Berthe quand Berthe est arrivée. GPT2, j’avais fait un des premiers fan-tunings en français et à l’époque, c’était assez drôle parce qu’on avait fait un canular littéraire. On avait fait des faux poèmes de Stéphane Malarmé qu’on avait fait passer pour des vrais. Mais bon, on sentait qu’il y avait un truc avec cette technologie. Ce n’était pas encore commercialement exploitable, mais il y avait quelque chose qui se nouait. Et là, c’est vrai que jusqu’à récemment, je suis tout bossé côté fine tuning, donc adaptation des modèles pour faire autre chose. Il y a quand même plein de choses à faire, donc réentraîner les modèles, les adapter, etc. Et là, du coup, j’avais un peu participé au consortium Panel LM France, qui avait voulu entraîner le premier modèle français ouvert. Donc j’avais participé à leurs travaux, j’avais fait la partie collègue de données et ainsi de suite. Et là, du coup, on s’empargue vraiment dans la grande aventure qui va être d’entraîner un modèle de A à Z. On vient d’avoir vu des ordres GPU pour ça, donc c’est tout lancé. 

 

Marc 00:04:01 – 00:04:03 : Alors c’est quoi la difficulté d’un fine tuning ? 

 

Pierre-Carl 00:04:03 – 00:06:04 : Alors, la première, c’est déjà les données qui sont grosses. Donc, c’est vrai que tout le monde pense GPU, mais avant ça, il y a déjà juste à avoir l’espace de stockage pour aller ranger tout ça, stocker, référencer, savoir exactement ce qu’on a, ce qu’on n’a pas, ce qui nous manque. Alors, une autre étape vraiment importante, c’est ce qu’on appelle la tokenisation. Donc, c’est concrètement les modèles de langue. Quand ils prennent un corpus, en fait, ils ne voient pas les mots. Et d’ailleurs, c’est assez frappant si tu t’es mis à tester, tu vois des promptes, par exemple, un peu autoréférentielles, comme par exemple, compte-moi le nombre de lettres dans un mot. Le modèle ne le saura pas. Parce qu’en fait, il ne voit pas les lettres dans les mots. Il voit des identitions numériques qui sont là à la place des mots. Donc, il faut tokeniser ce corpus-là. Il faut remplacer tous les mots par des identitions. Il y a plein d’approches qui existent, bien sûr. Il y a plein d’astuces, comme par exemple découper les nombres en morceaux, etc. Une fois qu’on a tokenisé, il faut organiser et planifier l’entraînement lui-même. Et là, à nouveau, il y a plein d’astuces qui existent. C’est très large. En fait, ce qu’on fait, c’est comme du fine-tuning. On voit des corpus, sauf que c’est la version très grande. Ça prend des jours. Et il faut envoyer ces corpus-là par morceaux. Donc, on prend des batches, on prend des morceaux de corpus, on les envoie. On part de modèles qui sont vides. Par contre, c’est la seule différence avec le fan tuning. On parle d’un modèle existant, puis on l’adapte. Là, on a un modèle qui n’est pas… Enfin, il y a des poids qui sont aléatoires. Et progressivement, le modèle va se réajuster. Mais même dans cette manière de faire, il n’y a pas d’astuce. Parce que, par exemple, un truc important qu’on a découvert dans les modèles récents, comme par exemple probablement l’AMA3 aussi, c’est ce qu’on appelle le scheduling des données. Donc, c’est-à-dire à quel moment tu envoies quelles données. Et on se rend compte qu’il vaut mieux envoyer une qualité sur la fin. Donc, il y a plein d’astuces de ce type-là. Mais c’est vrai que déjà, je dirais que le gros travail, c’est vraiment un travail de données plus qu’un travail de mathématiques au fond. Parce que finalement, quasiment tous les modèles reposent sur la même logique. C’est la même chose que BERT. Ça n’a pas changé tellement. C’est les transformers. Donc, il n’y a pas tellement d’innovation sur ce plan-là. Par contre, c’est une énorme infrastructure organisée, déployée pour gérer ces flux de données, les transvaser sur le supercalculateur qui va faire le travail. faire les calculs parallèles, parce que du coup, c’est plusieurs GPU qui vont devoir travailler en même temps, il faut qu’ils se transmettent bien les données, et typiquement, nous, on va entraîner en partie agencé, il y a des difficultés au-delà d’un certain nombre de GPU connectés. C’est vraiment une question d’infrastructure, en fait. 

 

Marc 00:06:05 – 00:06:12 : Oui, mais l’entraînement d’un GPU, c’est quand même quelque chose de beaucoup plus recherche que le développement d’applicatifs. 

 

Pierre-Carl 00:06:12 – 00:10:08 : Alors, c’est justement une des raisons pour lesquelles on est parti là-dessus, en fait, en réalité. C’est-à-dire que nous, on a beaucoup bossé sur le fan tuning, donc vraiment côté très appliqué, du coup. C’est ce qu’on a fait aussi pour le projet Albert. On a fait des modèles pour résoudre des tâches. Donc, c’était typiquement répondre aux conférences administratives, ajouter des références sur ce qu’on fait du RAG, faire du résumé de rapport. Donc, à chaque fois, c’est des tâches précises qu’on essaie de solutionner et ainsi de suite. Oui. La raison pour laquelle on est allé dessus, c’est un truc qui est en train de se réaliser de manière collective dans le petit monde du pré-training, où il n’y a pas tant de monde que ça, c’est qu’est-ce qu’on n’aurait pas intérêt à re-spécialiser le pré-entraînement ? C’est-à-dire qu’aujourd’hui, les modèles, c’est un peu pétamoulé. Tu fais tout n’importe quoi, tu mets tout n’importe quoi dedans, puis tu travailles après pour aller designer ton modèle et le refaire. Aujourd’hui, comme il y a quand même un intérêt très important pour les plus petits modèles, parce qu’on n’a pas de GPU et qu’il faut réussir à déployer ça, Il y a quand même un peu la suspicion. maintenant peut-être qu’on a peut-être intérêt à spécialiser les modèles dès l’entraînement pour qu’ils puissent mieux faire un certain nombre de choses. Surtout que maintenant qu’on a une bonne visibilité sur les use case, ce qui n’était pas le cas il y a un an quand JGPT s’est lancé, on ne savait pas tout ce qu’il y allait avoir. Et là aujourd’hui, c’est vrai qu’on a un peu un bon recul. Donc typiquement, on sait qu’en réalité, tout le monde fait du rag. Ce qui n’était pas évident, et même GPT-4, les gens n’ont pas confiance dans l’information qui sort, ils veulent pouvoir brancher ça sur des sources, donc du coup il faut des modèles qui soient bons pour faire ça. Et c’est un truc que notamment Coher a compris, lorsqu’ils ont sorti leur modèle il n’y a pas longtemps, la command R, c’est un peu un des premiers du genre qui rentre dans une logique de spécialisation, se dire « Ok, très bien, plutôt que de faire un énième modèle en vrac comme tout le monde fait, il y a quand même beaucoup de modèles qui sortent, tu ne te demandes pas pourquoi ils existent aujourd’hui. ». Si on faisait un modèle qui soit plutôt bon pour faire, c’est pourquoi on pense qu’il y a quand même un intérêt commercial derrière. Et nous, c’est à peu près l’idée qu’on veut pousser. Et l’intuition qu’on a quand même très forte pour avoir beaucoup bossé avec des gros acteurs, c’est qu’ils ne veulent pas des chatbots. Ils veulent des bons modèles pour aller faire du document processing at scale, en fait, concrètement. Donc, ils veulent faire de la bureaucratie, ils veulent faire du résumé, transformation, passer d’un format à l’autre, et puis les données non structurées, qu’on transforme en structurées, etc., etc. Donc c’est là où il y a un peu un besoin et c’est un peu là où on veut aller en fait en réalité parce qu’on pense que si on veut aller sur la spécialisation du pré-training, c’est un peu différent de la spécialisation du fine-tuning, le fine-tuning tu peux vraiment aller sur une tâche précise, dans un environnement très précis et puis c’est tout. Là tu veux quand même maintenir un signe de flexibilité, donc t’as intérêt à être à un niveau un peu élevé comme l’Eurag en général ou comme nous. ce qu’on veut plutôt faire qui est plutôt la question de comment tu traites des formats documentaires, corriger l’OCR par exemple qui est une de nos grandes préoccupations. tu veux pouvoir travailler ces choses-là de manière à la fois plus spécialisée, mais quand même relativement flexible. Donc nous, c’est un peu l’intuition qu’on a, qui est un peu un point de bascule aujourd’hui, avec ce problématique qu’on a ces modèles géants qui savent tout faire, mais du coup, on a d’une part du mal à les déployer, et puis d’autre part, je pense que c’est aussi un peu presque décourageant pour son utilisateur par derrière, parce que du coup, tu te retrouves avec des choses qui sont potentiellement capables de faire un peu tout, mais de là à pouvoir les amener vers là où tu veux, il y a toujours un travail de réadaptation, et c’est vrai que c’est un peu problématique. D’autre côté, je pense qu’il y a un peu un vrai niche intéressant qui se cache du côté de faire des modèles pour faire des choses. Il y a une dimension de recherche qui est évidente parce qu’évidemment, il faut repenser tout ce que je viens de te dire avant, c’est-à-dire la tokenisation. Elle doit être repensée par rapport à tous les formats que tu veux mettre dedans. La sélection des données doit être repensée par rapport à ce que tu veux mettre dedans. Et nous, on veut beaucoup entraîner sur PDF. C’est un truc qui n’est pas fait aujourd’hui. Tout le monde entraîne sur Command-Crawl. C’est des masses énormes de HTML partout. Mais la réalité de ce qu’on voit dans les grandes entreprises, dans les grandes administrations, c’est que tout le monde travaille sur des documents en PDF. Et que du coup, ce n’est pas le même format. Et surtout, il y a des problématiques d’artefacts et de numérisation, je pense notamment aux erreurs d’OCR, qui ne se retrouvent pas dans les corpus qu’on traite habituellement. Donc, tu n’as pas des modèles qui sont vraiment très résilients par rapport à ça. Ils ne connaissent pas ces formats-là, donc il faut les entraîner, c’est sans fin, il faut les adapter, il faut faire des fine-tuning sans fin. Et c’est vrai que du coup l’intuition d’aller paradoxalement refaire la spécialisation sur le pré-training c’est aussi une manière de se libérer après une certaine tête de tâche. en fine tuning parce qu’on aura des modèles qui vont typiquement connaître bien les formats administratifs français, européens parce qu’on va récupérer plein de corpus qui correspondent à ça et qui va donc créer une sorte de familiarité. 

 

Marc 00:10:09 – 00:10:19 : Ok. Donc, sur le fine-tuning dont on parle ici, c’est prendre le format du PDF, la position de chaque mot tel qu’elle est encodée dans le format PDF lui-même et donner ça en input à un LLM ? 

 

Pierre-Carl 00:10:19 – 00:11:06 : Alors, en fait, non. En fait, ce n’est pas aussi élaboré que ça. L’idée, c’est déjà de travailler juste à partir des formats qui existent aujourd’hui. Donc, déjà, juste le format texte brut que sort un PDF, tu vois. Mais donc, du coup, avec ces problématiques, parce que c’est déjà ce qu’il y a aujourd’hui. Aujourd’hui, on travaille en RAC, on travaille directement à partir de ce que nous sort un PDF tout texte ou un truc de genre. Nous, là, on travaille beaucoup avec des modèles aussi de l’autocognition qui nous permettent d’améliorer parce qu’un truc qui est très important quand on veut faire du bon rack, typiquement, c’est que le modèle sache c’est quoi le titre, c’est quoi le sous-titre, c’est quoi la structure de ce document, c’est quoi les bullet points, c’est quoi tout ça. S’il n’a pas cette information-là, il n’aura pas à faire de reasoning avec, en fait. Donc, il y a déjà un peu un premier point là-dessus. Donc là, on peut travailler sur deux points. On peut travailler, d’une part, sur mieux parfait ces documents PDF. Donc là, c’est un premier travail que nous, on fait déjà au quotidien sur plein de choses. On bosse avec l’INRIA, notamment, pour améliorer les modèles de l’autocognition. 

 

Marc 00:11:07 – 00:11:08 : l’autre 

 

Pierre-Carl 00:11:08 – 00:12:17 : côté c’est avoir des modèles mieux entraînés y compris sur des corpus paradoxalement pas nets mais qui du coup vont développer une forme de résilience par rapport à ça de comprendre que ok très bien même si c’est une sortie PDF tout texte qui est pas net parce que des fois c’est tout ce qu’on a des fois on a même pas les PDF originaux. tu vois faut travailler quand même avec nous. ces problématiques qu’on a notamment aussi pour l’entraînement d’entraîner sur des corpus en domaine public c’est que tels qu’ils existent aujourd’hui en fait la numérisation n’est pas toujours terrible et en même temps c’est des corpus qui ont une haute valeur pour l’entraînement. ouais Donc développer des outils aussi, et là tirer aussi partie quand même de la capacité d’un élève à comprendre en fait et à déduire typiquement, même lorsqu’il voit un texte un peu en vrac, il y a une capacité en fait à reconstituer la structure éditoriale du texte, à comprendre que ok très bien parce que les mots sont organisés de telle manière qu’il y a un souligne là, c’est probablement un titre, parce que t’as telle erreur qui s’est glissée dans le mot, c’est probablement à corriger, il faut la mettre. Donc, il y a une certaine résilience là-dessus qui est quand même vraiment intéressante et qui permet du tout de jouer un petit peu sur les deux niveaux, je pense. Il faut améliorer le traitement en amont de ces documents qu’il y a, et puis de l’autre côté, il faut pouvoir se rattraper et avoir des modèles qui seraient capables justement de comprendre que, bah oui, c’est tel format et qu’on s’oriente vers telle structure et qu’il faut arrêter de telle manière, laisser montiser comme ça, et ainsi de 

 

Marc 00:12:17 – 00:12:42 : suite. Je pose une question très intéressée sur la question des OCR. J’ai l’impression qu’il y a un gouffre énorme entre les meilleurs modèles open source, les Tesseract, les OCR et compagnie, et ce que peuvent faire de façon toute intégrée, qui fait probablement appel à plusieurs modèles sous le capot, toutes les API d’Amazon Textract, Azure et compagnie. Comment on fait avec de l’open source pour avoir les meilleures perfs possibles sur de l’OCR ? 

 

Pierre-Carl 00:12:42 – 00:16:03 : Alors, là, déjà, un point important, une annonce qu’on a sortie, du coup, ce vendredi, en fait, c’est qu’on a sorti, en fait, le premier modèle pour aller faire de la correction OCR. Donc, on l’a sorti là. Parce qu’on bosse énormément sur le sujet, comme on est très motivés, comme on a du corpus mal OCRisé. Franchement, ça marche pas mal. Alors, évidemment, on n’est pas encore au point où on aurait les gains de les garanties de confiance qu’on pourrait avoir pour déployer ça dans les infrastructures, est-ce que tu veux avoir des besoins quand même, ça te ferait quand même que la correction soit bonne. En tout cas, pour nous, ce qu’on veut faire par derrière pour l’entraînement, c’est déjà largement suffisant. On a sorti un gros corpus, on a sorti un milliard de mots sur l’Inface, corrigés du coup, donc tout le monde peut vérifier. Et franchement, ça marche très bien. Et ça, je pense que c’est déjà une brique essentielle pour aller dans la direction que tu veux. Donc moi, je pense qu’il y a un peu deux enjeux. Il y a d’abord un problème, c’est que les modèles Open Source qui existent aujourd’hui, ils ont un problème de données. C’est-à-dire qu’ils sont tous entraînés à peu près sur les mêmes sets. Ils ne sont pas forcément super bons. Alors, ils ont des bons outils maintenant, notamment Tesseract. Lorsqu’ils ont fait le saut du Deep Learning, maintenant, il y a quelques années, j’ai vu les gains énormes de qualité. C’est devenu quand même utilisable pour un certain nombre de choses, notamment si tu t’intéresses juste à la partie recherche pure, plein texte, tu commences vraiment à avoir des trucs exploitables. Maintenant, le gros souci, c’est que Tesseract n’a pas vu la même diversité de documents qu’Amazon ou Google ont vu. Parce que ce n’est pas un projet applicatif, c’est un petit projet open source. Et aujourd’hui, je pense qu’on a vraiment un déficit là-dessus. Donc nous, c’est là où je pense que ça se branche aussi un petit peu avec l’opportunité que déclenche quand même le pré-training de ce qu’on essaie de faire en ce moment, de collecter des gros corpus ouverts. Là, on a lancé une grosse collègue de tout ce qui existe en open data au niveau européen. Donc on a des millions et des millions de PDF. Et ça, c’est typiquement le genre d’outil qu’on va pouvoir mettre à la fois dans l’entraînement de l’ALM, mais aussi, pourquoi pas, sur la partie entraînement de… modèle de l’autocognition modèle de OCR et ainsi de suite. parce que ce qui manque aujourd’hui je dirais que c’est un peu cette vision panoptique de c’est quoi tous les formats existants et aujourd’hui on est quand même très souvent amené en plus c’est des modèles quand même très je dirais entraînés sur des formats plutôt américains qui ne sont pas forcément ceux qu’on a en Europe par derrière alors qu’Amazon et Google vont avoir une certaine souplesse qu’il n’y a pas. donc je pense qu’il y a effectivement d’une part avoir des modèles mieux entraînés sur des corpus plus divers ce qu’on essaye de faire et c’est là où je pense qu’il va y avoir un peu des bénéfices presque cachés finalement de cette logique d’entraînement à grande échelle des modèles de langue. parce qu’on est obligé et c’est aussi un peu ce qu’on réalise dans l’exécution qu’on a avec les acteurs de l’open data c’est qu’on est obligé quelque part de passer à la vitesse supérieure en termes de ok. à un moment donné il faut tout collecter alors tout est dispersé jusqu’à aujourd’hui. tu vois t’as des initiatives énormes c’est des énormes corpus mais qui sont un peu cachés. ils sont pas très visibles À un moment donné, il faut les réunir. Du coup, c’est intéressant pour plusieurs choses. C’est intéressant pour développer de meilleurs outils de traitement. Et c’est aussi intéressant pour la recherche plaintex, qui n’existe pas sur ces documents-là. Et puis même pour aller plus loin, vers la recherche vectorielle aussi, parce que c’est aussi un aspect du rack qui est assez important. Donc ça, c’est un peu une première chose. Et puis d’autre part, ce qu’on essaie de faire avec la post-correction OCR, je pense qu’il y a une brique qui doit venir, qui existe déjà dans le modèle OCR en réalité. Tu as toujours en fait un truc où tu as le modèle à un moment donné pour corriger une partie des erreurs. il va réconcilier le texte avec des séries de probabilités de mots. Et c’est comme ça que, paradoxalement, si tu tapes Internet sur Gallica, par exemple, qui est une vieille bibliothèque numérique du 19e siècle, tu n’auras pas d’occurrence. Parce que le modèle est surcorrigé sur du vocabulaire contemporain. Donc ce qu’on essaie de faire avec l’LLM aujourd’hui en post-correction, c’est de la correction, mais contextuelle. Ça, c’est la force de l’LLM, tu vois, parce que t’es pas juste des mots en vrac, mais c’est vraiment à partir de tel que c’est écrit dans le texte lui-même qu’il va essayer de déduire concrètement, OK, c’est forcément ce sens du mot-là, c’est pas autre chose. Et c’est vrai que sur la correction historicisée, je te dirais, de ce document-là ancien, ça marche quand même étonnamment bien. 

 

Marc 00:16:03 – 00:16:36 : Oui, je comprends. Sur le fine tuning de LLM, un autre truc qui revient beaucoup, c’est qu’on ne sera jamais capable d’avoir un corpus de la taille qui approche, même à quelques ordres de grandeur près, la taille du corpus sur lequel le modèle a été préentraîné. Et donc, quelque part, quand il s’agit d’essayer de rajouter de la connaissance dans le modèle, d’impacter le prior du modèle, on finit par obtenir quelque chose, c’est des propos plutôt rapportés, moi je n’ai jamais essayé, mais plutôt quelque chose qui génère pas mal d’hallucinations. 

 

Pierre-Carl 00:16:37 – 00:16:38 : Oui, absolument. 

 

Marc 00:16:38 – 00:16:39 : Tu confirmes ? 

 

Pierre-Carl 00:16:39 – 00:21:07 : Je confirme plutôt. En fait, il y a eu tout un débat qui me frustre beaucoup, c’est « fan-tuning ou RAG ? ». Les gens en posent les deux en disant « il y a fan-tuning et RAG, le RAG fonctionne mieux ». Je pense qu’il y a une grosse mise en compréhension sur ce que c’est que le fine-tuning. Effectivement, tu as parfaitement raison. Le fine-tuning, comme idée de départ à chaque fois, c’est que tu fine-tunes sur peu de données. Et c’est pour ça que c’est une opération qui n’est pas coûteuse. Parce que quand tu fine-tunes aujourd’hui, la notion qu’on a de fine-tuning est assez spécifique. Le principe de base à chaque fois, c’est que tu gèles l’essentiel des poids du modèle, ce qu’on appelle du LoRa. Donc tu vas juste modifier une petite partie du modèle ici. qui fait sens, parce que du coup, tu me parages juste un tout petit peu de données par rapport à tout ce qui est entraîné, donc ça n’a aucun sens de tout réajuster, tu parages juste 8 ans. Donc ça, c’est un peu une première chose. Mais c’est vrai que l’idée de mettre les informations directement dedans, alors c’est vrai, il y a les mémorisations, et ça, ça a été prouvé à plusieurs reprises, notamment Jérémy Howard, typiquement qui est un peu la personne qui a pu s’inventer le funtuning aujourd’hui, il a pas mal publié sur le sujet, et puis ils ont fait des tests, et nous on a fait aussi des tests. du coup à la DINUM aussi, on s’est rendu compte que bah oui, il y a des informations qu’il avait vraiment mémorisées à force, notamment si elles sont un petit peu répétées dans le corpus, il les retrouve. Donc ça, ça existe. Le problème, c’est qu’il n’est pas fiable, effectivement. Donc ça, je ne sais jamais du 100%. Je dirais que c’est un peu du nice to have, parce que du coup, tu sais que le modèle, en plus de ce qu’il peut récupérer comme référence, il peut récupérer ça. Là où le fine tuning est vraiment intéressant, et c’est là où on a bossé le plus sur le projet Albert avec ça, c’est sur des tâches, concrètement. C’est lorsque tu lui demandes de faire des choses. Typiquement, le rack, c’est une tâche, en réalité. Bien synétiser des références, c’est une tâche. Bien répondre dans un conversationnel, c’est aussi une tâche. Bien résumer un texte, c’est une tâche. Traduire, c’est une tâche. Et ainsi de suite, et ainsi de suite, et ainsi de suite. Corriger l’OCR, c’est une tâche aussi, d’ailleurs. Donc, typiquement, c’est aussi quelque chose qu’on peut faire en fine-tuning. Donc, l’intérêt du fine-tuning, c’est quoi ? C’est prendre un modèle qui, en fait, n’est pas très gros. Donc typiquement, c’est une milliard paramètres aujourd’hui. Donc là, je dirais que deux références aujourd’hui, c’est un peu Mistral et Lama 3 aujourd’hui, qu’on utilise au quotidien. Tu prends ce modèle-là, tu sais qu’il ne va pas être forcément aussi bon que GPT-4 en général, ce n’est pas possible de toute façon. Mais par contre, si tu le spécialises en amont, il a quand même une capacité finalement à s’adapter parce qu’il est quand même assez bon de manière générale. Tu peux le pousser quand même assez loin dans cette logique-là. Donc nous, c’est ce qu’on a fait sur le projet Albert. On a créé un bon modèle pour citer ses sources. Donc concrètement, ça veut dire quoi ? Ça veut dire que non seulement il va mettre des références par les sources qu’on lui a envoyées en RAG, mais il va carrément citer in extenso des passages du texte. Ça, c’est très important pour l’explicabilité, notamment dans le monde de la structure du public. Si tu ne veux pas déployer l’IA, si tu ne commences pas à poser la question de « Ok, c’est quoi la fiabilité ? » Moi, ce modèle, en fait, il m’a été beaucoup inspiré par un autre domaine d’expérience qui est Wikipédia, parce que je suis administrateur de la communauté depuis des années, et on a exactement la même problématique. Parce que ces articles Wikipédia, je ne vais pas les citer, ils ne sont pas d’auteurs. C’est plein de gens qui contribuent, etc. Du coup, ce qui est fiable sur Wikipédia, c’est ce qui est vérifiable. C’est pouvoir tracer les références chaque fois pour revenir aux sources d’origine. Donc on a voulu faire la même chose, du coup, ce modèle qu’on a développé pour Albert, c’était cette idée de créer un modèle qui soit vérifiable parce qu’il va produire ses références, donc il va citer précisément les sources, il va carrément mettre des citations précises de c’est quoi cette information qu’il a trouvée? à chaque fois, chaque fois qu’il avance, il va essayer de mettre ça par derrière. Donc ça en soi, c’est une tâche en réalité. Tu peux amener le modèle assez loin grâce à cette capacité à le réentraîner sur des tâches un peu abstraites. L’idée, quand on envoie le corpus, ce n’est pas qu’il mémorise le corpus. En corpus, on n’a pas grand-chose à faire. C’est ce qu’il mémorise, c’est l’exemple. Étant donné la question, étant donné les références qu’on t’envoie, sors-nous un texte avec des références bien listées, etc. L’autre chose qui est vraiment intéressante avec le fin-tuning, et je pense que c’est particulièrement pertinent pour nous qui sommes en France, c’est l’adaptation à la langue. Parce qu’on sait aujourd’hui que les modèles sont plutôt bons pour parler le français, mais ils n’ont pas été entraînés sur beaucoup de français. L’AMA3, typiquement, je crois que c’est 95% anglais, en fait, typiquement. Donc ça va pour parler une langue correcte, ça ne va pas pour avoir toute la diversité d’expressions que tu peux avoir sur du français, et ainsi de suite. Et typiquement, un test assez rigolo que j’ai fait, que j’utilise souvent pour démontrer à quel point le fine tuning changeait radicalement le fonctionnement du modèle, c’est un modèle que j’ai créé il y a quelques mois qui s’appelle Modad GPT, et qui est entraîné sur du français ancien et de l’anglais ancien du XVe siècle, donc vraiment il y a longtemps, avec un langage archaïque, mais aussi, et c’est là où ça m’a surpris, il y a aussi même des connaissances archaïques, tu lui manques, mais il y a peut-être dans ce système-là, il va en citer cinq. Donc il y a vraiment un réajustement qui s’est fait. Et ça, je pense que c’est une puissance de fine tuning qui n’est pas assez identifiée, alors que je pense qu’une bonne partie des frictions liées à l’IA générative sont liées aussi à ça. C’est-à-dire que lorsque tu envoies juste un chat GPT en vrac sur des données, il y a toujours un moment où tu as les chats GPT, les trucs un peu bizarres qui formulent, etc. Ce n’est pas forcément le format que tu voudrais. Et le format, en fait, c’est très important. 

 

Marc 00:21:09 – 00:21:22 : Sur le RAG, j’essaie de comprendre un peu le projet de fine tuning dont tu parles. C’est que tu vas générer du contenu de RAG avec un chat GPT-4 normal, etc. Et ça, ça va devenir ta donnée d’entraînement. 

 

Pierre-Carl 00:21:22 – 00:22:12 : Exactement. Alors, on travaille beaucoup avec de la donnée synthétique. Donc là, actuellement, il y a toute une problématique sur les conditions d’utilisation aujourd’hui de ces données. Donc là, typiquement, aujourd’hui, on bosse plutôt sur du mixtral, parce que mixtral, c’est quasiment le seul acteur aujourd’hui qui permet de faire de la réutilisation sans trop de difficultés. Pourquoi ? Pourquoi ? Parce qu’en fait, le truc, c’est très controversé, ces contradictions d’utilisation, mais c’est OpenAI, normalement, qui dit que tu ne peux pas réutiliser les outputs de chaque GPT pour entraîner les modèles. C’est extrêmement controversé, parce qu’aujourd’hui, même le bureau du copyright américain, ils vont te dire que des textes générés par IA sans intervention humaine, c’est du domaine public. Il n’y a pas d’auteur. C’est encore plus vrai en Europe, où on a une législation purement personnaliste. droit d’auteur, tu vois, donc normalement, tu n’es pas censé avoir d’auteur. Donc il y a beaucoup de gens aujourd’hui en Irak qui ignorent purement et simplement ces restrictions, et LingFest les ignore superbement, tu vois, ils passent leur temps sur des modèles entraînés sur GPT-4, ils n’en ont rien à foutre, ils ont probablement raison. 

 

Marc 00:22:12 – 00:22:19 : Oui, d’ailleurs, il y a un modèle sur LM6, il y a un modèle Lama 7B, enfin Lama Mistral 7B fine-tuné sur des… 

 

Pierre-Carl 00:22:20 – 00:24:59 : quasiment tout le monde fait ça aujourd’hui en fine tuning. parce qu’aujourd’hui le problème c’est que dans la communauté open source du fine tuning t’as des gens qui sont bons en code mais t’as quand même peu de gens qui sont bons en données. donc tout le monde utilise le dataset pour créer le GPT-4 et ça je pense que ça devient un souci parce que comme les petits modèles deviennent vraiment bons et je trouve qu’on a vraiment franchi une limite avec le dernier Lama du coup qui devient vraiment bon aujourd’hui ça devient un peu la limite qui est que tout le monde est en train de faire une GPT-4. mais je pense que pour certaines tâches et c’est notamment ce que j’ai fini par réaliser sur l’OCR quand on a sorti la chose la semaine dernière on peut faire mieux. hum On peut commencer à aspirer à faire mieux si on travaille bien la donnée. Alors après, malgré tout, le synthétique, ça reste quand même vraiment utile. Et ça, je pense que c’est notamment particulièrement utile. Et là, je pense aussi à l’IA générative un peu à l’ancienne, finalement. Parce qu’aujourd’hui, on a quand même toutes ces problématiques de déploiement. Tu sais, même un AMA 8B, il faut quand même un A100 pour déployer ça correctement. Ou alors des inversions quantisées qui ne vont pas être très bonnes. mais à côté de ça t’as quand même toujours ces modèles qui fonctionnent bien pour l’étage de classification tous les BERT et compagnie. je pense qu’ils vont connaître un comeback maintenant parce que le gros problème jusqu’à présent qu’on avait c’était les campus d’entraînement et les faire à la main c’est super long c’est super cher. par contre distiller des corpus créés par des modèles puissants par des modèles petits que tu vas pouvoir déployer sans GPU pour des tâches assez précises et bon typiquement la classification c’est un peu l’exemple de ma éthique et franchement il y a plein de trucs qu’aujourd’hui je vois des modèles où ils ont déployé des LLM et je me dis mais franchement tu pourras faire un BERT aussi bien et ça a vraiment intérêt. je trouve aujourd’hui si tu penses vraiment à la logique de déploiement efficace à penser qu’il y a quasiment une forme d’orchestration de modèles finalement en disant c’est quoi le modèle le plus petit possible pour réaliser ma tâche ? Et aujourd’hui, je pense qu’il y a vraiment un potentiel vraiment intéressant à surveiller aussi sur les modèles, ce qu’on appelle les small language models. Alors, définition controversée, on ne sait pas, on les arrête, mais généralement, je te dirais, c’est moins de 4 milliards de paramètres parce qu’en dessous de 4 milliards, tu peux déployer ça sur un consumer GPU, donc sur une carte graphique. Il coûte quand même de l’argent, mais ce n’est pas un rassant. Aujourd’hui, il y a plein de modèles qui sortent, il n’y en a pas qui sont bons sur les langues européennes. Tu veux avoir soit Phi, qui est uniquement bon en anglais, soit les modèles chinois, comme Kuan, qui sont bons en chinois. Et en même temps, ces modèles, ils ont une vraie capacité à raisonner, et tu peux quand même les emmener assez loin si tu les fine-tunes. Et je pense que ça va être un peu, à mon avis, une des grosses dynamiques. Ça, plus, à mon avis, le comeback carrément de maintenant, qui était l’élève originaux. C’était quasiment inventé pour Berthe, cette notion. Mais aujourd’hui, ce genre de paramètres, c’est pas ridicule. Mais cette catégorie de modèles, je pense qu’elle va revenir aussi. Parce qu’on a la donnée pour l’entraîner, pour la pousser très loin. Et on a quand même des problématiques d’infrastructure. On voit bien que tout le monde fait des pocs en ce moment sur l’IA générative. T’as peu de déploiements à l’infra, et pour des raisons de coût, on va avoir besoin, finalement, de pousser ces modèles. 

 

Marc 00:25:00 – 00:25:05 : Oui. Tu parlais de… Ça devient de plus en plus possible avec des datasets raisonnables. C’est quoi la taille d’un dataset pour faire du fine-tuning ? 

 

Pierre-Carl 00:25:05 – 00:26:27 : Alors, ce n’est pas énorme pour du fine-tuning parce qu’à nouveau, si tu vas sur la logique de tâche et pas la logique de mémorisation, tu n’as pas besoin de beaucoup parce qu’il faut surtout qu’ils donnent des exemples quasiment un peu abstraits, en fait. C’est quoi ce que tu veux amener ? Moi, généralement, je vais entre 1 000 et 4 000 exemples d’instructions. Donc, ça ne paraît pas énorme, du coup. Par contre, ce qui est vraiment important, c’est la qualité. C’est-à-dire être sûr qu’à chaque fois, tes exemples correspondent à peu près à ce que tu veux. Donc, typiquement, si tu fais générer tes exemples par GPT-4 ou autre, ça vaut vraiment le coup d’ajouter une facile intercuration par derrière. Donc ça, tu peux toujours trouver des astuces formelles. Typiquement, pour l’entraînement du modèle pour Albert, on avait fait des présélections sur le nombre de références qu’il va mettre, la taille des citations qu’on ne veut pas trop longue de préférence, sinon il commence un peu à halluciner. Donc tu peux jouer un petit peu là-dessus, c’est une forme de sélection formelle, ou tu peux utiliser des approches comme LLM as a judge, typiquement où tu montres un montré LLM après le jugé par derrière, et là c’est assez pratique pour des questions un peu compliquées, comme par exemple est-ce que la réponse est pertinente, est-ce qu’elle est bien écrite, et ainsi de suite. Donc tu as vraiment intérêt à faire cette phase de sélection, et il vaut mieux moins de données, mais de qualité assez impeccable, que beaucoup de données en vrac pas bien structurées et tu vas pas gagner grand chose en réalité. donc je pense qu’il en faut généralement au moins 1000 quand même. généralement moi c’est l’expérience que j’ai noté même 2000 ça commence à être au-delà tu gagnes plus forcément grand chose c’est un peu des rendements descendants. tu sais tu mets plus de données mais tu vas moins en moins gagner. donc c’est pas forcément super intéressant. 

 

Marc 00:26:28 – 00:26:39 : Qu’est-ce que tu penses d’une autre approche qui consiste à utiliser, je ne sais pas si tu connais Microsoft Guidance, mais des outils qui vont plutôt contraindre l’output. Oui, très bien. 

 

Pierre-Carl 00:26:39 – 00:31:35 : Ou les trucs comme Outlines typiquement. Exactement. Ça, c’est des approches très intéressantes, je trouve. Ils ont fait énormément de progrès. Moi, j’étais un petit peu sceptique au début parce que je me suis dit que le problème, c’est que ça va sacrément ralentir le durée de génération. Parce que quand tu contrains, forcément, tu rajoutes des règles, etc. Et je trouve qu’en tout cas dans le cas d’Outline, ils ont quand même démontré qu’ils arrivaient à faire des choses assez efficaces. Maintenant, ils travaillent avec VLLM qui est la meilleure application de génération de texte. Donc ça, je pense que c’est des approches vraiment intéressantes, notamment sur la partie, je pense, qui est un peu sous-estimée, qui est vraiment LLM pour aller faire la génération de données, où là, tu as besoin de cette contrainte. Après, la contrainte, on n’a pas n’importe où. Mais c’est vrai que typiquement, pour du texte, tu as plutôt intérêt à laisser une forme de créativité. Sinon, tu vas avoir ton texte qui s’étouffe. Ça ne va pas fonctionner. Et c’est d’ailleurs, je pense, une grosse incompréhension qu’on a sur la notion d’hallucination. Tout le monde, depuis un an, n’arrête pas de répéter sur la next étape. On va enfin réussir à enlever l’hallucination. D’une part, ce n’est pas possible et ce n’est pas souhaitable. Et ça, par exemple, Carpathib l’a dit encore mieux que moi, ces modèles, leur fonction, c’est d’halluciner. Ils sont là pour aller faire des probabilités de mots et pour être un peu créatifs. Et c’est ça ce qui est intéressant. Donc, l’enjeu principal, et c’est aussi ce qu’on a voulu faire avec le modèle d’Albert, ce n’était pas de se dire, ah bah non, on veut comprendre autant que possible et quitter ce modèle, devienne trop bête. Et ça, c’est un peu le problème, je trouve, même dans l’évolution qu’on constate avec un certain nombre de… Même dans la manière dont fonctionne CGPT, je trouve que des fois il est un peu trop contraint par rapport à ce qu’il pourrait faire, et on voit à quel point il s’obsédait par la réduction des hallucinations, des fois c’est contre-productif. Donc il ne faut pas forcément l’empêcher d’exprimer des choses, par contre il faut être sûr que ces choses sont un peu grandées, et qu’on mette des maths mécaniques de vérification postérieures. Concrètement dire, ok, tu génères du texte, il y a en tout ton texte, cite-moi tes sources. Et c’est là où ça devient vraiment intéressant. Mais sinon, oui, je pense qu’effectivement, il y a plein de choses à faire dans le domaine de la génération contrainte pour, typiquement, je pense pour la classification. Par contre, ma seule réserve par rapport à ça, c’est que je pense quand même que les LEM sont aujourd’hui pas forcément le bon outil. Enfin, les LEM qui existent, donc les gros, je dirais, plus de 7 milliards de paramètres, c’est pas forcément le bon outil pour aller faire de la génération contrainte de type JSON, en fait. moi je pense que pour la question du poids je suis de plus en plus convaincu et ça notamment ce qui m’a beaucoup inspiré c’est une application qui est sortie il n’y a pas longtemps qui s’appelle Greener qui est basée sur BERT enfin une version de BERT qui s’appelle Deberta et qui fait l’identification d’entités nommées concrètement il y a des repères dans les textes. tu vois si c’est un nombre de personnes de lieux etc. mais qui fait ça de manière super fine. donc tu peux clairement lui demander identifie-moi les championnats listés dans un texte identifie-moi tout ça. c’est un tout petit modèle et je trouve que pour la génération structurée je me demande quand même dans quelle mesure quand même c’est pas de l’overkill aujourd’hui d’utiliser un très gros modèle Mais cette miarque, c’est plutôt un petit modèle à l’échelle du LLM. Alors, c’est plutôt un modèle à l’échelle du LLM, mais ça reste un gros modèle du point de vue des infras. C’est-à-dire que tu es obligé quand même d’utiliser un assent. Donc, il faut voir pourquoi tu veux l’utiliser. Moi, je trouve que là où c’est utile, par contre, si tu veux utiliser des modèles comme ça, ce n’est pas juste pour avoir des données structurées en vrac, mais si possible, et moi, c’est un sujet qui m’intéresse énormément, c’est d’intégrer du reasoning dedans. Et là, tu brouilles un peu la frontière entre ces données qualitatives ou quantitatives, et là, ça devient vraiment intéressant si tu prends des questions compliquées sur le texte. Pour donner un exemple, il y a un projet sur lequel j’ai un peu bossé, parce que j’ai beaucoup travaillé en littérature, et une question compliquée qu’on voulait demander depuis longtemps à un texte, en fiction par exemple, c’est tu prends une page de fiction, comme un roman, combien de temps se passe du point de vue de l’intérieur du récit ? Concrètement, entre le début et la fin d’une page, du point de vue de ce qui se passait entre les personnages, tu vois, combien de minutes s’écoulaient, ou est-ce que c’est des heures, parce qu’ils ont pris le train par exemple, ou est-ce que c’est des jours parce qu’ils ont fait un long voyage ? C’est une question compliquée parce que c’est jamais dit officiellement, tu vois. Souvent, c’est tacite. C’est à partir de l’action que ça se déroule. C’est une question compliquée. Et là, franchement, j’ai fait des tests en partant d’abord de GPT-CAP, puis en entraînant un modèle LAMA, etc. Et franchement, ça fonctionne bien. si tu demandes au modèle d’abord de faire une analyse de texte. Donc, tu lui dis, OK, regarde-moi concrètement un petit moment ce texte. voit les éléments marqueurs qui pourraient faire dire « Ok, il y a une durée. ». Il fait des déductions à partir de ça. Il fait vraiment du reasoning à partir de ça. Il essaie de comprendre « Ok, à temps donné qu’ils ont pris le train, je n’en sais rien, ou qu’ils ont traversé la ville, au moins quelque chose là. ». et fait une estimation à partir de ça. Ça, je trouve que c’est un truc, je suis toujours étonné qu’il n’y ait pas plus de choses dans ce domaine, parce que je trouve que c’est des choses vraiment intéressantes, notamment, je pense que c’est tout ce qui est une analyse de sentiments, tu vois. Je comprends qu’il n’y ait pas eu une révolution de l’analyse de sentiments avec les LLM depuis un an, mais je pense qu’il y a des connexions qui ne sont pas encore faites avec les champs de recherche ou autre, mais toutes ces questions un peu compliquées de text mining qu’on voulait poser depuis très longtemps, Là, je trouve qu’il y a un truc qui se passe. Si tu forces vraiment les LM à justifier leur choix, parce qu’en plus, tu crées la vérifiabilité, tu as le commentaire par derrière, et en plus, tu as des retraits de meilleure qualité. Parce qu’une fois qu’il réfléchit, c’est connu, il va commencer à faire des résultats qui sont beaucoup plus affinés. Donc ça, je pense que c’est une optique vraiment intéressante. Mais je pense que le problème, c’est qu’il y a un petit peu un décalage entre ce pourquoi utiliser les LM pour faire des structures aujourd’hui, qui sont quand même des opérations qui sont quand même relativement basiques en réalité. Donc typiquement, tu prends un texte, tu extrais les entités, tu extrais des relations, des choses comme ça. Je suis quand même intimement convaincu qu’il y aura un comeback des plus petits modèles pour faire ça, parce qu’aujourd’hui, on déploie des modèles trop gros pour cette tâche-là. Par contre, des nouveaux usages, je ne connais, on ne pense pas encore, parce que je pense qu’on manque encore un petit peu d’imagination, de se dire « Ah bah oui, finalement, c’est possible aujourd’hui ». Ça, c’est des choses, à mon avis, qui vont rester, effectivement, alors peut-être pas forcément des modèles à 7 milliards, on pourrait imaginer des modèles à 4 milliards, 3 milliards, tu vois, pour aller faire des choses comme ça, mais là, c’est vraiment intéressant. 

 

Marc 00:31:36 – 00:31:55 : Tu nous as dit au détour d’une phrase, il faut un assent ou alors on les quantise et on a des pertes de performance. Donc quantiser les modèles, c’est-à-dire mettre les poids sur des résolutions plus petites, moins d’options pour chaque poids, moins de possibilités de valeur pour chaque poids. Qu’est-ce que tu penses de ça ? 

 

Pierre-Carl 00:31:55 – 00:34:25 : C’est compliqué. En fait, c’est une question qui nous pose des questions depuis longtemps parce qu’en fait, on y avait pensé au début du projet Albert parce qu’on s’était bien pensé la question du déploiement hors GPU. C’est quand même très motivant. On avait commencé à faire des thèses qui étaient un petit peu encourageants. Puis après, on s’est quand même posé la question de, OK, très bien, maintenant, on passe au RAC. On veut quand même pouvoir ramasser la féroce. C’est la catastrophe, franchement. D’une part, le problème qu’un truc comme GGUF gère très mal les contextes, même pas long, parce qu’aujourd’hui, maintenant, les gens vont quand même facilement jusqu’à 32 000, 200 000 ou je ne sais pas quoi. Là, on parle plutôt de trucs à 2 000, à 2 000 mots au grand max. Ça met des plombes absolues. Tu n’arrives pas à gérer ça. Et effectivement, tu as les pertes de performance qui sont connues quand même dès que tu veux utiliser la stabilité. Là où ça fonctionne assez bien aujourd’hui, c’est aussi conversationnel, je dirais, parce que tu n’as pas besoin de gros contextes. t’as une certaine tolérance à l’hallucination parce que de toute façon t’es dans un univers un peu recréatif finalement. et donc c’est vrai que tous les projets comme Oulama vivent un peu de ça ou sur. je pense aussi tout ce qui est génération contrainte justement ce que tu disais juste avant. je pense qu’effectivement pour créer des données structurées des choses comme ça la génération elle est suffisamment bordée pour que tu puisses arriver à faire quelque chose. Mais c’est vrai que sur tous les usages un petit peu avancés, un petit peu experts finalement de ces choses-là, on se heurte quand même vite à des limitations fondamentales. Et c’est vrai qu’aujourd’hui, encore plus, je dirais, c’est un problème d’ailleurs qu’on réalise et qu’on dit que les modèles sont de plus en plus surentraînés, comme par exemple Llama 3, tu vois, qui est entrainée sur 15 000 milliards de tokens, tu vois, donc on est sur à peu près du niveau de GPT-4, tu vois, mais sur un petit modèle à 8B, parce que tout le monde réalise aujourd’hui qu’avec les fameuses Watch Inchia, t’as intérêt à mettre plus de données et moins de paramètres et tu gagnes quand même beaucoup. Quand les gens ont essayé de commencer à quantiser LLAMA3, ils se sont rendus compte qu’il y avait de sacrées pertes de performance plus qu’avant. Parce que comme les modèles sont quasiment saturés, ils sont presque au maximum de ce qu’ils peuvent mettre. Dès que tu commences à critiquer la résolution, tu commences à baisser. C’était moins le cas avant parce qu’ils n’étaient pas assez saturés. À l’époque de la MA2, il y avait encore beaucoup de vide dans ces modèles-là. Tu avais de la marge pour les réduire. Là, tu perds de la marge. Et c’est vrai que là, de plus en plus, moi, j’ai quand même la conviction, si on veut aller vers des modèles exploitables à grande échelle, notamment sur du contexte long, par exemple, le dernier C3 qui est sorti, là, qui est un SLM, du coup, parce qu’il a 4 milliards de paramètres, il peut gérer des fenêtres de contexte, en théorie, jusqu’à 128 000, mais après, moi, je suis toujours sceptique, parce que même au-delà de 4 000 mots, ça commence quand même à perdre un peu en vitesse. Mais enfin, quand même, il peut faire ça. Moi, je pense quand même que l’avenir pour les petits modèles va plutôt être sur l’entraînement de petits modèles directement, moins sur la quantisation a posteriori, parce qu’on se rend compte quand même que, par contre, ce que je disais juste avant, c’est-à-dire le fait que ces modèles sont de plus en plus surentraînés, de plus en plus super optimisés, tu ne peux plus vraiment les compresser sans avoir des baisses de qualité importantes. 

 

Marc 00:34:26 – 00:34:33 : Ok, alors tu nous as un peu parlé d’Albert, revenons-en un peu plus, est-ce que tu peux nous rappeler le contexte de ce projet ? 

 

Pierre-Carl 00:34:33 – 00:41:11 : Alors tout à fait, en fait c’est un projet qui a commencé il y a un an, qui a commencé par pas grand chose, c’était vraiment un tout petit pilote et moi du coup j’étais associé depuis le début et tout comme ma collègue du coup et co-fondatrice de Playas, Anastasia Tsenko, on était tous les deux en consultant sur le projet depuis ses tout débuts. et c’est un petit peu par hasard mais c’est aussi parce qu’on était un petit peu en pointe sur cette question du fan tuning. donc moi j’avais aussi créé la communauté Le Bon LLM qui est une communauté importante sur le fan tuning en France. du coup on avait été sollicité sur ça. c’était un projet vraiment exploratoire et puis qui a commencé un peu à décoller en septembre en fait lorsqu’on a commencé vraiment à rentrer sur des applications concrètes Et qu’on a commencé à réaliser qu’on avait réussi déjà la première étape qu’on s’était fixée, qui était de déployer sur GPU, cloud souverain français, un modèle qui était réentraîné. En réalité, Albert, c’est une gamme de modèles. Ce n’est pas juste un modèle. Il y a pas mal d’incompréhension sur ce qui s’était publié, officialisé par le Premier ministre la semaine dernière. C’est plusieurs modèles qu’on crée pour différentes administrations, avec différents besoins. Là, actuellement, on a une cinquantaine d’administrations qui ont sollicité. qui du coup? alors par contre c’est là où c’est un peu compliqué on a des vraies questions de scalabilité aujourd’hui donc typiquement pour aussi bien côté données de pas juste avoir retraité les corpus de chaque personne. parce que là le problème aussi c’est qu’on a épuisé les corpus faciles qui étaient en XML et maintenant il faut attaquer les corpus en PDF. donc avec toutes les problématiques qu’on disait au tout début sur il faut traiter les titres et tout ça C’est des problématiques très concrètes à chaque fois. Là, typiquement, un projet qu’on a un peu travaillé au début, c’était Service Public Plus. En fait, c’est des textes qui sont rédigés par des agents pour répondre à des questions posées par les administrateurs et qui ne sont pas compliquées. À chaque fois, ce sont des questions qui ne nécessitent pas vraiment un traitement avancé. Mais par contre, il faut que le modèle assimile bien la syntaxe et la manière de rédiger dans le service public. Ça, c’était un premier point essentiel. Ce n’était pas seulement amener un modèle à mieux parler français, mais à parler le français administratif avec ses règles, avec ses normes, à nouveau pour diminuer un petit peu la friction dans l’usage de ces textes. après pour qu’ils puissent être réécrits directement par les agents. Et puis, l’autre grand usage, c’est avec les maisons France Service. Donc, c’est tout un réseau de gens qui accueillent à nouveau des administrés et qui leur posent des questions plus ou moins compliquées. Et l’idée, c’est d’avoir des modèles qui soient capables de faire à la fois la navigation dans les sources de référence et puis la génération d’une synthèse sourcée à partir de ça. Et c’est là la question des sourcings qui était vraiment importante parce que l’idée, ce n’est pas de rajouter du travail pour les agents. Tu vas devoir vérifier systématiquement, OK, la source détaillée, c’est comme ça et ainsi de suite. mais au contraire, d’avoir des textes qui soient assortis de références, qui savent fonctionner avec. Donc ça, c’était un peu… C’est plein de petits pain points comme ça. On a un peu travaillé pour la réglée des comptes aussi, pour aider pour le résumé de rapports. Donc voilà, c’est plein de choses comme ça. Et je pense que c’est quand même un projet qui est assez utile parce qu’on pose souvent la question du fait que le liage génératif, ben ouais, c’est chité-choc, mais bon, ça sert à rien. Il y a quand même beaucoup de doutes là-dessus. Et moi, c’est vrai que ce qui m’a pas mal plu dans le projet, c’est des mentions quand même hyper concrètes. À chaque fois, c’est déjà des problématiques qu’on n’avait pas forcément résolues auparavant et qu’on arrive certainement à résoud Maintenant. à nouveau, je pense que le vrai enjeu aujourd’hui, ça va être dans quelle mesure on va réussir à passer au next step. Parce qu’aujourd’hui, Albert, c’est encore qu’une expérimentation. On n’est pas encore sur une infrastructure telle qu’on aimerait qu’elle existe. Ce n’est pas encore une API ouverte au cas de vent, ce n’est pas encore tout ça. Il faudra plus de moyens, c’est une évidence, si on veut vraiment supporter ce projet tel qu’on le vise en vision. Et je dirais qu’un des gros enjeux qu’on a là maintenant, notamment, c’est dans l’harmonisation des corpus qu’on a. Et notamment, je pense que c’est là où Albert a un peu une chance pour le mouvement Open Data, qui existe depuis dix ans, donc on a fait énormément de choses. Mais à nouveau, ces choses-là sont quand même restées très dispersées. Enfin, il y a des choses qui sont un petit peu centralisées, mais sinon, c’est beaucoup d’administrations qui publient les choses dans leurs coins et les choses ne sont pas centralisées. On voit que cette donnée, aujourd’hui, elle a de la valeur. Parce que nos LLM, ils ont besoin de sources, ils ont besoin de références, ils ont besoin de centraliser. Et là, un des gros chantiers qu’on a un peu en train d’ouvrir, c’est le traitement un peu agnostique de tous ces corpus-là en PDF, pour pouvoir les intégrer dans ce qu’on appelle un vector store. Concrètement, c’est une base sémantisée qui en soit déjà un acquis. Et c’est là où je pense que ce qui est important avec LLM, c’est que ça nous oblige un peu à réintégrer dans des administrations, dans des grandes organisations, Toutes les innovations en manière de moteur de recherche qui sont apparues ces dernières années. Des trucs qui sont apparus d’abord chez Google, typiquement, avec la recherche par vecteur, etc. Ce qui est vraiment très utile sur deux plans, notamment, c’est qu’elle fonctionne très bien en multilingue. Tu peux lui poser une question en anglais, il va te faire le meilleur résultat en français. Tu peux lui poser une question en français qui n’est pas très bien rédigée, mais c’est quand même souvent peut-être le cas, si tu veux rédiger rapidement, ou en français SMS, il va avoir une certaine résilience, ta compréhension, il va être capable de faire des choses. Donc, c’est quand même des outils qui sont vraiment très utiles. Et ça, c’est un peu ce qu’on essaie de faire aujourd’hui, du coup, de faire ce travail, de centraliser un peu ce qui existe, le traiter, et ainsi de suite. Mais bon, voilà. Donc, c’est un projet qui est quand même assez portant, même au niveau européen, parce qu’il y a eu assez peu de choses. Et je pense que c’est là où on est un petit peu aidé aussi en France par tout l’environnement presque régulatif, je dirais, d’inquiétude quand même sur le fait que, ben non, on n’allait peut-être pas tirer du GPT directement. Les questions de données personnelles, c’est un problème. Là, on travaille beaucoup avec la CNIL, typiquement. Et il y avait peut-être un besoin assez tôt qui a été formulé, plus par le public que par le privé d’ailleurs, mais je pense que le privé vient aussi, de se dire qu’il faut qu’on ait un contrôle sur la technologie. C’est-à-dire le fait que, ce n’est pas juste chez la GPT, mais en fait on est toujours vraiment à l’intime de ce que fait finalement l’État, et ce que fait une grande organisation quand même, je trouve, le fait d’avoir des technologies intelligentes, d’avoir une structure de la connaissance, c’est vraiment quand même le cœur de ce qu’on fait. Il faut qu’on ait un contrôle dessus, et le fine-tuning, ce n’est pas forcément une fin en soi, et je pense que typiquement en Asie, l’État va quand même être à l’aide de ses propres modèles à un moment donné, parce qu’on a besoin d’aller jusqu’au bout de la chaîne, de contrôler aussi comment son modèle sera entraîné, parce que c’est une vraie question. Mais déjà, juste avoir cette logique de fine-tuning, de prendre des modèles et de se dire, très bien, c’est quoi votre problème ? C’est quoi aussi ce qui ne va pas aujourd’hui ? Et d’être dans le contrôle de la progressivité de ces modèles. Parce qu’aujourd’hui, c’est CGPT qui est en contrôle, ce qu’il utilise, tu vois. Il va s’améliorer constamment, mais pas forcément dans la direction que tu veux. Alors que là, du coup… On a quand même l’avantage de pouvoir avancer dans la direction qu’on veut, qui peut être, typiquement, avoir un français mieux rédigé pour administratif, à intégrer aussi les retours des agents. Donc là, on fait pas mal aussi de choses qui s’apparentent un peu à du RLHF, où tu réintègres le feedback. Alors, ça peut être du feedback direct, de dire « non, on veut des références plus courtes ». Ça peut aussi être, et là, c’est encore plus précieux, c’est carrément des générations annotées, ce qu’on appelle les « preference maintaining », donc ils vont dire « ça, c’est bien, ça, c’est pas bien ». Là, tu peux utiliser ça directement pour l’entraînement. Donc en fait d’avoir vraiment ce contrôle, de se dire ok très bien cette technique, on l’a, et ces modèles en plus ils bougent pas, c’est-à-dire que c’est pas des modèles que tu les as déployés une fois, ils bougent quand tu veux les bouger, et tu les maîtrises vraiment. Ça je pense que c’est quand même déjà un super acquis, c’est quand même une grande force malgré toutes ces modèles open-weight, malgré toutes les critiques qu’on peut formuler sur le fait que c’est apparemment de l’open source, ce que tu veux. Je pense que c’est quand même une grande force qu’ils ont apporté à des organisations un peu précautionneuses de préserver un peu la souveraineté sur leur connaissance. Et ça, je pense que c’est un enjeu essentiel pour les grandes entreprises. Aujourd’hui, c’est posé la question de se dire que la transformation de l’IAS, c’est bien, mais dans quelle mesure on se préserve aussi ? De ne pas juste filer tout le donnage à GPT pour qu’il soit meilleur. 

 

Marc 00:41:11 – 00:41:15 : Alors, qu’est-ce que c’est les prochaines étapes chez Playas ? 

 

Pierre-Carl 00:41:15 – 00:42:26 : Il y en a plusieurs, mais le principal c’est l’entraînement de nos modèles. On a eu du temps de GPU, on a de quoi entraîner nos 2-3 premiers modèles. Aujourd’hui, tous les modèles sont des transformers depuis des mois, depuis des années. Tout ce qui est puberte, c’est la même infrastructure pour gérer ça. Et depuis quelques mois, il y a pas mal de réflexions sur des choses alternatives, notamment pour la question du contexte long. Donc le fait de mettre beaucoup, beaucoup de textes en amont, et on se rend compte, moi, c’est un peu la réalité, c’est que tu vas avoir typiquement GPT-4 ou Gemini qui va te promettre un million de mots. Tu réalises en pratique que ce sont des questions un petit peu compliquées de texte. Si tu ne fais pas juste une devise de nice tax, tu vas quand même vite plafonner au-delà de 4000 en réalité, parce que ça devient plus très fiable. Et c’est normal, parce que le mécanisme d’attention, il est fait pour ça. Il finit par plafonner, ça commence à être cher, et ainsi de suite. Donc aujourd’hui, il y a pas mal d’internatifs, notamment un qui s’appelle Mamba, qui est sorti en décembre dernier, et on connaît assez bien les auteurs et on travaille un petit peu avec eux, pour entraîner des modèles qui soient résilients à cette contexte textuel. Donc ils ont changé la manière dont ça fonctionne, il n’y a plus de mécanisme d’attention. En gros, ce que fait Mamba, c’est qu’il va sélectionner en amont, à partir du mot précédent, les mots qu’il va aller chercher dans le texte. Donc il ne va pas tout prendre. Donc ça limite drastiquement la complexité. 

 

Marc 00:42:26 – 00:42:26 : Oui. 

 

Pierre-Carl 00:42:27 – 00:43:26 : Donc nous, c’est des projets qu’on veut entraîner. Donc là, c’est un modèle qu’on veut entraîner. Et puis à côté de ça, on est vraiment en plein avancement sur différents pilotes qu’on a montés, avec l’État et puis aussi sur, notamment avec des acteurs plus de son privé aussi. Ma conviction quand même forte, c’est que le LLM, ça va quand même plutôt être une brique en réalité. et que ce qui est vraiment en enjeu par derrière la révolution que ça porte, je trouve, c’est la création de nouvelles infrastructures de connaissances, knowledge infrastructure, qui est une vieille question, qui remonte au début du web. On se posait déjà la question du web sémantique à l’époque, et on ne l’a jamais vraiment résolue aujourd’hui. Et avoir du coup des infrastructures suffisamment intelligentes pour travailler à partir de n’importe quelles données, savoir processer les documents mal haussierisés, et être capable de fonctionner de manière relativement autonome par rapport à ça, de manière résiliente, je pense que c’est un très gros enjeu, et les LLM ne suffiront pas tout seuls, enfin en tout cas pas juste un LAMA, Il faut des modèles d’embeddings, il faut probablement aussi des micro-modèles comme BERT, il faut aussi de la data en amont et de la référence, du grounding, etc. Donc c’est tout ça en fait qui va faire à peu près le sens, c’est ce qu’on essaie à peu près de construire. 

 

Marc 00:43:26 – 00:43:32 : Quel invité est-ce que tu me recommandes pour un prochain épisode de Data Driven 101 ? 

 

Pierre-Carl 00:43:32 – 00:44:00 : Alors, je ne sais pas si tu as eu l’occasion de les inviter, mais moi, je verrais bien quelqu’un dans Gameface, typiquement. Je pense que c’est vraiment quand même un peu la communauté qui porte vraiment le monde de l’open source aujourd’hui. Et ce que j’aime beaucoup aussi chez eux, c’est quand même la conviction qu’ils ont que l’IA génératif, c’est quand même beaucoup plus large que juste les grands modèles de langue qu’on manipule au quotidien. Donc, eux, ils sont vraiment très convaincus aussi de la logique de spécialisation, de revenir à des modèles aussi plus petits. Je pense que c’est vraiment une idée assez forte. Merci Pierre-Carles. Merci à toi. 

 

Marc 00:44:00 – 00:44:03 : Vous venez d’entendre Pierre-Carles Langlais, CTO et co-founder chez Playas.