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.
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.
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 :
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 :
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.
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).
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.
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.
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.
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.
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
Pour exploiter au mieux l'affinage, suivez ces bonnes pratiques :
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.
Si l'affinage peut offrir de nombreux avantages, il présente également des difficultés potentielles à prendre en compte :
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.
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.
Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.