{"id":715,"date":"2025-06-26T09:38:22","date_gmt":"2025-06-26T07:38:22","guid":{"rendered":"https:\/\/www.claravista.ai\/blog\/?p=715"},"modified":"2025-06-26T09:38:24","modified_gmt":"2025-06-26T07:38:24","slug":"comment-les-llms-ont-appris-a-parler","status":"publish","type":"post","link":"https:\/\/www.claravista.ai\/blog\/2025\/06\/26\/comment-les-llms-ont-appris-a-parler\/","title":{"rendered":"Comment les LLMs ont appris \u00e0 parler"},"content":{"rendered":"<div class=\"pt-1\">\n<p class=\"has-medium-font-size\"><em>Ahmed-Amine HOMMAN, PhD, Research Project Manager<\/em><\/p>\n\n\n\n<p class=\"has-text-align-left\" style=\"font-size:16px\">En quelques ann\u00e9es \u00e0 peine (depuis 2022 et la sortie de ChatGPT), les grands mod\u00e8les de langage (<em>Large Language Models<\/em>, LLMs, en anglais) sont pass\u00e9s du statut de curiosit\u00e9 technique \u00e0 celui de compagnons de discussion au quotidien. Mais que se cache-t-il derri\u00e8re ces agents capables de dialoguer avec coh\u00e9rence, humour ou pr\u00e9cision ? Comment une simple machine, \u00e0 l\u2019origine con\u00e7ue pour compl\u00e9ter du texte, en est-elle venue \u00e0 mener des conversations, raisonner \u00e9tape par \u00e9tape, ou m\u00eame interagir avec des outils ?<\/p>\n\n\n\n<p style=\"font-size:16px\">Dans notre <a href=\"https:\/\/www.claravista.ai\/blog\/2025\/04\/30\/aux-origines-de-lia-generative-comprendre-ses-modeles-et-son-essor\/\">pr\u00e9c\u00e9dent article<\/a>, nous avons pos\u00e9 les bases de l\u2019intelligence artificielle dite g\u00e9n\u00e9rative, en explorant les trois grandes familles de mod\u00e8les qui la composent : les grands mod\u00e8les de langage (<em>Large Language Models<\/em> ou LLMs), capables de produire du texte ; les diffuseurs, qui g\u00e9n\u00e8rent des images ou des vid\u00e9os ; et les encodeurs, qui transforment du texte ou des images en repr\u00e9sentations vectorielles. Nous avons \u00e9galement mis en lumi\u00e8re l\u2019architecture Transformer, pr\u00e9sent\u00e9e en 2017 dans l\u2019article fondateur <a href=\"https:\/\/proceedings.neurips.cc\/paper_files\/paper\/2017\/file\/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf\">Attention Is All You Need<\/a>, qui constitue le socle commun de ces mod\u00e8les. Cette architecture, en rempla\u00e7ant les m\u00e9canismes s\u00e9quentiels par une approche bas\u00e9e uniquement sur l\u2019attention, a permis des avanc\u00e9es majeures en termes de performance et de parall\u00e9lisation, ouvrant la voie aux d\u00e9veloppements actuels de l\u2019IA g\u00e9n\u00e9rative.<\/p>\n\n\n\n<p style=\"font-size:16px\">Dans cet article, nous allons nous concentrer sur le premier type de mod\u00e8le, les LLMs, et allons remonter \u00e0 la source. Vous d\u00e9couvrirez comment fonctionnent les LLMs, depuis leur apprentissage fondamental jusqu\u2019aux raffinements qui les transforment en v\u00e9ritables agents conversationnels.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f0f0f0f0;font-size:16px\"><strong>Port\u00e9e de cet article<\/strong> : dans cet article, nous allons adopter une d\u00e9marche de vulgarisation : l\u2019objectif est de fournir une intuition claire du fonctionnement des LLMs, sans entrer dans tous les d\u00e9tails math\u00e9matiques ou techniques. Certaines explications seront donc volontairement simplifi\u00e9es, et ne couvriront pas les nombreuses optimisations ou variantes propres \u00e0 chaque mod\u00e8le. Il ne s\u2019agit pas d\u2019un cours d\u2019algorithmique, mais d\u2019un aper\u00e7u g\u00e9n\u00e9ral fid\u00e8le \u00e0 l\u2019esprit de ces technologies, et accessible sans bagage technique avanc\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color has-large-font-size wp-elements-02c29efdf48f876bbd1cd5fb5bc377e0\" style=\"color:#040065\">Comment fonctionne un LLM<\/h2>\n\n\n\n<p style=\"font-size:16px\">Avant de parler d'agents intelligents ou de capacit\u00e9s conversationnelles, il faut revenir \u00e0 l\u2019essentiel : ce que sait faire un LLM, fondamentalement. \u00c0 la base, ces mod\u00e8les ne font qu\u2019une chose \u2013 mais ils le font remarquablement bien : compl\u00e9ter du texte.<\/p>\n\n\n\n<p style=\"font-size:16px\">Dans cette section, nous allons explorer ce m\u00e9canisme de compl\u00e9tion, voir comment il est rendu possible par la repr\u00e9sentation du langage en tokens, et comprendre comment un mod\u00e8le apprend \u00e0 pr\u00e9dire ce qui vient ensuite. C\u2019est ce socle, apparemment simple, qui permet ensuite tous les raffinements que nous verrons plus tard.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-df4ea9273584b99b9aa34a019ce70aca\" style=\"color:#277d9c\">La base : l'auto-compl\u00e9tion<\/h3>\n\n\n\n<p style=\"font-size:16px\">Au c\u0153ur du fonctionnement des LLMs r\u00e9side un m\u00e9canisme fondamental : la pr\u00e9diction du token suivant. Imaginez le token comme la plus petite brique de langage que le mod\u00e8le manipule. Il peut s'agir d'un mot complet, d'un fragment de mot, voire d'un simple caract\u00e8re (nous plongerons plus en d\u00e9tail dans cette notion cruciale un peu plus loin). Pour simplifier notre approche dans un premier temps, et pour des besoins de clart\u00e9, consid\u00e9rons que ces tokens correspondent aux mots de notre vocabulaire usuel. Sous cette hypoth\u00e8se, on peut donc voir les LLMs comme de performants outils d'auto-compl\u00e9tion, dont la t\u00e2che principale est d'anticiper le mot qui suit dans une s\u00e9quence textuelle donn\u00e9e.<\/p>\n\n\n\n<p style=\"font-size:16px\">Prenons un exemple concret : si l\u2019on fournit au mod\u00e8le le d\u00e9but de texte \u00ab Toc Toc. \u00bb, il y a fort \u00e0 parier qu\u2019il proposera \u00ab Qui \u00bb avec une tr\u00e8s forte probabilit\u00e9. En effet, cette amorce est typique d\u2019une blague bien connue, et le mod\u00e8le aura appris cette association durant son entra\u00eenement. En revanche, un mot comme \u00ab r\u00e9frig\u00e9rateur \u00bb aura une probabilit\u00e9 bien plus faible, car il n\u2019a aucun lien logique avec le contexte.<\/p>\n\n\n\n<p style=\"font-size:16px\">Pour g\u00e9n\u00e9rer du texte, il suffit de suivre cette logique :<\/p>\n\n\n\n<ul class=\"has-medium-font-size\">\n<li style=\"font-size:16px\">Le mod\u00e8le calcule les probabilit\u00e9s d\u2019occurrence de tous les mots possibles \u00e0 partir du contexte donn\u00e9.<\/li>\n\n\n\n<li style=\"font-size:16px\">Il choisit un mot selon cette distribution (g\u00e9n\u00e9ralement le plus probable, mais pas toujours).<\/li>\n\n\n\n<li style=\"font-size:16px\">Ce mot est ajout\u00e9 au texte, formant un nouveau contexte.<\/li>\n\n\n\n<li style=\"font-size:16px\">L\u2019op\u00e9ration est r\u00e9p\u00e9t\u00e9e jusqu\u2019\u00e0 obtention d\u2019un texte complet.<\/li>\n<\/ul>\n\n\n\n<p style=\"font-size:16px\">Ainsi, \u00e0 partir de \u00ab Toc Toc. \u00bb, le mod\u00e8le pr\u00e9dit \u00ab Qui \u00bb, puis \u00ab est \u00bb, puis \u00ab l\u00e0 \u00bb, jusqu\u2019\u00e0 reconstituer la phrase \u00ab Qui est l\u00e0 ? \u00bb. C\u2019est en empilant ces petites pr\u00e9dictions que l\u2019on obtient un texte fluide et coh\u00e9rent.<\/p>\n\n\n\n<p style=\"font-size:16px\">Mais comment choisir le prochain mot ? Une m\u00e9thode consiste \u00e0 prendre celui qui a la probabilit\u00e9 la plus \u00e9lev\u00e9e. Ce choix garantit souvent une r\u00e9ponse logique, mais il peut rendre le texte pr\u00e9visible, voire fade. Pour introduire de la vari\u00e9t\u00e9, on peut aussi tirer al\u00e9atoirement un mot selon la distribution calcul\u00e9e par le mod\u00e8le. Cela permet d'explorer des chemins moins \u00e9vidents, parfois plus cr\u00e9atifs ou naturels.<\/p>\n\n\n\n<p style=\"font-size:16px\">On comprend alors qu\u2019un \u00ab bon \u00bb LLM est un mod\u00e8le capable d\u2019attribuer des probabilit\u00e9s justes aux mots, en fonction du contexte. S\u2019il se trompe, les mots pr\u00e9dits seront inadapt\u00e9s, et le texte perdra toute coh\u00e9rence. En revanche, un mod\u00e8le bien entra\u00een\u00e9 saura choisir des mots qui s\u2019encha\u00eenent naturellement, donnant naissance \u00e0 une production textuelle fluide et pertinente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-a3db998cf0e07a10d5f2cf1fe3b15f1e\" style=\"color:#277d9c\"><strong>Les tokens : ces morceaux de mots que les LLMs pr\u00e9f\u00e8ren<\/strong>t<\/h3>\n\n\n\n<p style=\"font-size:16px\">Nous avons parl\u00e9 de \u00ab mots \u00bb dans la section pr\u00e9c\u00e9dente afin de faciliter la compr\u00e9hension. Mais pour un mod\u00e8le de langage, ce n\u2019est pas si simple. Les LLMs ne travaillent pas directement avec des mots entiers, mais avec des unit\u00e9s plus fines appel\u00e9es <em>tokens<\/em>.<\/p>\n\n\n\n<p style=\"font-size:16px\">Un token, c\u2019est une portion de texte : parfois un mot entier, mais souvent une partie de mot, un suffixe, une racine, ou m\u00eame un simple caract\u00e8re. Pourquoi ce d\u00e9coupage ? Pour rendre le langage plus maniable, et surtout plus souple.<\/p>\n\n\n\n<p style=\"font-size:16px\">Le mot \u00ab manger \u00bb illustre bien cela. Il se d\u00e9cline en de multiples formes : mange, mangent, mangeaient, mangeoire, et ainsi de suite. Imaginez la taille du vocabulaire n\u00e9cessaire si le mod\u00e8le devait enregistrer chaque variation s\u00e9par\u00e9ment ! L'astuce des tokens est de r\u00e9duire ce fardeau. Le mod\u00e8le apprend un ensemble limit\u00e9 d'unit\u00e9s de base, comme \u201cmange\u201d, \u201cnt\u201d, \u201caient\u201d, \u201coire\u201d, et peut ensuite les assembler pour reconstruire les mots complexes : \u201cmangent\u201d devient \u201cmange\u201d + \u201cnt\u201d, \u201cmangeaient\u201d \u00e9quivaut \u00e0 \u201cmange\u201d + \u201caient\u201d, etc. Cette m\u00e9thode maline renforce la robustesse du mod\u00e8le face aux erreurs de frappe, aux mots nouveaux ou rares, car il s'appuie sur des \u00e9l\u00e9ments constitutifs qu'il conna\u00eet d\u00e9j\u00e0.<\/p>\n\n\n\n<p style=\"font-size:16px\">En pratique, c\u2019est un outil appel\u00e9 <em>tokenizer <\/em>qui se charge de ce d\u00e9coupage. Il transforme une phrase en une s\u00e9quence de tokens, en s\u2019appuyant sur un vocabulaire pr\u00e9d\u00e9fini appris lors de son propre entra\u00eenement. Ce vocabulaire contient typiquement quelques dizaines de milliers d\u2019unit\u00e9s : suffisamment pour couvrir les constructions les plus fr\u00e9quentes d\u2019une langue, mais pas assez pour inclure tous les mots existants. C\u2019est pourquoi certains mots rares ou nouveaux sont d\u00e9coup\u00e9s en fragments plus petits, parfois jusqu\u2019au caract\u00e8re isol\u00e9. Ce d\u00e9coupage n\u2019est pas arbitraire : il suit des r\u00e8gles statistiques con\u00e7ues pour maximiser la couverture du langage tout en limitant la taille du vocabulaire. M\u00eame les signes de ponctuation, les espaces ou les symboles sp\u00e9ciaux peuvent constituer des tokens \u00e0 part enti\u00e8re. Le r\u00e9sultat final est une repr\u00e9sentation compacte et standardis\u00e9e du texte, que le mod\u00e8le de langage pourra ensuite traiter.<\/p>\n\n\n\n<p style=\"font-size:16px\"><strong>Pour approfondir<\/strong> : Pour ceux qui souhaitent aller plus loin, les principaux <em>tokenizers<\/em> des LLMs les plus r\u00e9pandus s\u2019appuient sur l\u2019algorithme<a href=\"http:\/\/www.pennelynn.com\/Documents\/CUJ\/HTML\/94HTML\/19940045.HTM\"> <em>Byte Pair Encoding<\/em><\/a> (BPE), conceptualis\u00e9 par Philip Gage en 1994. Initialement une technique de compression de donn\u00e9es, cet algorithme a \u00e9t\u00e9<a href=\"https:\/\/arxiv.org\/abs\/1508.07909\"> adapt\u00e9 en 2015<\/a> par <em>Sennrich et al.<\/em> pour \u00eatre utilis\u00e9 dans les r\u00e9seaux de neurones profonds tels que les LLMs.<\/p>\n\n\n\n<p style=\"font-size:16px\">Reprenons notre amorce \u201cToc Toc.\u201d, suivie de la c\u00e9l\u00e8bre r\u00e9plique \u201c Qui est l\u00e0 ?\u201d. Avec le tokenizer utilis\u00e9 par les mod\u00e8les d\u2019OpenAI (appel\u00e9 <a href=\"https:\/\/github.com\/openai\/tiktoken\">tiktoken<\/a>), cette phrase ne sera pas d\u00e9coup\u00e9e en mots, mais en unit\u00e9s plus fines : [\"_Qui\", \"_est\", \"_l\u00e0\", \"_?\"]. Ici, le caract\u00e8re \u201c_\u201d symbolise un espace ins\u00e9cable plac\u00e9 avant le mot. Cela signifie que \u201cQui\u201d et \u201c_Qui\u201d sont deux tokens diff\u00e9rents, et que le mod\u00e8le les traite comme tels. Cette subtilit\u00e9 permet au mod\u00e8le de mieux g\u00e9rer la ponctuation, les espacements, et les contextes linguistiques. Ainsi, m\u00eame une courte phrase peut n\u00e9cessiter plusieurs tokens pour \u00eatre g\u00e9n\u00e9r\u00e9e.<\/p>\n\n\n\n<p style=\"font-size:16px\">Ce d\u00e9coupage permet de mieux \u00e9quilibrer taille du vocabulaire, co\u00fbt de calcul et flexibilit\u00e9. Plus les tokens sont courts, plus il faudra d\u2019\u00e9tapes pour g\u00e9n\u00e9rer un texte \u2014 mais le mod\u00e8le sera aussi plus agile pour composer des mots nouveaux. Plus les tokens sont longs, moins il faudra d\u2019\u00e9tapes pour g\u00e9n\u00e9rer un texte mais plus le vocabulaire sera grand, et l\u2019empreinte m\u00e9moire du calcul avec.<\/p>\n\n\n\n<p style=\"font-size:16px\">C\u2019est ce jeu subtil entre d\u00e9coupage, expressivit\u00e9 et efficacit\u00e9 qui constitue l\u2019un des fondements des LLMs modernes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-3a968aee8e5786bc0bb39b76c9a32f1d\" style=\"color:#277d9c\">Le pr\u00e9-entra\u00eenement<\/h3>\n\n\n\n<p style=\"font-size:16px\">Nous avons vu qu\u2019un LLM cherche \u00e0 compl\u00e9ter un texte donn\u00e9 en pr\u00e9disant le prochain token le plus probable. Mais comment devient-il capable de le faire de mani\u00e8re coh\u00e9rente ? C\u2019est l\u00e0 qu\u2019intervient une \u00e9tape essentielle : le pr\u00e9-entra\u00eenement.<\/p>\n\n\n\n<p style=\"font-size:16px\">Le pr\u00e9-entra\u00eenement consiste \u00e0 exposer le mod\u00e8le \u00e0 une immense quantit\u00e9 de texte, afin qu\u2019il apprenne \u00e0 pr\u00e9dire le token suivant en fonction de ceux qui le pr\u00e9c\u00e8dent. Il s\u2019agit donc d\u2019un apprentissage dit \u201cauto-supervis\u00e9\u201d (<em>self-supervised<\/em> en anglais) : le mod\u00e8le s\u2019entra\u00eene bien \u00e0 reproduire une donn\u00e9es de r\u00e9f\u00e9rence (d\u2019o\u00f9 l\u2019aspect \u201csupervis\u00e9\u201d), mais ces derni\u00e8res sont d\u00e9termin\u00e9es automatiquement \u00e0 partir des donn\u00e9es elles-m\u00eame, sans intervention humaine (d\u2019o\u00f9 le pr\u00e9fixe \u201cauto\u201d).<\/p>\n\n\n\n<p style=\"font-size:16px\">Prenons la phrase : \u00ab Les promesses n\u2019engagent que ceux qui les croient. \u00bb. En fragmentant cette phrase en tokens, on peut g\u00e9n\u00e9rer de nombreuses observations : \u00e0 partir des deux premiers tokens, on demande au mod\u00e8le de deviner le troisi\u00e8me, puis on d\u00e9cale d\u2019un cran, et ainsi de suite. On peut recommencer en prenant des s\u00e9quences de trois tokens, puis de quatre, etc. Le mod\u00e8le apprend alors, \u00e0 chaque \u00e9tape, \u00e0 choisir le bon token parmi tous ceux de son vocabulaire, en tenant compte du contexte.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"302\" src=\"https:\/\/www.claravista.ai\/blog\/wp-content\/uploads\/2025\/06\/serieIA-episode-2-pretraining.png\" alt=\"Un sch\u00e9ma repr\u00e9sentant le d\u00e9coupage d'une phrase en observations pour l'entra\u00eenement d'un LLM.\" class=\"wp-image-716\" srcset=\"https:\/\/www.claravista.ai\/blog\/wp-content\/uploads\/2025\/06\/serieIA-episode-2-pretraining.png 943w, https:\/\/www.claravista.ai\/blog\/wp-content\/uploads\/2025\/06\/serieIA-episode-2-pretraining-300x96.png 300w, https:\/\/www.claravista.ai\/blog\/wp-content\/uploads\/2025\/06\/serieIA-episode-2-pretraining-768x246.png 768w\" sizes=\"(max-width: 943px) 100vw, 943px\" \/><figcaption class=\"wp-element-caption\"><strong>Illustration du pr\u00e9-entra\u00eenement : \u00e0 partir d\u2019une phrase, on peut g\u00e9n\u00e9rer de multiples exemples de tailles diff\u00e9rentes. Notez qu\u2019ici, l\u2019hypoth\u00e8se mot = token est de nouveau utilis\u00e9e.<\/strong><\/figcaption><\/figure>\n\n\n\n<p style=\"font-size:16px\">C\u2019est ainsi qu\u2019un LLM assimile peu \u00e0 peu les r\u00e8gles du langage (syntaxe, grammaire, style), mais aussi les r\u00e9gularit\u00e9s s\u00e9mantiques qu\u2019il observe. Il rep\u00e8re les tournures fr\u00e9quentes, les cooccurrences de concepts, les relations implicites entre les id\u00e9es. Et comme il est expos\u00e9 \u00e0 d\u2019\u00e9normes volumes de texte, il finit aussi par capter une forme de connaissance du monde.<\/p>\n\n\n\n<p style=\"font-size:16px\">Par exemple, s\u2019il lit souvent dans son corpus des textes o\u00f9 apparaissent les mots \u00ab Martin Luther King \u00bb, \u00ab assassinat \u00bb et \u00ab 1968 \u00bb, il apprendra \u00e0 associer ces notions. Lorsqu\u2019on lui parlera de l\u2019assassinat de Martin Luther King, il pourra spontan\u00e9ment compl\u00e9ter avec \u00ab en 1968 \u00bb, non pas parce qu\u2019il le sait au sens humain du terme, mais parce qu\u2019il a observ\u00e9 cette association de mani\u00e8re r\u00e9p\u00e9t\u00e9e.<\/p>\n\n\n\n<p style=\"font-size:16px\">Ce m\u00e9canisme d\u2019apprentissage repose donc sur deux piliers fondamentaux :<\/p>\n\n\n\n<ul class=\"has-medium-font-size\">\n<li style=\"font-size:16px\">Un mod\u00e8le avec un grand nombre de param\u00e8tres, pour pouvoir repr\u00e9senter des relations linguistiques complexes,<\/li>\n\n\n\n<li style=\"font-size:16px\">Un corpus d\u2019entra\u00eenement massif, souvent constitu\u00e9 de centaines de milliards de tokens issus de textes accessibles en ligne (sites web, livres, encyclop\u00e9dies, forums, etc.).<\/li>\n<\/ul>\n\n\n\n<p style=\"font-size:16px\">C\u2019est pour cette raison que l\u2019on parle de mod\u00e8les de langage de grande taille (Large Language Models). Les plus petits comptent plusieurs milliards de param\u00e8tres ; les plus grands, plusieurs centaines de milliards (le mod\u00e8le derri\u00e8re la premi\u00e8re version de ChatGPT, GPT-3.5, est suppos\u00e9ment dot\u00e9 de <a href=\"https:\/\/en.wikipedia.org\/wiki\/Generative_pre-trained_transformer\">175 milliards de param\u00e8tres<\/a>). Leur pr\u00e9-entra\u00eenement repr\u00e9sente des co\u00fbts consid\u00e9rables, tant en puissance de calcul qu\u2019en donn\u00e9es mobilis\u00e9es.<\/p>\n\n\n\n<p style=\"font-size:16px\"><strong>Gare \u00e0 l\u2019anthropomorphisme<\/strong> : un LLM n\u2019a pas de discernement au sens o\u00f9 on l\u2019entend pour les humains. Il reproduit fid\u00e8lement les tendances de ses donn\u00e9es. Cela signifie qu\u2019il peut h\u00e9riter de biais, d\u2019erreurs ou de st\u00e9r\u00e9otypes pr\u00e9sents dans les textes d\u2019origine. C\u2019est l\u00e0 l\u2019une de ses principales limites, que l\u2019on cherchera \u00e0 corriger dans les \u00e9tapes ult\u00e9rieures d\u2019affinage.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color has-large-font-size wp-elements-e4498b73140d8395fd2cd66a48a2634a\" style=\"color:#040065\">Construction d'un Agent Conversationnel<\/h2>\n\n\n\n<p style=\"font-size:16px\">Jusqu\u2019ici, nous avons d\u00e9crit le fonctionnement fondamental d\u2019un LLM : un puissant moteur de compl\u00e9tion textuelle. Ce dernier pr\u00e9dit les mots les plus probables en fonction du contexte, comme un autocompl\u00e9teur sous st\u00e9ro\u00efdes. Cela suffit \u00e0 produire des textes coh\u00e9rents, mais ce n\u2019est pas encore suffisant pour en faire un compagnon de discussion tel que <a href=\"https:\/\/chatgpt.com\/\">ChatGPT<\/a>, <a href=\"https:\/\/claude.ai\/chats\">Claude<\/a> ou <a href=\"https:\/\/chat.mistral.ai\/chat\">Le Chat<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-408d0c7526b7c56b981ab273f1c8dedc\" style=\"color:#277d9c\">L'affinage<\/h3>\n\n\n\n<p style=\"font-size:16px\">Un mod\u00e8le pr\u00e9-entra\u00een\u00e9, aussi brillant soit-il, reste peu contr\u00f4lable. En effet, il est tr\u00e8s difficile de savoir comment le mod\u00e8le va compl\u00e9ter un texte donn\u00e9, et ce dernier r\u00e9pond mal aux consignes et instructions, qu\u2019il peut interpr\u00e9ter de diff\u00e9rentes fa\u00e7ons.<\/p>\n\n\n\n<p style=\"font-size:16px\">Illustrons cela par un exemple. La plate-forme <a href=\"https:\/\/huggingface.co\">Hugging Face<\/a> permet d\u2019utiliser un grand nombre des mod\u00e8les qu\u2019elle h\u00e9berge gratuitement. Allons donc sur la page associ\u00e9e au mod\u00e8le <a href=\"https:\/\/huggingface.co\/meta-llama\/Llama-3.2-1B\">Llama-3.2-1B<\/a>, qui est un petit LLM pr\u00e9-entra\u00een\u00e9 publi\u00e9 par Meta, et envoyons-lui le texte \u201cTell me a joke.\u201d. Sa compl\u00e9tion est pr\u00e9sent\u00e9e ci-dessous.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-link-color wp-elements-8088ebc8e737241d268fa7bf16202722\" style=\"font-size:16px\">Tell me a joke. <mark style=\"background-color:rgba(0, 0, 0, 0);color:#084f78\" class=\"has-inline-color\">I\u2019ll tell you a joke.\nI\u2019m a little bit of a jokester. I like to tell jokes. I like to tell jokes about myself. I like to tell jokes about other people.<\/mark>\n<\/pre>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\"><strong>Compl\u00e9tion g\u00e9n\u00e9r\u00e9e par le LLM pr\u00e9-entra\u00een\u00e9 <\/strong><a href=\"https:\/\/huggingface.co\/meta-llama\/Llama-3.2-1B\"><strong>Llama-3.2-1b<\/strong><\/a><strong> \u00e0 partir du texte \u201cTell me a joke.\u201d, en gris ci-dessus. Le mod\u00e8le a poursuivi par le texte en bleu.<\/strong><\/p>\n\n\n\n<p style=\"font-size:16px\">Nous remarquons que le mod\u00e8le n\u2019a pas r\u00e9pondu \u00e0 la requ\u00eate. Il n\u2019a pas interpr\u00e9t\u00e9 la requ\u00eate comme une instruction mais comme le d\u00e9but d\u2019un monologue d\u2019une personne appr\u00e9ciant dire des plaisanteries.<\/p>\n\n\n\n<p style=\"font-size:16px\">Pour qu\u2019un tel mod\u00e8le devienne un v\u00e9ritable agent conversationnel, capable de r\u00e9pondre \u00e0 nos questions de mani\u00e8re pertinente et dans un format adapt\u00e9, une \u00e9tape cruciale s\u2019impose : l\u2019affinage.<\/p>\n\n\n\n<p style=\"font-size:16px\">L\u2019affinage consiste \u00e0 apprendre au LLM \u00e0 r\u00e9pondre sur commande. C\u2019est lors de cette phase qu\u2019on lui enseigne \u00e0 suivre une instruction, \u00e0 produire une r\u00e9ponse cibl\u00e9e, et \u00e0 respecter certaines r\u00e8gles de comportement. Par exemple, lorsqu\u2019on lui demande \u00ab Raconte-moi une blague \u00bb, il doit effectivement raconter une blague \u2014 et non disserter sur leur origine ou simuler un dialogue entre deux personnages en d\u00e9saccord.<\/p>\n\n\n\n<p style=\"font-size:16px\">Reprenons notre exemple, mais avec la version affin\u00e9e du mod\u00e8le Llama-3.2-1B, i.e. <a href=\"https:\/\/huggingface.co\/meta-llama\/Llama-3.2-1B-Instruct\">Llama-3.2-1B-Instruct<\/a>. Envoyons la m\u00eame requ\u00eate au mod\u00e8le, et analysons sa r\u00e9ponse :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-black-color has-text-color has-link-color wp-elements-85bd0f2f082215320eae114e0b29a8ef\" style=\"font-size:16px\">User:\nTell me a joke.\nAssistant:\n<mark style=\"background-color:rgba(0, 0, 0, 0);color:#084f78\" class=\"has-inline-color\">A man walked into a library and asked the librarian, \"Do you have any books on Pavlov's dogs and Schr\u00f6dinger's cat?\"\nThe librarian replied, \"It rings a bell, but I'm not sure if it's here or not.\"<\/mark>\n<\/pre>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\"><strong>R\u00e9ponse obtenue par le LLM affin\u00e9 <\/strong><a href=\"https:\/\/huggingface.co\/meta-llama\/Llama-3.2-1B-Instruct\"><strong>Llama-3.2-1B-Instruct<\/strong><\/a><strong>, bas\u00e9 sur le LLM pr\u00e9-entra\u00een\u00e9 Llama-3.2-1B. La requ\u00eate envoy\u00e9e est en gris, et la r\u00e9ponse du mod\u00e8le en bleu.<\/strong><\/p>\n\n\n\n<p style=\"font-size:16px\">Cette fois-ci, le mod\u00e8le a bien compris l\u2019instruction, et a r\u00e9pondu par une blague, plut\u00f4t dr\u00f4le qui plus est.<\/p>\n\n\n\n<p style=\"font-size:16px\">Concr\u00e8tement, l\u2019\u00e9tape d\u2019affinage repose d\u2019abord sur un entra\u00eenement supervis\u00e9 : on fournit au mod\u00e8le des exemples de dialogues ou d\u2019instructions, accompagn\u00e9s de la r\u00e9ponse attendue. Le LLM apprend ainsi \u00e0 associer une consigne \u00e0 une r\u00e9ponse appropri\u00e9e.<\/p>\n\n\n\n<p style=\"font-size:16px\">Mais pour aller plus loin, on utilise souvent une seconde phase : l\u2019apprentissage par renforcement (Reinforcement Learning). Ici, le mod\u00e8le propose plusieurs r\u00e9ponses \u00e0 une m\u00eame instruction, et un syst\u00e8me de pr\u00e9f\u00e9rence (humain ou automatis\u00e9) permet de lui indiquer laquelle est la meilleure. Il ajuste alors ses param\u00e8tres pour tendre vers les r\u00e9ponses jug\u00e9es plus utiles, claires ou respectueuses des consignes. On parle alors de mod\u00e8le \u201calign\u00e9\u201d avec les pr\u00e9f\u00e9rences humaines. Ce processus, connu sous le nom de RLHF (<em>Reinforcement Learning with Human Feedback<\/em>), a \u00e9t\u00e9 l\u2019un des leviers cl\u00e9s du succ\u00e8s de ChatGPT.<\/p>\n\n\n\n<p style=\"font-size:16px\"><strong>Pour aller plus loin<\/strong> : l\u2019affinage par RLHF est une technique puissante qui constitue la base des agents conversationnels populaires tels que ChatGPT, Claude ou Le Chat. <a href=\"https:\/\/arxiv.org\/abs\/2203.02155\">Des recherches men\u00e9es par OpenAI en 2022<\/a> ont d\u00e9montr\u00e9 que cette m\u00e9thode permettait \u00e0 un mod\u00e8le de 1,3 milliard de param\u00e8tres de surpasser GPT-3.5 (175 milliards de param\u00e8tres) en termes de pr\u00e9f\u00e9rence humaine.<\/p>\n\n\n\n<p style=\"font-size:16px\">Il existe de nombreuses autres m\u00e9thodes d\u2019affiner des mod\u00e8les que nous ne couvrirons pas dans cet article. Cependant, nous vous recommandons la lecture de ce<a href=\"https:\/\/www.adaptive-ml.com\/post\/from-zero-to-ppo\"> formidable tutoriel d\u2019AdaptiveML<\/a>, qui d\u00e9taille pas \u00e0 pas les techniques d\u2019affinage modernes appliqu\u00e9es aux mod\u00e8les de langage, si vous souhaitez en savoir plus sur le sujet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-2eca3b482596f855b7c4fb898f7207fb\" style=\"color:#6e68f4\"><strong>Un langage pour dialoguer : le format des \u00e9changes conversationnels<\/strong><\/h3>\n\n\n\n<p style=\"font-size:16px\">Une comp\u00e9tence essentielle enseign\u00e9e au mod\u00e8le lors de l'affinage est le respect d'un format conversationnel. En effet, pour interagir de mani\u00e8re conversationnelle, le LLM doit comprendre la nature bi-directionnelle d\u2019une conversation avec un utilisateur, avec des messages issus de ce dernier et des messages, de r\u00e9ponse souvent, issus de l\u2019assistant. Cela implique non seulement de produire du texte coh\u00e9rent, mais aussi de comprendre la structure d\u2019un \u00e9change : qui parle, dans quel ordre, et dans quel but.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-color has-link-color wp-elements-f8d15a3a93eb4665c05b2815776771bd\" style=\"color:#6e68f4\">Un Format Conversationnel <\/h4>\n\n\n\n<p style=\"font-size:16px\">Ainsi, il est n\u00e9cessaire d\u2019apprendre au LLM \u00e0 respecter un format conversationnel identifiant clairement les textes associ\u00e9s \u00e0 chaque interlocuteur. Ce format doit permettre de repr\u00e9senter des conversations entre deux interlocuteurs, appel\u00e9s Utilisateur et Assistant. Chaque message de ces derniers est pr\u00e9c\u00e9d\u00e9 d\u2019une balise l\u2019identifiant et se termine par un token sp\u00e9cial nomm\u00e9 EOS (pour <em>End Of Sentence<\/em> en anglais). Un tel format permet donc d\u2019associer clairement chaque message \u00e0 un interlocuteur, ce qui permettra, nous le verrons par la suite, d\u2019apprendre au mod\u00e8le \u00e0 r\u00e9pondre aux instructions.<\/p>\n\n\n\n<p style=\"font-size:16px\">L\u2019un de ces format est le format <a href=\"https:\/\/huggingface.co\/docs\/transformers\/v4.46.0\/chat_templating\">\u201cmessages\u201d<\/a>. Ce format utilise les balises &lt;|user|&gt; et &lt;|assistant|&gt; pour identifier chaque interlocuteur et la balise &lt;\/s&gt; comme token EOS. Un exemple courant, pourrait ressembler \u00e0 ceci :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:16px\">&lt;|user|&gt;\nTell me a joke.&lt;\/s&gt;\n&lt;|assistant|&gt;\nOf course. Here is a joke: \u201cKnock knock.\u201d&lt;\/s&gt;\n<\/pre>\n\n\n\n<p style=\"font-size:16px\">Cet exemple illustre une conversation o\u00f9 l\u2019utilisateur demande \u00e0 l\u2019assistant de lui raconter une blague, ce que ce dernier fait en amor\u00e7ant la plaisanterie que vous connaissez d\u00e9sormais bien.<\/p>\n\n\n\n<p style=\"font-size:16px\">Pour entra\u00eener le LLM \u00e0 comprendre ce format, on collecte un ensemble de conversations vari\u00e9es o\u00f9 l\u2019utilisateur interagit avec l\u2019assistant, et on apprend au LLM \u00e0 compl\u00e9ter les messages de ce dernier.<\/p>\n\n\n\n<p style=\"font-size:16px\">Par exemple, si l\u2019on reprends l\u2019exemple pr\u00e9c\u00e9dent, le LLM devra apprendre \u00e0 compl\u00e9ter le <em>prompt<\/em> suivant :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:16px\">&lt;|user|&gt;\nTell me a joke.&lt;\/s&gt;\n&lt;|assistant|&gt;\n<\/pre>\n\n\n\n<p style=\"font-size:16px\">A l'issue de son entra\u00eenement, le mod\u00e8le aura donc appris \u00e0 reproduire le comportement de l\u2019assistant d\u00e9crit dans son corpus d\u2019affinage, et sera donc capable de compl\u00e9ter les <em>prompts<\/em> en r\u00e9pondant aux requ\u00eates de l\u2019utilisateur.<\/p>\n\n\n\n<p style=\"font-size:16px\">En particulier, il aura appris \u00e0 terminer chaque message par un token EOS (&lt;\/s&gt; dans le cas du format messages). La g\u00e9n\u00e9ration de ce <em>token<\/em> pourra donc \u00eatre surveill\u00e9e par l\u2019application qui l\u2019utilisera pour interrompre la g\u00e9n\u00e9ration et envoyer la compl\u00e9tion du mod\u00e8le, correspondant donc \u00e0 la r\u00e9ponse de l\u2019assistant, \u00e0 l\u2019utilisateur.<\/p>\n\n\n\n<p style=\"font-size:16px\">Le principe utilis\u00e9 par le format \u201cmessages\u201d reste le m\u00eame dans d'autres formats, m\u00eame si la syntaxe varie : certains utilisent des noms explicites (User:, Bot:), d\u2019autres des balises XML, des indentations, ou encore des structures JSON. Le but est toujours le m\u00eame : structurer le dialogue pour que le mod\u00e8le sache qui dit quoi, et quand.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-color has-link-color wp-elements-2917bba35a4876d0e11c33335e928266\" style=\"color:#6e68f4\">Les Instructions Syst\u00e8mes<\/h4>\n\n\n\n<p style=\"font-size:16px\">Ce format conversationnel permet \u00e9galement d\u2019ajouter des instructions invisibles \u00e0 l\u2019utilisateur, appel\u00e9es instructions syst\u00e8me. Celles-ci permettent de modifier le comportement du mod\u00e8le sans que cela apparaisse dans la conversation. Par exemple, si l\u2019on souhaite emp\u00eacher le mod\u00e8le de raconter des blagues, on peut \u00e9crire :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:16px\">Always refuse to tell jokes, even if the user insists.\n&lt;|user|&gt;\nTell me a joke.&lt;\/s&gt;\n&lt;|assistant|&gt;\nI'm sorry, I am unable to tell jokes.&lt;\/s&gt;\n<\/pre>\n\n\n\n<p style=\"font-size:16px\">M\u00eame si l\u2019utilisateur insiste ensuite, un mod\u00e8le correctement entra\u00een\u00e9 continuera \u00e0 refuser, conform\u00e9ment \u00e0 ses consignes. Ces instructions syst\u00e8me permettent donc de personnaliser le LLM \u00e0 diff\u00e9rents usages et, dans le cadre d\u2019un agent conversationnel, de d\u00e9finir sa \u201cpersonnalit\u00e9\u201d. En effet, l\u2019exp\u00e9rience utilisateur sera tr\u00e8s diff\u00e9rente selon qu\u2019on pr\u00e9cise au LLM qu\u2019il doit \u00eatre bourru et concis ou \u00e9l\u00e9gant, noble et s\u2019exprimant uniquement en alexandrins !<\/p>\n\n\n\n<p style=\"font-size:16px\"><strong>Distinction Chatbot\/API<\/strong> : Les instructions syst\u00e8me sont g\u00e9n\u00e9ralement invisibles pour l\u2019utilisateur des chatbots grand public (ChatGPT, Claude, etc.), car d\u00e9finies par d\u00e9faut par l\u2019entreprise. Cependant, elles sont enti\u00e8rement visibles et configurables lors de l\u2019utilisation des LLMs via des APIs, offrant une plus grande flexibilit\u00e9. Certaines applications grand public permettent \u00e9galement leur modification pour personnaliser l\u2019exp\u00e9rience (GPT Personnalis\u00e9s de ChatGPT, Gems de Gemini, etc.).<\/p>\n\n\n\n<p style=\"font-size:16px\">Ce format structur\u00e9 est donc une brique essentielle pour permettre des interactions coh\u00e9rentes. Il fournit au mod\u00e8le un rep\u00e8re clair sur le r\u00f4le de chaque message, et permet \u00e0 l\u2019application qui l\u2019utilise de d\u00e9tecter o\u00f9 ins\u00e9rer les r\u00e9ponses, comment les arr\u00eater, ou comment y injecter des consignes suppl\u00e9mentaires. Ce format structur\u00e9 servira \u00e9galement de base pour l'int\u00e9gration future d'appels d'outils, de raisonnements internes et de m\u00e9moire.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-282191524f060efa33a36ca9ac74327a\" style=\"color:#6e68f4\"><strong>Deux temps pour former un LLM : apprendre, puis dialoguer<\/strong><\/h3>\n\n\n\n<p style=\"font-size:16px\">Nous avons donc vu que, pour obtenir une application comme ChatGPT, deux phases principales sont n\u00e9cessaires : le pr\u00e9-entra\u00eenement et l\u2019affinage.<\/p>\n\n\n\n<p style=\"font-size:16px\">Le <strong>pr\u00e9-entra\u00eenement<\/strong> constitue la phase fondatrice, o\u00f9 le mod\u00e8le acquiert les comp\u00e9tences linguistiques fondamentales et la vaste base de connaissances qui d\u00e9termineront son potentiel futur. Cette \u00e9tape est particuli\u00e8rement intensive en ressources, tant en temps de calcul qu'en volume de donn\u00e9es : les mod\u00e8les les plus avanc\u00e9s sont pr\u00e9-entra\u00een\u00e9s sur des corpus gigantesques (pouvant contenir des trillions de tokens) et mobilisent des architectures comptant des centaines de milliards, voire des trillions, de param\u00e8tres.<\/p>\n\n\n\n<p style=\"font-size:16px\"><strong>L'affinage<\/strong> (ou <em>fine-tuning<\/em>), quant \u00e0 lui, se concentre sur le d\u00e9veloppement des comp\u00e9tences comportementales et interactionnelles du mod\u00e8le. Il permet d'orienter le LLM pr\u00e9-entra\u00een\u00e9 pour qu'il r\u00e9ponde de mani\u00e8re appropri\u00e9e aux sollicitations des utilisateurs, suive des instructions sp\u00e9cifiques (y compris les instructions syst\u00e8mes), adopte un ton ou un style particulier, \u00e9vite certains sujets, ou dialogue selon un format pr\u00e9cis comme celui des \"messages\". Bien que cette phase soit g\u00e9n\u00e9ralement moins dispendieuse en ressources que le pr\u00e9-entra\u00eenement d'un mod\u00e8le de fondation, elle est absolument cruciale pour l'exp\u00e9rience utilisateur et l'utilit\u00e9 pratique du mod\u00e8le. En 2022, OpenAI a d\u00e9montr\u00e9 (publication<a href=\"https:\/\/arxiv.org\/abs\/2009.01325\"> https:\/\/arxiv.org\/abs\/2009.01325<\/a>) que l'alignement des mod\u00e8les d'IA sur les pr\u00e9f\u00e9rences humaines g\u00e9n\u00e8re de meilleurs textes que l'optimisation par des mesures standard telles que <a href=\"https:\/\/en.wikipedia.org\/wiki\/ROUGE_(metric)\">ROUGE<\/a>.<\/p>\n\n\n\n<p style=\"font-size:16px\">En r\u00e9sum\u00e9, le pr\u00e9-entra\u00eenement dote le mod\u00e8le de ses capacit\u00e9s linguistiques brutes et de sa \"culture g\u00e9n\u00e9rale\", construisant ainsi ses fondations cognitives. L\u2019affinage, pour sa part, fa\u00e7onne son comportement et son r\u00f4le dans une application sp\u00e9cifique, dessinant les contours de l\u2019interface avec l\u2019utilisateur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color has-link-color wp-elements-f1e5fb2e88cb11a9f260ce86dfa4b7ac\" style=\"color:#6e68f4\">Limites<\/h3>\n\n\n\n<p style=\"font-size:16px\">Cependant, malgr\u00e9 leur efficacit\u00e9, ces mod\u00e8les restent limit\u00e9s sur plusieurs aspects fondamentaux.<\/p>\n\n\n\n<p style=\"font-size:16px\">La premi\u00e8re limite, sans doute la plus connue, concerne ce que l\u2019on appelle les hallucinations. Il s\u2019agit d\u2019erreurs produites avec aplomb, comme si le mod\u00e8le \u00e9tait s\u00fbr de lui, alors qu\u2019il se trompe compl\u00e8tement. Ce ph\u00e9nom\u00e8ne n\u2019est pas d\u00fb \u00e0 une n\u00e9gligence ou \u00e0 un d\u00e9faut de donn\u00e9es, mais \u00e0 la nature m\u00eame du fonctionnement des LLMs : ceux-ci g\u00e9n\u00e8rent, de mani\u00e8re probabiliste, chaque mot en fonction des pr\u00e9c\u00e9dents, sans possibilit\u00e9 de revenir en arri\u00e8re. Si un mot incorrect est pr\u00e9dit, il est int\u00e9gr\u00e9 comme un fait, et la suite de la r\u00e9ponse s\u2019appuie dessus, renfor\u00e7ant l\u2019erreur au lieu de la corriger. Le danger d\u2019un tel ph\u00e9nom\u00e8ne est que les r\u00e9ponses invent\u00e9es semblent souvent aussi fluides et d\u00e9taill\u00e9es que des r\u00e9ponses correctes, ce qui peut induire confiance et confusion.<\/p>\n\n\n\n<p style=\"font-size:16px\">Ces hallucinations apparaissent notamment dans des contextes o\u00f9 le mod\u00e8le doit produire un contenu qu\u2019il n\u2019a jamais vraiment observ\u00e9. Un bon exemple est celui des calculs. Si l\u2019on demande \u00e0 un LLM d\u2019\u00e9valuer \u201c354 \u00d7 139\u201d, il est peu probable qu\u2019il ait rencontr\u00e9 ce calcul exact lors de son entra\u00eenement. Faute de pouvoir le r\u00e9soudre par un raisonnement algorithmique, il produira une r\u00e9ponse approximative, mais souvent incorrecte. \u00c0 l\u2019inverse, des expressions comme \u201c2 + 2 =\u201d sont tellement fr\u00e9quentes dans les donn\u00e9es d\u2019entra\u00eenement qu\u2019elles ne posent aucun probl\u00e8me au mod\u00e8le. En somme, les LLMs excellent \u00e0 restituer ce qu\u2019ils ont d\u00e9j\u00e0 vu, mais peinent \u00e0 produire des r\u00e9sultats exacts dans des cas nouveaux ou n\u00e9cessitant un raisonnement formel.<\/p>\n\n\n\n<p style=\"font-size:16px\">Une deuxi\u00e8me limite importante des LLMs r\u00e9side dans les biais qu'ils peuvent manifester. Leurs donn\u00e9es d'entra\u00eenement, souvent issues d'internet, contiennent des contenus partiels, discriminatoires, biais\u00e9s, voire haineux ou offensants. Puisque les LLMs apprennent en reproduisant ce qu'ils observent, un mod\u00e8le non affin\u00e9 peut g\u00e9n\u00e9rer des propos similaires lors de son utilisation. L'affinage, notamment par renforcement (RLHF), permet d'att\u00e9nuer ces comportements, comme le montrent les efforts <a href=\"https:\/\/openai.com\/index\/evaluating-fairness-in-chatgpt\/\">d'OpenAI <\/a>et <a href=\"https:\/\/www.anthropic.com\/news\/anthropics-responsible-scaling-policy\">d'Anthropic<\/a> entre autres. Cependant, cela demeure une limitation fondamentale : sans m\u00e9canismes de contr\u00f4le, le mod\u00e8le refl\u00e8te les imperfections de ses donn\u00e9es d'apprentissage.<\/p>\n\n\n\n<p style=\"font-size:16px\">Autre limite importante : la connaissance du mod\u00e8le est fig\u00e9e \u00e0 la date de son entra\u00eenement. Tout ce qui s\u2019est produit apr\u00e8s, ou tout ce qui ne figure pas dans son corpus (comme des documents internes, des donn\u00e9es priv\u00e9es ou des contenus non publics), lui \u00e9chappe compl\u00e8tement. L\u2019affinage y change peu : il sert \u00e0 enseigner comment r\u00e9pondre, pas \u00e0 introduire de nouveaux faits. Un LLM, en tant que tel, n\u2019a pas de m\u00e9moire \u00e9volutive, ni d\u2019acc\u00e8s \u00e0 l\u2019actualit\u00e9, ni de possibilit\u00e9 d\u2019apprendre de ses \u00e9changes.<\/p>\n\n\n\n<p style=\"font-size:16px\"><strong>Pr\u00e9cision<\/strong> : il existe des m\u00e9thodes pour permettre aux LLM d\u2019acc\u00e9der \u00e0 des informations \u00e0 jour, mais qui sont des apports externes au mod\u00e8le, que nous couvrirons dans un futur article.<\/p>\n\n\n\n<p style=\"font-size:16px\">Enfin, m\u00eame lorsque l\u2019information est pr\u00e9sente, les r\u00e9ponses produites peuvent manquer de structure logique. Par d\u00e9faut, un LLM ne raisonne pas de mani\u00e8re explicite. Il donne directement une r\u00e9ponse, sans n\u00e9cessairement passer par un encha\u00eenement rigoureux d\u2019\u00e9tapes. Cela peut conduire \u00e0 des approximations, des raccourcis, ou des erreurs subtiles qui \u00e9chappent \u00e0 une lecture rapide mais trahissent un raisonnement superficiel. Le mod\u00e8le \u201csemble\u201d logique, mais il n\u2019a souvent fait qu\u2019imiter la forme d\u2019un raisonnement sans en suivre les r\u00e8gles.<\/p>\n\n\n\n<p style=\"font-size:16px\"><strong>Remarque<\/strong> : il existe des techniques, que nous aborderons dans un futur article, pour apprendre aux LLMs \u00e0 \u201craisonner\u201d et ainsi r\u00e9duire le risque d\u2019hallucinations. De plus, un <a href=\"https:\/\/www.anthropic.com\/research\/tracing-thoughts-language-model\">une r\u00e9cente publication de chercheurs d'Anthropic<\/a> a montr\u00e9 que les LLMs pouvaient anticiper leurs r\u00e9ponses et planifier \u00e0 l\u2019avance la g\u00e9n\u00e9ration de certains tokens, d\u00e9montrant ainsi une forme de raisonnement.<\/p>\n\n\n\n<p style=\"font-size:16px\">Ces trois limites \u2014 hallucinations, connaissance fig\u00e9e, raisonnement fragile \u2014 restreignent consid\u00e9rablement le champ d\u2019application des LLMs, notamment dans des contextes professionnels, scientifiques ou critiques. Pour y rem\u00e9dier, plusieurs approches ont \u00e9t\u00e9 d\u00e9velopp\u00e9es, visant \u00e0 enrichir les capacit\u00e9s du mod\u00e8le ou \u00e0 guider son comportement de mani\u00e8re plus fine. Nous aborderons ces approches dans un article ult\u00e9rieur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color has-large-font-size wp-elements-9a88f51551e60c30c658a59730aeecf1\" style=\"color:#040065\">Conclusion<\/h2>\n\n\n\n<p style=\"font-size:16px\">Dans cet article, nous avons explor\u00e9 les fondements essentiels des grands mod\u00e8les de langage, en partant de leur fonctionnement de base jusqu'\u00e0 leur transformation en agents conversationnels sophistiqu\u00e9s. Nous avons vu comment, \u00e0 partir d'un simple auto-compl\u00e9teur, nous pouvons construire des outils puissants et \u00e9rudits comme ChatGPT, Claude ou Mistral. Cependant, ces mod\u00e8les ont aussi leurs limites, notamment en termes d'hallucinations, de connaissances fig\u00e9es et de raisonnement.<\/p>\n\n\n\n<p style=\"font-size:16px\">Apr\u00e8s avoir explor\u00e9 ces fondements des LLMs dans ce rapport, il est naturel de se demander comment nous pouvons aller au-del\u00e0 de leurs limites actuelles. C'est pr\u00e9cis\u00e9ment ce que nous aborderons dans notre prochain rapport, o\u00f9 nous verrons comment am\u00e9liorer et augmenter un LLM en lui apportant des outils, des donn\u00e9es et en lui permettant de raisonner. Nous explorerons notamment l'int\u00e9gration d'API externes, l'utilisation de bases de donn\u00e9es vectorielles pour la m\u00e9moire \u00e0 long terme, et les techniques de 'chain of thought' pour am\u00e9liorer le raisonnement \u00e9tape par \u00e9tape.<\/p>\n\n\n\n<p style=\"font-size:16px\">A ClaraVista, nous sommes convaincus que les LLMs sont une technologie en pleine \u00e9volution, avec un potentiel illimit\u00e9 pour transformer notre fa\u00e7on de travailler et d'interagir avec l'information. Si vous \u00eates confront\u00e9s \u00e0 des d\u00e9fis tels que l'am\u00e9lioration de la pr\u00e9cision de vos LLMs, l'int\u00e9gration de donn\u00e9es sp\u00e9cifiques \u00e0 votre domaine, ou la mise en place de syst\u00e8mes de raisonnement complexes, n'h\u00e9sitez pas \u00e0 nous contacter. Nous serions ravis de vous accompagner dans vos projets d'IA G\u00e9n\u00e9rative et de vous aider \u00e0 tirer le meilleur parti de ces technologies passionnantes.<\/p>\n\n\n\n<p style=\"font-size:16px\">Nous sommes impatients de partager avec vous les prochaines \u00e9tapes de cette aventure dans notre prochain rapport !<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Ahmed-Amine HOMMAN, PhD, Research Project Manager En quelques ann\u00e9es \u00e0 peine (depuis 2022 et la sortie de ChatGPT), les grands mod\u00e8les de langage (Large Language Models, LLMs, en anglais) sont pass\u00e9s du statut de curiosit\u00e9 technique \u00e0 celui de compagnons de discussion au quotidien. Mais que se cache-t-il derri\u00e8re ces agents capables de dialoguer avec <a class=\"more-link small\" href=\"https:\/\/www.claravista.ai\/blog\/2025\/06\/26\/comment-les-llms-ont-appris-a-parler\/\">[lire la suite]<\/a><\/p>\n","protected":false},"author":15,"featured_media":718,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,78],"tags":[60,45,82,3,23,79,12],"_links":{"self":[{"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/post\/715"}],"collection":[{"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/post"}],"about":[{"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/comments?post=715"}],"version-history":[{"count":8,"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/post\/715\/revisions"}],"predecessor-version":[{"id":727,"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/post\/715\/revisions\/727"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/media\/718"}],"wp:attachment":[{"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/media?parent=715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/categories?post=715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.claravista.ai\/blog\/wp-json\/wp\/v2\/tags?post=715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}