Affinage des LLM et des modèles d'IA

Les grands modèles de langage (LLM) sont des outils puissants qui peuvent vous aider à accomplir de nombreuses tâches, comme rédiger des e-mails ou répondre à des questions complexes. Mais parfois, ces modèles ne comprennent pas tout à fait ce que vous attendez d'eux pour votre projet spécifique. C'est là qu'intervient l'affinage du modèle. C'est comme enseigner à un élève intelligent les compétences spécifiques dont il a besoin pour un emploi particulier.

Affinage de Gemini avec Google AI Studio

Qu'est-ce que l'affinage ?

L'affinage consiste à entraîner davantage un LLM pré-entraîné sur un ensemble de données spécifique à une tâche (un processus d'apprentissage par transfert). Imaginez un modèle pré-entraîné qui a déjà appris beaucoup d'informations générales. L'affinage permet de le spécialiser dans un domaine particulier.

Quand utiliser l'affinage ou le RAG

L'affinage et la génération augmentée par récupération (RAG) sont deux méthodes différentes pour ajuster les LLM à des cas d'utilisation spécifiques. Le choix de la méthode dépend de facteurs tels que le type de tâche, la quantité de données disponibles et les objectifs à atteindre.

Technique


Principale différence


Avantages

Défis

Affinage

Modifie le paramètre du modèle.

Justesse accrue, amélioration de la spécificité, réduction des hallucinations, interactions personnalisées, rentabilité, réduction des biais.

Risque "d'oubli catastrophique", coût des ressources plus élevé, besoins des données plus fortes et risque de surapprentissage.

RAG


Ajoute des connaissances externes aux requêtes.

Intégration dynamique des connaissances, pertinence contextuelle, polyvalence, besoin réduit de formation approfondie.

Justesse limitée (par exemple, le RAG ne peut référencer que les données auxquelles il a accès et ne fait pas d'inférences basées sur son entraînement), complexité de la maintenance des systèmes RAG, risque d'hallucinations.

Technique


Principale différence


Avantages

Défis

Affinage

Modifie le paramètre du modèle.

Justesse accrue, amélioration de la spécificité, réduction des hallucinations, interactions personnalisées, rentabilité, réduction des biais.

Risque "d'oubli catastrophique", coût des ressources plus élevé, besoins des données plus fortes et risque de surapprentissage.

RAG


Ajoute des connaissances externes aux requêtes.

Intégration dynamique des connaissances, pertinence contextuelle, polyvalence, besoin réduit de formation approfondie.

Justesse limitée (par exemple, le RAG ne peut référencer que les données auxquelles il a accès et ne fait pas d'inférences basées sur son entraînement), complexité de la maintenance des systèmes RAG, risque d'hallucinations.

Vous devriez envisager d'affiner un LLM lorsque vous souhaitez qu'il :

  • Comprenne un langage ou un jargon spécifique : si votre projet utilise de nombreux termes spécifiques à un secteur, l'affinage peut aider le modèle à apprendre et à utiliser ce langage correctement.  
  • Améliore la justesse pour une tâche particulière : l'affinage peut améliorer considérablement les performances du modèle si vous avez besoin qu'il effectue une tâche spécifique, comme classer les avis clients ou générer des descriptions de produits. 
  • Adopte un style ou un ton particulier : si vous souhaitez que le modèle génère du texte qui correspond à la voix d'une marque ou à un style d'écriture spécifique, l'affinage peut vous aider.  
  • Travaille avec des données limitées : lorsque vous disposez de peu de données, l'affinage peut être plus efficace que l'entraînement d'un modèle à partir de zéro, car il exploite les connaissances que le modèle pré-entraîné possède déjà.  
  • Réduise les coûts et la latence : pour les cas d'utilisation à volume élevé, affiner un modèle plus petit peut être plus rentable que d'utiliser un modèle plus grand et à usage général pour chaque requête.
  • Gére les cas extrêmes : l'affinage peut améliorer la capacité du modèle à gérer les cas extrêmes et les requêtes complexes qu'il est difficile de traiter uniquement avec le prompt engineering

Fonctionnement de l'affinage : un guide par étapes

L'affinage s'appuie sur les bases d'un LLM pré-entraîné. Ces modèles pré-entraînés ont déjà acquis une grande quantité de connaissances générales sur le langage à partir d'ensembles de données massifs. Pendant l'affinage, le modèle est exposé à un ensemble de données plus petit et spécifique à une tâche. Les paramètres internes du modèle (que l'on peut considérer comme des millions de petits boutons qui contrôlent ses connaissances) sont ajustés pour mieux correspondre aux exemples du nouvel ensemble de données. Ce processus de "réentraînement" met à jour en douceur les connexions internes du modèle pour qu'il devienne un expert sur le nouveau sujet. Décomposons le processus d'affinage en quelques étapes pratiques :

Étape 1 : Préparation des données

Avant de commencer l'affinage, il est essentiel de préparer vos données. La qualité et la structure de vos données ont un impact direct sur les performances du modèle affiné. Cette étape consiste à collecter, nettoyer, mettre en forme et diviser vos données en ensembles appropriés pour l'entraînement, la validation et les tests.

  • Collecter les données : rassemblez les données que vous utiliserez pour affiner le modèle. Ces données doivent être adaptées pour la tâche spécifique dans laquelle vous souhaitez que le modèle excelle.
  • Nettoyer et mettre en forme : nettoyez vos données en supprimant les erreurs, les incohérences et les informations non adaptées, et assurez-vous qu'elles sont dans un format que le modèle peut comprendre.
  • Diviser les données : divisez vos données en trois ensembles : 1) l'ensemble d'entraînement (utilisé pour entraîner le modèle), 2) l'ensemble de validation (utilisé pour surveiller les performances du modèle et ajuster les paramètres) et 3) l'ensemble de test (utilisé pour évaluer les performances finales du modèle affiné).

Étape 2 : Choisir une approche

Lorsque vous procédez à un affinage, vous pouvez choisir la part du modèle pré-entraîné que vous souhaitez ajuster. L'approche que vous choisissez dépend de facteurs tels que la taille de votre ensemble de données, les ressources de calcul disponibles et le niveau de justesse souhaité. Les deux approches principales sont l'affinage complet et l'optimisation du réglage des paramètres (PEFT).


Affinage complet

Avec l'affinage complet, tous les paramètres du modèle sont mis à jour pendant l'entraînement. Cette approche est adaptée lorsque l'ensemble de données spécifique à la tâche est volumineux et diffère considérablement des données de pré-entraînement.  


PEFT 

L'optimisation du réglage des paramètres offre une méthode d'affinage plus intelligente et plus efficace. Au lieu de réentraîner l'intégralité du modèle (ce qui est lent et coûteux), les méthodes PEFT gèlent le LLM d'origine et ajoutent de minuscules couches entraînables.

Imaginez que vous ayez un manuel de 1 000 pages. Au lieu de le réécrire entièrement, vous ajoutez simplement quelques pages de notes contenant les nouvelles informations spécialisées. Cela rend le processus beaucoup plus rapide et moins coûteux. Les méthodes PEFT les plus courantes, comme LoRA (Low-Rank Adaptation) et QLoRA (Quantized Low-Rank Adaptation), permettent d'affiner les LLM de façon plus efficace. 

Étape 3 : Entraîner le modèle

Une fois que vous avez préparé vos données et sélectionné votre technique, il est temps d'entraîner le modèle. C'est à ce moment que le modèle apprend à partir de vos données et ajuste ses paramètres pour améliorer ses performances sur votre tâche spécifique. Il est essentiel de surveiller et d'ajuster avec soin les paramètres d'entraînement pour obtenir des résultats optimaux.

  • Définir les hyperparamètres : configurez des paramètres tels que le taux d'apprentissage, la taille de lot et le nombre d'époques. Ces paramètres permettent de contrôler la façon dont le modèle apprend.
  • Démarrer l'entraînement : alimentez le modèle avec les données d'entraînement et laissez-le apprendre ; surveillez les performances du modèle à l'aide de l'ensemble de validation.
  • Apporter des ajustements si nécessaire : si le modèle n'est pas performant, vous pouvez ajuster les hyperparamètres ou essayer une autre technique d'affinage.

Étape 4 : Évaluation et déploiement

La dernière étape consiste à évaluer les performances de votre modèle affiné et à le déployer pour un cas d'utilisation concret. Cela nécessite d'évaluer sa justesse et son efficacité, puis de l'intégrer à votre application ou système. Une surveillance et un réentraînement continus peuvent être nécessaires pour maintenir des performances optimales dans le temps.

  • Évaluer les performances : utilisez l'ensemble de test pour évaluer les performances finales du modèle affiné. Examinez les métriques pertinentes pour votre tâche, telles que la justesse, la précision et le rappel.
  • Déployer le modèle : si vous êtes satisfait des performances, déployez le modèle dans votre application ou votre système.
  • Surveiller les performances : surveillez les performances du modèle dans le monde réel et réentraînez-le si nécessaire pour maintenir sa justesse.

Types d'affinages

Il existe différentes façons d'affiner un modèle, selon vos objectifs et vos ressources :

Type

Description

Cas d'utilisation

Réglage supervisé

Le modèle est entraîné sur un ensemble de données étiqueté avec des paires d'entrée-sortie.

Classification de texte, reconnaissance d'entités nommées, analyse des sentiments

Affinage des instructions

Le modèle est entraîné sur un ensemble de données d'instructions et de réponses souhaitées.

Chatbots, systèmes de questions-réponses, génération de code

Apprentissage few-shot

Le modèle reçoit quelques exemples de la tâche souhaitée dans le prompt.

S'adapter à de nouvelles tâches avec des données limitées

Apprentissage par transfert

Le modèle exploite les connaissances acquises lors du pré-entraînement sur un ensemble de données à usage général.

Adaptation aux tâches associées

Affinage spécifique au domaine

Le modèle est adapté à un domaine ou à un secteur particulier.

Analyse de documents juridiques, génération de rapports médicaux, prévisions financières

Apprentissage multitâche

Le modèle est entraîné sur plusieurs tâches simultanément.

Amélioration des performances pour les tâches associées

Affinage séquentiel

Le modèle est adapté à une série de tâches associées par étapes.

Amélioration progressive des capacités pour les tâches complexes

Type

Description

Cas d'utilisation

Réglage supervisé

Le modèle est entraîné sur un ensemble de données étiqueté avec des paires d'entrée-sortie.

Classification de texte, reconnaissance d'entités nommées, analyse des sentiments

Affinage des instructions

Le modèle est entraîné sur un ensemble de données d'instructions et de réponses souhaitées.

Chatbots, systèmes de questions-réponses, génération de code

Apprentissage few-shot

Le modèle reçoit quelques exemples de la tâche souhaitée dans le prompt.

S'adapter à de nouvelles tâches avec des données limitées

Apprentissage par transfert

Le modèle exploite les connaissances acquises lors du pré-entraînement sur un ensemble de données à usage général.

Adaptation aux tâches associées

Affinage spécifique au domaine

Le modèle est adapté à un domaine ou à un secteur particulier.

Analyse de documents juridiques, génération de rapports médicaux, prévisions financières

Apprentissage multitâche

Le modèle est entraîné sur plusieurs tâches simultanément.

Amélioration des performances pour les tâches associées

Affinage séquentiel

Le modèle est adapté à une série de tâches associées par étapes.

Amélioration progressive des capacités pour les tâches complexes

Bonnes pratiques pour l'affinage

Pour exploiter au mieux l'affinage, suivez ces bonnes pratiques :  

  • Qualité et quantité des données : utilisez un ensemble de données de haute qualité, pertinent, diversifié et suffisamment volumineux. La qualité des données est primordiale pour l'affinage. Assurez-vous que les données sont exactes, cohérentes et exemptes d'erreurs ou de biais. Par exemple, un ensemble de données avec des étiquettes bruitées ou un formatage incohérent peut nuire considérablement à la capacité du modèle à apprendre efficacement.   
  • Réglage des hyperparamètres : testez différents réglages d'hyperparamètres pour trouver la configuration optimale pour votre tâche.   
  • Évaluation régulière : évaluez régulièrement les performances du modèle pendant l'entraînement pour suivre sa progression et apporter les ajustements nécessaires.   
  • Éviter le surapprentissage : utilisez des techniques telles que l'arrêt prématuré et la régularisation pour éviter le surapprentissage des données d'entraînement.   
  • Gérer les biais : soyez attentif aux biais potentiels dans les données et utilisez des techniques pour les atténuer dans le modèle affiné.

Avantages de l'affinage des LLM

L'affinage présente plusieurs avantages potentiels :

Amélioration de la justesse

Cela peut améliorer considérablement la justesse et la pertinence des résultats du modèle pour votre cas d'utilisation spécifique, et potentiellement réduire les hallucinations générées par l'IA.  

Entraînement plus rapide

L'affinage est plus rapide et nécessite moins de données que l'entraînement d'un modèle à partir de zéro.

Rentable

Cette approche peut être plus rentable que l'entraînement d'un nouveau modèle, car elle nécessite moins de puissance de calcul et de données. 

Personnalisation

L'affinage vous permet de personnaliser le comportement du modèle pour l'aligner sur vos besoins et objectifs spécifiques. 

Réduction des biais

Cette approche permet de mieux contrôler le comportement du modèle et de réduire le risque de générer des contenus biaisés ou controversés.

Fenêtre de contexte plus grande

L'affinage permet d'augmenter la fenêtre de contexte des LLM, ce qui leur permet de traiter et de retenir davantage d'informations.

Difficultés courantes lors de l'affinage

Si l'affinage peut offrir de nombreux avantages, il présente également des difficultés potentielles à prendre en compte : 

  • Surapprentissage : le modèle apprend trop bien les données d'entraînement et ne se prête pas bien à la généralisation sur de nouvelles données. Vous pouvez atténuer le surapprentissage à l'aide de techniques telles que la régularisation et l'augmentation des données.  
  • Pénurie de données : un volume de données insuffisant peut limiter l'efficacité de l'affinage. Envisagez d'utiliser des techniques d'augmentation des données ou l'apprentissage par transfert à partir d'autres tâches associées.  
  • Oubli catastrophique : si vous spécialisez le modèle de façon trop restreinte, il peut oublier ses connaissances générales. C'est un peu comme un médecin expert qui, en devenant chirurgien hyperspécialisé, oublierait les gestes de premier secours. Vous pouvez atténuer l'oubli catastrophique à l'aide de techniques telles que la régularisation et les mémoires de rejeu.  
  • Ressources de calcul : l'affinage de grands modèles peut être coûteux en ressources de calcul et nécessiter une quantité importante de mémoire. Envisagez d'utiliser des techniques telles que l'affinage des paramètres (PEFT), la quantification et l'entraînement distribué pour réduire les besoins en calcul.  
  • Évaluation : l'évaluation des performances des LLM affinés peut être complexe, car elle nécessite de sélectionner avec soin les métriques et les benchmarks.  
  • Difficultés liées à l'apprentissage multitâche : l'affinage des LLM pour l'apprentissage multitâche pose des difficultés spécifiques, comme l'interférence entre les tâches (conflit entre différents objectifs lors de l'entraînement) et le déséquilibre des données (les tâches disposant de plus de données peuvent dominer les autres).

Cas d'utilisation de l'affinage

L'affinage peut être appliqué à un large éventail de cas d'utilisation :

Service client

Affinez un LLM pour comprendre les demandes des clients et y répondre plus efficacement, y compris dans les chatbots.  

L'affinage permet d'améliorer la capacité des LLM à générer des résumés concis et précis dans des domaines ou des styles d'écriture spécifiques.

Création de contenu

Créez des articles de blog, des publications ou des descriptions de produits dans un style spécifique avec un modèle affiné.  

Analyse de données

Affinez un modèle pour classer et analyser des données textuelles, comme des posts sur les réseaux sociaux ou des avis clients.

Générez du code dans un langage de programmation ou un framework spécifique avec un modèle affiné. 

Traduction automatique

Google Traduction utilise l'affinage pour améliorer la qualité de la traduction automatique en adaptant le modèle à des paires de langues et à des domaines spécifiques. 

Affinage à grande échelle avec Google Cloud

Google Cloud offre un écosystème robuste pour vous aider à affiner vos modèles. Vous y trouverez tout ce dont vous avez besoin, d'une plate-forme de machine learning unifiée au matériel spécialisé nécessaire pour accélérer les calculs complexes. Que vous personnalisiez un modèle de fondation ou affiniez le vôtre, ces services simplifient l'ensemble du workflow.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud