Meta : une approche d'adaptation (application pratique) pour les grands modèles de langage
Texte original :
https://ai.meta.com/blog/adapting-large-language-models-llms/
https://ai.meta.com/blog/when-to-fine-tune-llms-vs-other-techniques/
https://ai.meta.com/blog/how-to-fine-tune-llms-peft-dataset-curation/
Cet article est le premier d'une série de trois articles de blog sur l'adaptation des grands modèles de langue (LLM) open source. Dans cet article, nous allons découvrir les différentes méthodes disponibles pour adapter les LLM aux données du domaine.
- existent Partie 2Nous verrons comment déterminer si le réglage fin est approprié pour votre cas d'utilisation.
- existent Troisième partieNous allons explorer quelques règles empiriques concernant la constitution d'ensembles de données de formation de qualité.
introductif
Grands modèles linguistiques (LLM) dans un large éventail de tâches linguistiques et de traitement du langage naturel (NLP) l'étalonnage des performancesLe nombre de cas d'utilisation de produits basés sur ces modèles "génériques" augmente. Le nombre de cas d'utilisation de produits basés sur ces modèles "génériques" augmente. Dans cet article de blog, nous fournirons des conseils aux petites équipes de produits d'IA qui cherchent à adapter et à intégrer les LLM dans leurs projets. Commençons par clarifier la terminologie (souvent confuse) autour des LLM, puis comparons brièvement les différentes approches d'adaptation disponibles, et enfin recommandons un organigramme étape par étape pour déterminer la bonne approche pour votre cas d'utilisation.
Méthode d'adaptation LLM
préformation
Le pré-entraînement consiste à utiliser des billions de données. jetons Le processus de formation du LLM à partir de zéro. Les modèles sont formés à l'aide d'algorithmes auto-supervisés. Le plus souvent, la formation prédit par autorégression le prochain jeton à effectuer (modélisation du langage causal). Le pré-entraînement prend généralement des milliers d'heures de GPU (105 - 107 [source1, source2) sont répartis sur plusieurs GPU. Le modèle de sortie pré-entraîné est appelé modèle de base.
Préformation continue
Le pré-entraînement continu (également connu sous le nom de pré-entraînement en deux étapes) implique un entraînement supplémentaire du modèle de base à l'aide de nouvelles données de domaine non vues. Le même algorithme auto-supervisé est utilisé que pour le pré-entraînement initial. Il implique généralement tous les poids du modèle et le mélange d'une partie des données d'origine avec les nouvelles données.
réglage fin
Le réglage fin est le processus d'adaptation d'un modèle linguistique pré-entraîné à l'aide d'un ensemble de données annotées de manière supervisée ou en utilisant des techniques basées sur l'apprentissage par renforcement. Il existe deux différences principales par rapport au pré-entraînement :
- Formation supervisée sur des ensembles de données annotés - contenant des étiquettes/réponses/préférences correctes - pas de formation auto-supervisée
- Moins de jetons sont nécessaires (des milliers ou des millions, au lieu des milliards ou des trillions nécessaires pour la préformation), l'objectif principal étant d'améliorer le suivi des commandes, l'alignement humain, l'exécution des tâches, etc.
La compréhension de la grille de mise au point actuelle comporte deux dimensions : le pourcentage de paramètres modifiés et les nouvelles capacités ajoutées à la suite de la mise au point.
Pourcentage de paramètres modifiés
Il existe deux types d'algorithmes en fonction du nombre de paramètres modifiés :
- Complètement peaufiné : Comme son nom l'indique, il s'agit de modifier tous les paramètres du modèle, y compris le réglage fin traditionnel des modèles plus petits tels que XLMR et BERT (100 à 300 millions de paramètres), ainsi que l'analyse de l'impact sur l'environnement. Lama 2La mise au point de grands modèles tels que le GPT3 (plus d'un milliard de paramètres).
- Parameter Efficient Fine Tuning (PEFT) : Contrairement à l'ajustement fin de tous les poids LLM, l'algorithme PEFT n'ajuste qu'un petit nombre de paramètres supplémentaires ou met à jour un sous-ensemble des paramètres de pré-entraînement, typiquement 1 - 6% du total des paramètres.
Possibilité de compléter le modèle de base
L'objectif de la mise au point est d'ajouter des capacités aux modèles pré-entraînés - par exemple, l'adhésion aux instructions, l'alignement humain, etc. Le lama 2 pour l'ajustement du dialogue est un modèle affiné avec la capacité d'ajouter l'adhésion à l'instruction et l'alignement. exemple typique.
Génération améliorée par la recherche (RAG)
Les organisations peuvent également s'adapter aux LLM en ajoutant des bases de connaissances spécifiques à un domaine.RAG est essentiellement une "génération de texte LLM pilotée par la recherche".RAG, qui sera lancé en 2020, utilise des contextes de repérage dynamiques récupérés en fonction de la question d'un utilisateur et injectés avec des indices LLM pour le guider dans l'utilisation du contenu récupéré au lieu de connaissances pré-entraînées - et potentiellement dépassées. -connaissances.Chat LangChain est un exemple populaire de chatbot de questions-réponses sur les documents LangChain alimenté par RAG.
Apprentissage contextuel (ICL)
Avec l'ICL, nous avons adapté le LLM en plaçant des exemples de prototypes dans les messages-guides, et plusieurs études ont montré que la "démonstration par l'exemple" est efficace. Ces exemples peuvent contenir différents types d'informations :
- Texte d'entrée et de sortie uniquement - c'est-à-dire moins d'apprentissage par échantillonnage
- Traces de raisonnement : ajout d'étapes de raisonnement intermédiaires ; cf. chaîne de pensée (CdT) Conseils
- Piste de planification et de réflexion : ajouter des informations qui apprennent à LLM à planifier et à réfléchir à sa stratégie de résolution de problèmes ; voir ReACT
Il existe toute une série d'autres stratégies pour modifier les messages-guides quiGuide de l'ingénieur-conseilUne vue d'ensemble est incluse.
Choisir la bonne méthode d'adaptation
Afin de décider laquelle des méthodes ci-dessus est appropriée pour une application particulière, vous devez tenir compte de plusieurs facteurs : les capacités du modèle requises pour la tâche poursuivie, le coût de formation, le coût d'inférence, le type d'ensemble de données, etc. L'organigramme ci-dessous résume nos recommandations pour vous aider à choisir la bonne méthode d'adaptation du Grand Modèle de Langage (LLM).
❌ Préformation
Le pré-entraînement est une partie importante de la formation LLM, utilisant des variantes de prédiction de jetons comme fonctions de perte. Sa nature auto-supervisée permet l'apprentissage sur de grandes quantités de données. Par exemple, Llama 2 a été entraîné sur 2 billions de jetons. Cela nécessite une infrastructure informatique massive : Llama 2 70B cost 1 720 320 heures GPU. Par conséquent, nous ne recommandons pas la préformation comme méthode viable pour l'adaptation du LLM pour les équipes disposant de ressources limitées.
Étant donné que le pré-entraînement est prohibitif sur le plan informatique, la mise à jour des poids d'un modèle déjà pré-entraîné peut être un moyen efficace d'adapter le LLM à une tâche spécifique. Toute approche de mise à jour des poids d'un modèle pré-entraîné est sujette au phénomène d'oubli catastrophique, un terme utilisé pour décrire un modèle qui oublie les compétences et les connaissances acquises précédemment. Par exemple, l'oubli catastrophique est un terme utilisé pour décrire un modèle qui oublie les compétences et les connaissances acquises précédemment.cette étudemontre que les modèles affinés dans le domaine médical sont moins performants lorsqu'il s'agit de suivre des instructions ou de répondre à des questions courantes. D'autres études ont également montré que les connaissances générales acquises lors de la préformation peuvent être oubliées au cours de la formation ultérieure. Par exemple.cette étudeCertaines preuves de l'oubli de connaissances en LLM sont fournies en termes de connaissances du domaine, de raisonnement et de compréhension de la lecture.
❌ Pré-entraînement continu
Si l'on considère l'oubli catastrophique, des développements récents suggèrent que le pré-entraînement continu (CPT) peut encore améliorer les performances à une fraction du coût de calcul requis pour le pré-entraînement. La pré-formation continue peut être bénéfique pour les tâches qui exigent que le LLM acquière de nouvelles compétences de conversion. Par exemple.Il est rapporté que...La formation préalable continue a permis d'ajouter le multilinguisme.
Cependant, la TPC reste un processus coûteux qui nécessite des données et des ressources informatiques importantes. Par exemple, la suite Pythia est passée par une deuxième étape de pré-entraînement, qui a abouti à la création de la base de données FinPythia-6.9BCe modèle est conçu pour les données financières. Ce modèle, conçu spécifiquement pour les données financières, a été soumis à 18 jours de CPT en utilisant un ensemble de données contenant 24 milliards de jetons. en outre, le CPT est sujet à des oublis catastrophiques. Par conséquent, nous ne recommandons pas le pré-entraînement continu comme approche viable de l'adaptation LLM pour les équipes disposant de ressources limitées.
En conclusion, l'utilisation d'algorithmes auto-supervisés et d'ensembles de données non étiquetés pour adapter les MLD (comme c'est le cas pour la pré-formation et la pré-formation continue) est coûteuse en ressources et n'est pas recommandée en tant qu'approche viable.
✅ Réglage fin complet et réglage fin paramétrique efficace (PEFT)
Le réglage fin à l'aide de petits ensembles de données étiquetées est une approche plus rentable que le pré-entraînement à l'aide d'ensembles de données non étiquetées. En adaptant le modèle pré-entraîné à une tâche spécifique, il a été démontré que le modèle affiné obtenait des résultats de pointe dans un large éventail d'applications et de spécialisations (juridiques, médicales ou financières, par exemple).
La mise au point, en particulier la mise au point efficace des paramètres (PEFT), ne nécessite qu'une fraction des ressources informatiques requises pour le pré-entraînement/pré-entraînement continu. Il s'agit donc d'une méthode d'adaptation LLM viable pour les équipes disposant de ressources limitées. Dans cette série deTroisième partieNous y abordons les détails du réglage fin, y compris le réglage fin intégral, le PEFT et un guide pratique sur la manière de procéder.
✅ Récupérer la génération augmentée (RAG)
RAG est une autre méthode d'adaptation LLM populaire. Si votre application doit extraire des informations d'une base de connaissances dynamique (par exemple, un bot de quiz), RAG peut être une bonne solution. La complexité d'un système basé sur RAG réside principalement dans l'implémentation du moteur de recherche. Le coût de raisonnement de ces systèmes peut être plus élevé parce que les indices comprennent les documents récupérés et que la plupart des fournisseurs utilisent un modèle basé sur les jetons. Dans cette série dePartie 2dans lequel nous discutons plus largement du RAG et le comparons au réglage fin.
Apprentissage contextuel (ICL)
C'est la manière la plus rentable d'adapter LLM.ICL ne nécessite pas de données d'apprentissage ou de ressources informatiques supplémentaires, ce qui en fait une approche rentable. Cependant, comme pour RAG, le coût et la latence de l'inférence peuvent augmenter en raison du traitement d'un plus grand nombre de tokens au moment de l'inférence.
résumés
La création d'un système basé sur le LLM est un processus itératif. Nous vous recommandons de commencer par une approche simple et d'augmenter progressivement la complexité jusqu'à ce que vous atteigniez votre objectif. L'organigramme ci-dessus décrit ce processus itératif et constitue une base solide pour votre stratégie d'adaptation au LLM.
une note de remerciement
Nous tenons à remercier Suraj Subramanian et Varun Vontimitta pour leurs commentaires constructifs sur l'organisation et la préparation de ce billet de blog.
Partie II : Régler finement ou ne pas régler finement
Cet article est le deuxième d'une série de billets de blog sur l'adaptation des grands modèles linguistiques (LLM) Open Source. Dans ce billet, nous aborderons la question suivante : "Quand devons-nous affiner et quand devons-nous envisager d'autres technologies ?"
- existent Première partieNous avons examiné les approches courantes d'adaptation des modèles linguistiques aux données du domaine.
- existent Partie IIILe site Web de la Commission européenne présente quelques règles empiriques concernant la constitution d'ensembles de données d'entraînement de qualité.
introductif
Avant l'essor des grands modèles de langage, le réglage fin était couramment utilisé pour les modèles à plus petite échelle (100 millions - 300 millions de paramètres). Les applications de domaine les plus avancées étaient construites à l'aide d'un réglage fin supervisé (SFT), c'est-à-dire que les modèles pré-entraînés étaient entraînés à l'aide de données annotées provenant de votre propre domaine et de tâches en aval. Cependant, avec l'avènement de modèles plus importants (> 1 milliard de paramètres), la question du réglage fin devient plus subtile. Plus important encore, les modèles de plus grande taille nécessitent davantage de ressources et de matériel commercial pour le réglage fin. Le tableau 1 ci-dessous fournit une liste des pics d'utilisation de la mémoire du GPU pour le réglage fin des modèles Llama 2 7B et Llama 2 13B dans trois scénarios. Vous remarquerez que les modèles tels que QLoRA Ces algorithmes facilitent la mise au point de grands modèles en utilisant des ressources limitées. Par exemple, le tableau 1 montre la mémoire maximale du GPU pour trois scénarios de réglage fin (réglage fin complet, LoRA et QLoRA) sur Llama 2 7B. Des réductions de mémoire similaires résultant d'un réglage fin paramétrique efficace (PEFT) ou d'une quantification sont également présentées sur Llama 1. rapport Plus. Outre les ressources informatiques, les oublis catastrophiques (pour plus d'informations, voir cette série d'articles sur le thème de l'oubli) ne sont pas une fatalité. Première partieLa technique PEFT vise à remédier à ces lacunes en entraînant un petit nombre de paramètres.
Tableau 1 : Mémoire (GB) sur LLama 2 7B pour différentes méthodes de réglage fin (source (d'information, etc.)Le QLoRA est quantifié à l'aide d'un NormalFloat de 4 bits.
Prototypes pouvant bénéficier d'une mise au point
Nous avons identifié les scénarios suivants comme des cas d'utilisation courants qui pourraient bénéficier d'une mise au point :
- Personnalisation du ton, du style et du format : Les cas d'utilisation peuvent nécessiter un modèle de biglangue qui reflète une personnalité spécifique ou qui s'adresse à un public spécifique. En affinant le modèle biglangue à l'aide d'un ensemble de données personnalisé, nous pouvons modeler les réponses du chatbot pour qu'elles correspondent mieux aux exigences spécifiques ou à l'expérience souhaitée par son public. Nous pouvons également souhaiter structurer les résultats d'une manière spécifique, par exemple au format JSON, YAML ou Markdown.
- Améliorer la précision et traiter les cas particuliers : Le réglage fin peut être utilisé pour corriger des illusions ou des erreurs difficiles à corriger par l'ingénierie des indices et l'apprentissage contextuel. Il peut également améliorer la capacité d'un modèle à exécuter de nouvelles compétences ou tâches difficiles à exprimer par des indices. Ce processus peut aider à corriger les échecs lorsque les modèles sont incapables de suivre des indices complexes et améliorer leur fiabilité à produire les résultats souhaités. Nous donnons deux exemples :
- Précision de Phi-2 sur l'analyse des sentiments dans les données financières Mise à niveau de 34% à 85%.
- ChatGPT Précision de l'analyse du sentiment des commentaires sur Reddit Augmentation de 25 points de pourcentage (de 48% à 73%), en utilisant seulement 100 exemples.
En règle générale, pour des nombres de précision initiaux plus faibles (< 50%), un réglage fin avec quelques centaines d'exemples permet d'obtenir des améliorations significatives.
- S'attaquer aux domaines de sous-représentation : Bien que les grands modèles de langage soient formés sur de grandes quantités de données à usage général, ils ne sont pas toujours bien versés dans le jargon nuancé, la terminologie ou les idiosyncrasies de chaque domaine de niche. Pour divers domaines tels que le droit, la santé ou la finance, il a été démontré qu'un réglage fin permettait d'améliorer la précision des tâches en aval. Nous en donnons deux exemples :
- Comme ce écrits Il a été souligné que le dossier médical d'un patient contient des données très sensibles qui ne se trouvent généralement pas dans le domaine public. Par conséquent, les systèmes basés sur de grands modèles de langage pour résumer les dossiers médicaux doivent être affinés.
- Affinage des langues sous-représentées, telles que les langues indiennes, à l'aide de techniques PEFT Serviable dans toutes les tâches.
- Réduction des coûts : Le réglage fin permet de distiller les compétences de grands modèles tels que le Llama 2 70B/GPT-4 dans des modèles plus petits tels que le Llama 2 7B, réduisant ainsi les coûts et les temps de latence sans compromettre la qualité. En outre, le réglage fin réduit le besoin de repères longs ou spécifiques (tels que ceux utilisés dans l'ingénierie des repères), ce qui permet d'économiser des jetons et de réduire encore les coûts. Par exemple, lecet article Montre comment il est possible de réaliser des économies en affinant le modèle GPT-4, plus coûteux, afin de perfectionner le juge GPT-3.5.
- Nouvelles tâches/capacités : Souvent, il est possible d'obtenir de nouvelles capacités en procédant à un réglage fin. Nous en donnons trois exemples :
- Affiner les modèles linguistiques de grande taille pour Meilleure utilisation du contexte d'un chercheur donné Ou l'ignorer complètement
- Affiner les grands modèles linguistiques Des juges pour évaluer d'autres grands modèles linguistiquesL'évaluation des indicateurs, tels que l'authenticité, la conformité ou l'utilité, est un élément clé de l'élaboration et de la mise en œuvre du programme.
- Affiner les modèles linguistiques de grande taille pour Ajouter une fenêtre contextuelle
Comparaison avec les technologies d'adaptation dans d'autres domaines
Apprentissage de précision ou apprentissage contextuel (moins d'échantillons)
L'apprentissage contextuel (ICL) est un moyen puissant d'améliorer les performances des systèmes basés sur de grands modèles de langage. Étant donné sa simplicité, vous devriez essayer l'ICL avant d'entreprendre des activités de réglage fin. En outre, les expériences d'ICL peuvent vous aider à évaluer si le réglage fin améliore les performances des tâches en aval. Les considérations courantes lors de l'utilisation d'ICL sont les suivantes :
- Le coût de l'inférence et le temps de latence augmentent avec le nombre d'exemples à montrer.
- Avec de plus en plus d'exemples, le grand modèle linguistique Souvent négligées, certaines des. Cela signifie que vous pouvez avoir besoin d'un système basé sur le RAG qui trouve les exemples les plus pertinents en fonction des données saisies.
- Les grands modèles de langage peuvent recracher les connaissances qui leur sont fournies sous forme d'exemples. Ce problème se pose également lors du réglage fin.
réglage fin vs. et RAG
Le consensus général est que lorsque la performance sous-jacente d'un grand modèle linguistique n'est pas satisfaisante, vous pouvez "commencer avec RAG, évaluer sa performance et passer à un réglage fin s'il s'avère insuffisant", ou "RAG peut présenter des avantages" par rapport au réglage fin (source (d'information, etc.)). Cependant, nous pensons que ce paradigme est trop simpliste car, dans de nombreux cas, la RAG n'est pas une alternative à la mise au point, mais plutôt une approche complémentaire de la mise au point. En fonction des caractéristiques du problème, il convient d'essayer l'une ou l'autre approche, voire les deux. Adopter cet article Voici quelques questions que vous pouvez vous poser pour déterminer si le réglage fin ou le RAG (ou éventuellement les deux) est adapté à votre problème :
- Votre application a-t-elle besoin de connaissances externes ? La mise au point ne s'applique généralement pas à l'injection de nouvelles connaissances.
- Votre application nécessite-t-elle un ton, un comportement, un vocabulaire ou un style personnalisé ? Pour ce type d'exigences, la mise au point est généralement la bonne approche.
- Quelle est la tolérance de votre application aux hallucinations ? Dans les applications où la suppression des mensonges et des fabrications imaginatives est essentielle, le système RAG prévoit des mécanismes intégrés pour minimiser les hallucinations.
- Quelle est la quantité de données d'apprentissage étiquetées disponible ?
- Les données sont-elles statiques ou dynamiques ? Si le problème nécessite l'accès à un corpus dynamique de données, le réglage fin n'est peut-être pas la bonne approche, car la connaissance du grand modèle linguistique devient très rapidement obsolète.
- Quel est le degré de transparence/interprétabilité requis pour les applications de modélisation linguistique à grande échelle ? Le RAG peut essentiellement fournir des références utiles à l'interprétation des résultats de la modélisation linguistique à grande échelle.
- Coût et complexité : l'équipe dispose-t-elle d'une expertise dans la mise en place de systèmes de recherche ou d'une expérience préalable dans la mise au point ?
- Quelle est la diversité des tâches dans votre application ?
Dans la plupart des cas, une solution hybride de réglage fin et de RAG produira les meilleurs résultats - et la question devient alors celle du coût, du temps et des gains autonomes supplémentaires qu'il est possible d'obtenir en faisant les deux en même temps. Référez-vous aux questions ci-dessus pour guider vos décisions quant à la nécessité de recourir aux RAG et/ou au réglage fin, et menez des expériences internes en analysant les erreurs pour comprendre les gains possibles en termes de métrologie. Enfin, l'exploration du réglage fin nécessite une solide stratégie de collecte et d'amélioration des données, que nous recommandons comme condition préalable au lancement du réglage fin.
une note de remerciement
Nous tenons à remercier Suraj Subramanian et Varun Vontimitta pour leurs commentaires constructifs sur l'organisation et la préparation de ce billet de blog.
Partie III : Comment affiner : se concentrer sur les ensembles de données efficaces
Cet article est le troisième d'une série de blogs consacrés à l'adaptation de grands modèles linguistiques (LLM) open source. Dans cet article, nous examinons quelques règles empiriques pour constituer des ensembles de données de formation de qualité.
- existent Première partie Nous y passons en revue les approches dominantes en matière d'adaptation des modèles linguistiques aux données du domaine.
- existent Partie II Dans , nous avons examiné comment déterminer si le réglage fin est approprié pour votre cas d'utilisation.
introductif
Le réglage fin des LLM est une combinaison d'art et de science, et les meilleures pratiques dans ce domaine sont encore en train d'émerger. Dans ce billet de blog, nous nous concentrerons sur les variables de conception du réglage fin et fournirons des conseils sur les meilleures pratiques pour le réglage fin des modèles dans des environnements à ressources limitées. Nous suggérons les informations suivantes comme point de départ pour développer une stratégie pour les expériences de réglage fin.
Réglage fin complet ou réglage fin paramétrique efficace (PEFT)
Plein de réglages fins et de PEFT en académie répondre en chantant application pratique Il a été démontré que toutes ces méthodes améliorent les performances en aval lorsqu'elles sont appliquées à de nouveaux domaines. Le choix de l'une d'entre elles dépend en fin de compte des ressources informatiques disponibles (en termes d'heures de GPU et de mémoire GPU), des performances sur des tâches autres que la tâche cible en aval (le compromis "apprendre pour oublier") et du coût de l'annotation manuelle.
Le réglage fin d'un volume complet est plus susceptible de souffrir de deux problèmes :crash du modèle répondre en chantant oubli cataclysmique. On parle d'effondrement du modèle lorsque la sortie du modèle converge vers un ensemble fini de sorties et que les queues de la distribution du contenu original disparaissent. L'oubli catastrophique, comme dans cette série Première partie Le modèle perdrait de sa puissance si l'on n'en tenait pas compte. Certaines études empiriques préliminaires ont montré quePar rapport à la technique PEFT, la technique de réglage fin du volume complet est plus sujette à ces problèmesbien que des recherches supplémentaires soient nécessaires.
La technique PEFT peut être conçue pour agir comme un régularisateur naturel pour le réglage fin. PEFT nécessite généralement relativement peu de ressources informatiques pour former les modèles en aval et est plus facile à utiliser dans des scénarios à ressources limitées avec des ensembles de données de taille restreinte. Dans certains cas, un réglage fin complet donne de meilleurs résultats pour des tâches spécifiques, mais généralement au prix de l'oubli de certaines des capacités du modèle original. Ce compromis "apprendre à oublier" entre la performance sur une tâche spécifique en aval et la performance sur d'autres tâches est plus facilement exploité dans le cadre de l Ce document. Une comparaison approfondie de LoRA et du réglage fin complet est présentée dans le document.
Compte tenu des contraintes de ressources, la technique PEFT peut offrir un meilleur rapport performance/coût qu'un réglage fin complet. Si les performances en aval sont essentielles dans une situation où les ressources sont limitées, la mise au point complète du volume sera la plus efficace. Dans les deux cas, il est essentiel de garder à l'esprit les principes clés suivants pour créer des ensembles de données de haute qualité.
Collationnement des données
Dans les expériences de réglage fin de la littérature, les ensembles de données sont essentiels pour récolter les bénéfices du réglage fin. Il y a ici plus de nuances qu'une simple "meilleure qualité et plus d'exemples", et vous pouvez judicieusement investir dans la collecte d'ensembles de données afin d'améliorer les performances dans les expériences de réglage fin à ressources limitées.
Qualité/quantité des données
- La qualité est essentielle : La tendance générale que nous avons observée est que la qualité est plus importante que la quantité - c'est-à-dire qu'il est préférable d'avoir un petit ensemble de données de haute qualité qu'un grand ensemble de données de faible qualité. Les principes clés de la qualité sont un étiquetage cohérent, l'absence d'erreurs, des données mal étiquetées, des entrées/sorties bruyantes et une distribution représentative par rapport à l'ensemble. Lors de l'affinement de laEnsemble de données LIMA de quelques milliers d'exemples soigneusement sélectionnés a obtenu de meilleurs résultats que l'ensemble de données Alpaca de 50 000 généré par une machine.Documentation sur la mise au point de l'OpenAI Il est suggéré que même un ensemble de données de 50 à 100 exemples peut avoir un impact.
- Les tâches linguistiques plus difficiles nécessitent davantage de données : Les tâches relativement difficiles, telles que la génération de texte et le résumé, sont plus difficiles à affiner et nécessitent plus de données que les tâches simples telles que la classification et l'extraction d'entités. Dans ce contexte, "plus difficile" peut signifier toute une série de choses : plus de tokens dans le résultat, des capacités humaines d'ordre supérieur requises, plusieurs réponses correctes.
- Une collecte de données efficace et de qualité : En raison du coût élevé de la collecte de données, les stratégies suivantes sont recommandées pour améliorer l'efficacité de l'échantillonnage et réduire les coûts
- Observer les schémas d'échec : observer les exemples d'échec des capacités de ML précédentes et ajouter des exemples qui tiennent compte de ces schémas d'échec.
- Collaboration homme-machine : il s'agit d'un moyen moins coûteux de développer l'annotation des données. Nous utilisons LLM pour automatiser la génération de réponses de base, que les annotateurs humains peuvent annoter en moins de temps.
Diversité des données
En d'autres termes, si vous surentraînez un modèle avec un type de réponse particulier, il sera biaisé pour donner cette réponse, si ce n'est la réponse la plus appropriée. La règle empirique consiste à s'assurer, dans la mesure du possible, que les données d'entraînement reflètent la manière dont le modèle devrait se comporter dans le monde réel.
- Répéter : a été découvertes est la cause de la dégradation du modèle lors du réglage fin et de la préformation. L'obtention de la diversité par la déduplication améliore généralement les mesures de performance.
- Diversité des entrées : Augmenter la diversité en paraphrasant les contributions. Dans les Mise au point de SQLCoder2 L'équipe a reformulé le texte en clair qui accompagne les requêtes SQL afin d'introduire une diversité syntaxique et sémantique. De même, l'équipeTraduction inversée des instructions a été utilisé pour les textes rédigés manuellement en demandant au LLM "À quelle question cela pourrait-il répondre ?" afin de générer un ensemble de données de questions et de réponses.
- Diversité des données : Lorsqu'il s'agit d'affiner le réglage pour des tâches plus générales en aval - par exemple, l'adaptation multilingue -, il a été démontré que l'utilisation de divers ensembles de données améliore le compromis entre l'oubli des capacités initiales d'un modèle et l'apprentissage de nouvelles capacités. En ciblant différentes langues telles que Hindi (langue) répondre en chantant Austronésien (langue) Le modèle de réglage fin utilise un riche ensemble de données spécifiques à la langue, ainsi que d'autres ensembles de données de réglage fin des commandes, comme le FLAN,AlpagaDolly et al. pour introduire la diversité.
- Production standardisée : La suppression des espaces dans les résultats et d'autres astuces de formatage se sont avérées utiles.SQLCoder2 La suppression des espaces blancs dans le code SQL généré permet au modèle de se concentrer sur l'apprentissage des concepts SQL importants, plutôt que sur des astuces telles que les espaces et l'indentation. Si vous souhaitez un ton spécifique dans la réponse, vous pouvez dire : "Le chatbot du service d'assistance est...". Le chatbot du service d'assistance est..." ajoutez-les à l'ensemble de données pour chaque exemple.
Pipeline de données basé sur LLM
Afin de rassembler des ensembles de données diversifiés et de haute qualité, les pipelines de données utilisent souvent des LLM pour réduire les coûts d'annotation. Les techniques suivantes ont été observées dans la pratique :
- Évaluation : Entraînez le modèle avec un ensemble de données de haute qualité et utilisez-le pour annoter votre plus grand ensemble de données afin de filtrer les exemples de haute qualité.
- Générer : Alimenter les LLM avec des exemples de haute qualité et les inciter à générer des exemples similaires de haute qualité.Bonnes pratiques pour les ensembles de données synthétiques commence à prendre forme.
- Collaboration entre l'homme et l'ordinateur : Utiliser les LLM pour générer un ensemble initial de résultats et laisser les humains améliorer la qualité en modifiant ou en sélectionnant les préférences.
Débogage de votre jeu de données
- Évaluez votre ensemble de données pour détecter les mauvais résultats : Si le modèle n'est toujours pas assez performant dans certains domaines, ajoutez des exemples de formation qui montrent directement au modèle comment traiter correctement ces domaines. Si votre modèle présente des problèmes de syntaxe, de logique ou de style, vérifiez que vos données ne présentent pas les mêmes problèmes. Par exemple, si le modèle dit maintenant "Je vais organiser cette réunion pour vous" (alors qu'il ne devrait pas le faire), voyez si les exemples existants enseignent au modèle qu'il peut faire quelque chose de nouveau qu'il ne peut pas faire en réalité.
- Vérifiez deux fois l'équilibre entre les catégories positives et négatives : Vous risquez d'obtenir trop de rejets si la réponse de l'assistant 60% dans les données dit "Je ne peux pas répondre à cette question", alors que seule la réponse 5% devrait dire cela lors du raisonnement.
- L'exhaustivité et la cohérence : Assurez-vous que vos exemples de formation contiennent toutes les informations nécessaires à la réponse. Si nous voulons que le modèle félicite l'utilisateur en fonction de ses caractéristiques personnelles et que les exemples de formation contiennent les félicitations de l'assistant pour des caractéristiques qui n'apparaissaient pas dans le dialogue précédent, le modèle peut apprendre à falsifier l'information. Assurez-vous que tous les exemples de formation ont le même format que celui attendu lors du raisonnement. Vérifiez la cohérence des exemples de formation. Si plusieurs personnes ont créé les données de formation, les performances du modèle peuvent être limitées par le niveau de cohérence interpersonnelle. Par exemple, dans une tâche d'extraction de texte, le modèle peut ne pas être en mesure de faire mieux si les personnes ne sont d'accord que sur les segments extraits de 70%.
rendre un verdict
Le réglage fin est un aspect essentiel du développement d'un grand modèle linguistique qui nécessite un équilibre délicat entre l'art et la science. La qualité et la conservation de l'ensemble de données jouent un rôle important dans la réussite de l'ajustement, l'analyse des données et l'évaluation de la qualité.Les petits modèles finement ajustés de grandes langues tendent à surpasser les grands modèles sur des tâches spécifiques.. Une fois que la décision a été prise d'affiner l'analyse de l'impact sur l'environnement, il convient d'en tenir compte. Guide de réglage fin du lama constitue un point de départ solide. La nature propriétaire du portefeuille d'ensembles de données affinées a entravé le partage des meilleures pratiques et les progrès de l'open source. Au fur et à mesure de l'évolution du domaine, nous prévoyons l'émergence de meilleures pratiques communes tout en maintenant la créativité et l'adaptabilité du réglage fin.
une note de remerciement
Nous tenons à remercier Suraj Subramanian et Varun Vontimitta pour leurs commentaires constructifs sur l'organisation et la préparation de ce billet de blog.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...