Starline Art - stock.adobe.com
GenAI Mode d’Emploi : pourquoi et comment adapter un modèle ?
Quand avoir une IA générative « maison » est-elle une bonne idée ? Et dans ce cas, comment choisir le bon LLM ? Et comment l’adapter ? Par réentraînement ou avec des techniques plus simples (et lesquelles) ? Autant de questions auxquelles Guillaume Gérard de Capgemini répond dans cet échange qui revient sur les facettes fondamentales de tout projet de GenAI.
LeMagIT : Quelles sont les limites des IA génératives « clef en main », comme ChatGPT, qui peuvent pousser les entreprises vers une IA générative « maison » plus personnalisée ?
Guillaume Gérard (Head of GenAI South & Central Europe chez Capgemini) : Les solutions proposées gratuitement et « librement » ont l’avantage d’être simples d’utilisation. Chacun peut se connecter à ChatGPT, et consommer le modèle en lui posant des questions. Mais elles ont plusieurs limites.
La première est la question de la confidentialité. Les données que l’on met en entrée et en sortie peuvent être réutilisées (par OpenAI ou d’autres) [pour entraîner le modèle].
On peut mitiger ce risque avec des services d’hyperscalers, comme Azure Open AI, qui sécurisent les données et qui proposent ces modèles sur des tenants [privés]. Dans ce cas, tout ce que l’on met en entrée et tout ce qui est généré n’existent que sur le tenant de l’entreprise.
Le deuxième point touche au dimensionnement des machines sous-jacentes.
Guillaume GérardHead of GenAI South & Central Europe chez Capgemini
Pour une utilisation individuelle, une IA de type ChatGPT fonctionne très bien. Le temps de réponse est acceptable. Mais à l’échelle d’une entreprise, avec des routines automatisées, il faut être capable de dimensionner la machine. Avec les solutions publiques, on ne peut pas envoyer 1 000 requêtes d’un coup et avoir 1 000 réponses simultanément. Pour cela, il faut passer par des hébergements privés des solutions.
Enfin, la confiance que l’on peut avoir dans la réponse est un vrai défi pour les entreprises, avec le phénomène des hallucinations – dont on parle beaucoup.
Si le modèle aide à la génération de contenu – comme écrire un mail – et qu’il omet des éléments ou qu’il répond à côté, ce n’est pas forcément très grave. On peut toujours le reprendre. Mais sur des process beaucoup plus sensibles – comme dans l’ingénierie – il faut être sûr que le modèle répond correctement. Et il faut donc mieux maîtriser son LLM.
Les critères pour bien choisir son IA générative
LeMagIT : Prenons une entreprise qui décide, pour une ou plusieurs de ces raisons, de déployer son IA générative. Quelles sont les étapes méthodologiques à suivre ?
Guillaume Gérard : La première chose c’est de choisir une plateforme. Où vais-je héberger mon modèle et mes données ?
Il y a trois options : chez les hyperscalers (dans le cloud), sur ses propres machines (on prem), ou passer par des solutions éditeurs. Il y a actuellement beaucoup de startups qui proposent des studios de création et de consommation de LLM (NDR : comme LightOn).
LeMagIT : Quelle est l’étape suivante dans un projet d’IA générative personnalisée ?
Guillaume Gérard : La deuxième étape concerne le choix du modèle. Pour cela il faut se pencher sur plusieurs critères.
Le premier est celui de la performance [fonctionnelle] : il faut que le modèle fasse ce qu’on veut qu’il fasse. Il faut regarder la manière dont il se comporte : voulez-vous faire des résumés, des synthèses, écrire des scénarios de cinéma, avoir des capacités émotionnelles, avoir une IA plus ou moins créative ?
Cette déclinaison des capacités des machines est importante à considérer en fonction de vos usages.
LeMagIT : Mais ne peut-on pas aussi faire évoluer un modèle ?
Guillaume GérardHead of GenAI South & Central Europe chez Capgemini
Guillaume Gérard : Tout à fait. Si on a besoin d’un modèle très spécifique à un domaine d’activité – c’est-à-dire qui a besoin de connaissances supplémentaires par rapport à la connaissance moyenne d’Internet (NDR : sur lesquels les grands modèles « génériques » ont été entraînés) – il faudra alors souvent passer par des logiques de réentraînement et/ou de construction d’une base de connaissances.
Cela étant, pour l’énorme majorité des cas d’usage, la connaissance intrinsèque des modèles comme GPT ou BARD est suffisante. Mais dans tous les cas, il faut bien choisir le modèle dès le départ.
LeMagIT : Vous évoquiez la capacité fonctionnelle d’un modèle. Y’a-t-il d’autres critères majeurs dans ce choix ?
Guillaume Gérard : Oui, le coût d’utilisation. Des modèles très « gros » peuvent être coûteux – financièrement et écologiquement – quand on les utilise de manière intensive.
Par exemple, ce que propose Microsoft avec GPT4 est très performant, mais c’est aussi très coûteux. Or on n’a pas toujours besoin d’une machine de guerre, particulièrement sur les tâches simples. Pour résumer des documents, il existe des modèles plus modestes en termes de taille, de puissance de calcul, et de coûts énergétiques et environnementaux.
Il faut trouver une sorte d’équilibre – de « trade-off » – entre performances, coût d’utilisation et coût énergétique.
LeMagIT : Pour faire cet arbitrage, il faut néanmoins pouvoir évaluer les performances de plusieurs modèles. Simple sur le papier, mais pas forcément dans la réalité. Comment faire ?
Guillaume Gérard : Il y a de plus en plus de benchmarks très intéressants réalisés par des entreprises.
Des solutions émergent également pour comparer des modèles. Dataiku, par exemple, propose ce type de service. L’idée est de prendre deux modèles, de leur faire générer un même contenu et de regarder.
C’est une évaluation « humaine » des performances en sortie. Mais on voit aussi apparaître des évaluations automatiques, où une troisième IA compare les performances de deux modèles d’IA génératives. Les résultats sont convaincants. Même si on ne sait pas encore si c’est la meilleure manière de faire.
Personnaliser un LLM : réentraînement vs bases vectorielles
LeMagIT : Revenons sur les manières de personnaliser et d’adapter un modèle à des besoins particuliers. Vous avez évoqué les notions de réentraînement et de bases de connaissances. En quoi diffèrent-elles ?
Guillaume Gérard : Le réentraînement consiste à prendre un modèle déjà entraîné - de cette manière on bénéficie de toutes les capacités conversationnelles, de langage, de raisonnement qu’il a acquis lors de son entraînement initial - puis, dans un second temps, on poursuit cet entraînement avec les données d’une entreprise.
Guillaume GérardHead of GenAI South & Central Europe chez Capgemini
Cela va permettre au modèle d’acquérir de nouvelles connaissances et, éventuellement, de se comporter de manière différente.
Mais ce n’est pas si simple. Il faut avoir des compétences particulières autour de la data science, de la data ingénierie et de la data architecture. Et même si cela n’est pas forcément très long, cela peut engendrer quelques coûts supplémentaires.
Heureusement, tous les cas de personnalisation ne nécessitent pas un réentraînement. La seconde possibilité pour utiliser ses données sans réentraîner un modèle, c’est de mettre en place une base vectorielle.
Une base vectorielle est une base dans laquelle on met des documents. Chaque document devient alors un vecteur (NDR : un objet mathématique à n dimensions), ce qui permet de faire des calculs pour déterminer des choses comme la pertinence d’un document par rapport à une question (NDR : en évaluant des proximités et des distances vectorielles).
On utilise ensuite ce qu’on appelle une « architecture RAG (Retrieval Augmenterd Generation) ». Lorsque l’on pose une question au bot, on identifie [en amont] les parties les plus intéressantes dans le corpus vectoriel pour répondre. Puis on utilise ces parties comme des éléments de contexte à transmettre au LLM. En résumé, on dit au modèle : « en t’appuyant sur ces informations choisies dans notre corpus global, réponds à cette question ».
On n’injecte en entrée dans le modèle que la petite partie des documents intéressants pour répondre à la requête ; alors que dans le réentraînement, on utilise toutes les données pour modifier certains paramètres internes du modèle.
Une base vectorielle est une méthode plus simple. L’autre avantage, c’est qu’on peut la faire évoluer en ajoutant ou en retirant des documents comme on veut, sans toucher au modèle lui-même. Dans la logique de réentraînement, il faudrait l’entraîner à chaque nouveau document.
LeMagIT : Comment passe-t-on de documents, aux formats divers, à une base vectorielle ?
Guillaume Gérard : Des éditeurs – comme Dataiku à nouveau – proposent d’automatiser le processus avec des « Studio », en mode « click bouton ».
Sinon, il faut passer par des développeurs qui utilisent des algorithmes de Deep Learning pour la conversion – des algorithmes « d’embedding ». Les hyperscalers proposent ce type d’algorithmes clefs en main.
Et il y a toujours la possibilité de le faire de manière plus personnalisée, mais cela demande des compétences très poussées en Data Sciences.
LeMagIT : Là encore, traduire un corpus documentaire en vecteurs a l’air simple à dire, mais pas forcément simple à faire…
Guillaume GérardHead of GenAI South & Central Europe chez Capgemini
Guillaume Gérard : Ce n’est pas très compliqué. Le plus complexe, c’est de faire le bon découpage des documents. On peut encapsuler un document en entier, ou « embedder » à la suite des paragraphes, des images, des tableaux de ce document. Le résultat vectoriel ne sera pas le même.
La granularité à laquelle on va embedder un document correspond à la granularité de l’information à laquelle aura accès le modèle. Si la granularité est trop fine, on risque de ne pas donner suffisamment d’éléments pour que le modèle puisse répondre correctement à une question. Par exemple, une jurisprudence sans contexte ne sera pas forcément utilisable.
A contrario, si on lui donne trop d’éléments, le modèle risque de se perdre dans le bruit de l’information qui lui est donné.
Là aussi il faut trouver un juste équilibre, et c’est d’ailleurs la forte valeur ajoutée dans ce domaine des développeurs qui ont des compétences en NLP.
LeMagIT : La base de connaissance est plus accessible et flexible. Dans quels cas faudra-t-il néanmoins envisager le réentraînement ?
Guillaume Gérard : On a besoin de l’entraînement quand on a un énorme volume de données. Si on a un très gros corpus documentaire, et donc des bases vectorielles monstrueuses, on aura forcément plus de mal à trouver la bonne information dans ce corpus pour formuler la réponse.
Un autre cas pertinent du réentraînement se présente quand vous avez besoin que le modèle acquière de nouvelles compétences linguistiques. Par exemple Llama 2 ne parle pas très bien français. Ce n’était pas une priorité de Meta lors de son entraînement. Mais c’est un modèle très intéressant qui a des capacités de raisonnements. Pour l’utiliser de manière optimale dans les pays francophones, il faut envisager de le réentraîner avec des documents en français.
Guillaume GérardHead of GenAI South & Central Europe chez Capgemini
LeMagIT : Prenons un exemple concret. Une chaîne de grands magasins de bricolage dispose de milliers de fiches produits. Elle a aussi des FAQ, et bien souvent des tutoriels. Si elle voulait faire un « BricoGPT » qui réponde aux questions sur les travaux, faudrait-il passer par un réentraînement (le corpus documentaire est conséquent) ou par une base de connaissances ?
Guillaume Gérard : Je verrais plus une base de connaissances. Déjà parce que les capacités conversationnelles liées au bricolage sont assez basiques [pour les LLM]. Et même s’il y a énormément de fiches produits, les terminologies sont claires : il reste facile d’accéder aux données intéressantes.
Par exemple, si vous posez une question sur des vis, vous pouvez éliminer de la recherche 90 % des produits et vous concentrer sur les 10 % de fiches restantes liées au sujet (NDR : chevilles, perceuses, mèches, etc.) dans la base vectorielle pour donner le contexte au modèle.
Les 6 niveaux d’adaptation un LLM à ses besoins
LeMagIT : Nous avons abordé le réentraînement et la base de connaissances. Existe-t-il d’autres moyens de modifier des modèles pour les adapter à des besoins précis ?
Guillaume Gérard : Oui, il y a un éventail de possibilités.
Les plus simples sont les « instructions de personnalisation » (Custom Instructions) et le « prompt tunning ». On donne des pré-instructions au modèle (un pré-prompt) pour qu’il change son comportement. Par exemple, on peut lui dire de toujours reformuler la question. Ou de répondre systématiquement en anglais (NDR : ou de répondre en jouant un rôle).
Ensuite, il y a ce qu’on appelle le « few shot learning ». Cette technique consiste à donner, encore dans un prompt, des exemples avant de poser des questions. Dans une logique industrielle, cette partie de pré-prompt est « cachée » à l’utilisateur pour qu’il ait un produit « sur étagère » qui arbore déjà le comportement souhaité.
Un troisième niveau est le « fine tuning ». C’est là qu’on quitte le domaine des prompts et du paramétrage pour entrer dans une logique d’entraînement. Dans le « fine tuning », on gèle certaines couches du modèle lors du réentraînement et on ne spécialise que les dernières couches.
Un quatrième niveau est de faire la même chose, mais en dégelant toutes les couches. L’entraînement devrait néanmoins converger plus vite parce que, en théorie, le modèle a déjà acquis du savoir.
Enfin un cinquième niveau serait d’entraîner un modèle « from scratch ». Mais dans ce cas, il faut des centaines de milliers d’euros.
LeMagIT : Et entre les pré-prompts et les réentraînements, il y a l’embedding de documents dans des bases vectorielles de savoir ?
Guillaume Gérard : Oui.
IA générative et PME/ETI
LeMagIT : L’IA générative « personnalisée » est-elle à la portée de toutes les PME ? Ou est-ce une technologie réservée aux grands groupes ?
Guillaume Gérard : Cela me paraît accessible pour beaucoup d’entreprises, dans le sens où c’est peu cher à l’utilisation.
Guillaume GérardHead of GenAI South & Central Europe chez Capgemini
Si on est sur une logique d’intégration d’une solution comme ChatGPT, mais dans un contexte sécurisé, avec la possibilité de déformer un peu le comportement du modèle, on reste sur des choses peu coûteuses à faire et assez intuitives.
LeMagIT : Parce que c’est l’entraînement du modèle qui coûte cher, et pas l’inférence ?
Guillaume Gérard : Exactement. Après, cela dépend. Sur du temps réel où on solliciterait le modèle toutes les microsecondes, cela pourrait vite être très cher. Mais, sur un usage « classique » – poser des questions, demander des synthèses de documents et des résumés – même de manière intensive, cela reste très accessible. On parle de quelques centaines, au maximum quelques milliers d’euros, pour des centaines d’utilisateurs.
Et puis, bien sûr, pour les PME, l’IA générative est accessible dans les solutions métiers « augmentées », qu’on utilise au quotidien, et qui propose de plus en plus un assistant qui fait les choses pour vous et à qui on s’adresse en langage naturel.
Lire aussi pour maîtriser son Intelligence artificielle générative
Bien débuter son projet d’IA générative
Les théories et pratiques essentielles pour déployer l’IA générative