Une nouvelle façon d'améliorer les modèles de langue
Utiliser un petit modèle pour peaufiner les résultats des grands modèles de langage montre des améliorations significatives.
― 9 min lire
Table des matières
Les Grands Modèles de Langage (LLMs) sont des outils puissants qui peuvent générer du texte en fonction d'instructions et de quelques exemples. Ils ont montré qu'ils peuvent bien réaliser diverses tâches, mais ils ne sont pas toujours le meilleur choix pour des tâches spécifiques. Souvent, des modèles plus petits et affinés font mieux sur des tâches difficiles, tandis que la taille des LLMs les rend plus difficiles à manipuler. L'affinage de ces gros modèles pour des tâches spécifiques n'est pas simple à cause de leur taille massive et de la nécessité d'un accès spécial via des API. De plus, les LLMs peuvent être capricieux avec les invites, ce qui signifie que pour obtenir le bon résultat, ça peut prendre beaucoup de temps et d'efforts.
Pour résoudre ces problèmes, une nouvelle approche est proposée. Au lieu d'ajuster le LLM lui-même, un modèle plus petit est utilisé pour affiner ses Sorties. Cette méthode vise à rendre les LLMs plus efficaces sans avoir besoin de les affiner, ce qui peut être coûteux et compliqué.
La Nouvelle Approche
Cette nouvelle méthode implique deux étapes principales. D'abord, un grand modèle de langage génère plusieurs sorties en réponse à une invite. Ces sorties ne sont pas toujours parfaites, donc dans la deuxième étape, un modèle plus petit, appelé le LM-correcteur, est utilisé pour les améliorer. Le correcteur prend les sorties générées et les classe, les combine, et les réécrit pour créer une sortie finale plus précise.
Des expériences montrent qu'un petit modèle, avec seulement 250 millions de paramètres, peut améliorer considérablement les performances d'un grand modèle de 62 milliards de paramètres sur diverses tâches. Le petit modèle s'avère également solide contre différentes invites, ce qui réduit le besoin d'ajustements d'invite étendus. De plus, le correcteur peut facilement être ajouté à différents LLMs pendant leur fonctionnement, agissant comme un simple plug-in pour améliorer les résultats.
Comment ça marche
Le processus commence par inciter un LLM à produire plusieurs sorties via une API. Après avoir généré ces prédictions, le LM-correcteur prend le relais. Le correcteur examine les sorties générées et combine les meilleurs éléments pour créer une sortie unique et améliorée. Cette approche ne nécessite pas d'accès direct aux poids du grand modèle. Au lieu de cela, elle fonctionne avec les sorties générées par le LLM.
Cette méthode repose sur l'idée que les sorties du LLM peuvent être mélangées et optimisées pour obtenir une meilleure réponse finale. Le LM-correcteur est entraîné pour identifier quelles parties des sorties générées fonctionnent le mieux ensemble. Il apprend ainsi à choisir les meilleures options, à les combiner et à les éditer pour produire un résultat plus précis.
Contributions
Les principales contributions de ce travail incluent :
- Montrer qu'un petit modèle peut améliorer considérablement les performances d'un modèle de langage beaucoup plus grand sur diverses tâches sans avoir besoin d'accéder directement aux poids du modèle.
- Démontrer que le correcteur peut bien gérer différentes invites, minimisant ainsi le besoin d'ajustements importants.
- Présenter la polyvalence du correcteur, qui peut être appliqué sans problème à différents grands modèles pendant leur fonctionnement.
- Analyser comment le dimensionnement du correcteur peut entraîner des améliorations supplémentaires en performance par rapport aux méthodes d'apprentissage en contexte traditionnelles.
Correction des Sorties
Cette section explique comment le LM-correcteur affine les sorties du LLM pour des tâches particulières. La configuration est efficace sur le plan computationnel, nécessitant seulement des ressources minimales et permettant d'interagir avec le LLM uniquement via une API.
L'idée principale derrière ce processus de correction est que les sorties générées peuvent être éditées et combinées de manière optimale. Le LM-correcteur est spécifiquement formé pour améliorer ces sorties, en se concentrant sur les prédictions du LLM sans avoir besoin de réentraîner le grand modèle lui-même. Cet entraînement permet au correcteur de classer et de combiner efficacement différentes sorties pour créer une meilleure réponse finale.
Génération de Candidats
La première étape du processus de correction consiste à générer des prédictions à partir d'un grand modèle de langage. Le modèle reçoit une description de la tâche et quelques exemples pour créer une variété de sorties. Pour assurer la diversité, plusieurs sorties sont générées en utilisant un échantillonnage de température.
Une fois les sorties générées, l'étape suivante consiste à les introduire dans le LM-correcteur. Ce petit modèle utilise les sorties produites par le LLM, ainsi que l'entrée originale, pour affiner et générer la sortie finale. Le correcteur utilise son entraînement pour comprendre comment améliorer les candidats qu'il reçoit.
Expériences et Résultats
Le LM-correcteur a été évalué sur trois tâches de génération de texte : la correction d'erreurs grammaticales (GEC), la résumé, et la conversion de données en texte. Le LLM utilisé pour les tests était principalement la version de 62 milliards de paramètres du modèle PaLM.
Dans la tâche GEC, qui implique de corriger des erreurs grammaticales, le LM-correcteur a surpassé à la fois les approches d'affinage standard et les méthodes d'apprentissage en contexte. Bien que les LLMs aient été entraînés sur d'énormes quantités de données, les modèles spécifiques à la tâche faisaient encore mieux. En utilisant le LM-correcteur, des améliorations significatives des performances ont été observées. Par exemple, il a obtenu des scores plus élevés lorsque le jeu de données d'entraînement était plus petit, démontrant son efficacité dans des situations à faibles ressources.
Une autre tâche évaluée était E2E NLG, où des paires clé-valeur sur un restaurant étaient transformées en description textuelle. Le LM-correcteur a montré qu'il pouvait rivaliser avec et même dépasser des modèles plus grands en produisant un langage naturel. Il a combiné différents candidats pour générer de meilleures descriptions, prouvant sa capacité à tirer parti de plusieurs sorties.
Enfin, le LM-correcteur a été testé sur la tâche de résumé en utilisant le jeu de données XSum. Les résultats ont montré que bien que l'affinage standard ait bien fonctionné, le LM-correcteur a entraîné des améliorations significatives par rapport à l'apprentissage en contexte, dépassant même des modèles plus grands par moments. Cela illustre encore comment la combinaison de plusieurs candidats peut donner des résultats plus précis.
Analyse de Robustesse
Pour tester la robustesse du LM-correcteur, différentes invites ont été expérimentées. Les résultats étaient impressionnants, montrant que le correcteur maintenait sa performance même lorsque la qualité des candidats générés variait. Cela indique que le correcteur peut gérer efficacement des entrées moins que parfaites, réduisant ainsi le besoin d'ingénierie minutieuse des invites.
Le LM-correcteur a également été testé sur différents grands modèles. Les résultats ont montré qu'il fonctionnait bien peu importe le modèle utilisé pour générer les candidats. Cette flexibilité met en évidence comment le correcteur peut être appliqué efficacement à divers modèles de langage, améliorant leurs sorties sans avoir besoin de réentraînement.
Importance de la Source
Pour que le correcteur fonctionne bien, il est essentiel de fournir à la fois la phrase source et les candidats générés par le LLM. Dans les tests où seuls les candidats étaient donnés au correcteur, la performance a chuté de manière significative. Cela souligne l'importance de l'entrée originale pour guider le modèle vers des sorties précises.
Dimensionnement du Correcteur
Le potentiel de dimensionnement du LM-correcteur a été exploré en entraînant une version plus grande. Les résultats ont indiqué que le LM-correcteur et de plus grands modèles affiné pouvaient bénéficier d'un nombre accru de paramètres. Cependant, l'écart de performance entre le correcteur et le modèle plus grand s'est réduit à mesure que les deux évoluaient.
En fin de compte, cette étude indique qu'un modèle plus petit peut améliorer les résultats obtenus par un plus grand modèle de langage sans avoir besoin d'accès direct au modèle lui-même.
Travaux Connexes
Ces dernières années, beaucoup de recherches se sont concentrées sur les grands modèles de langage et leurs capacités uniques. Différentes méthodes ont été proposées pour améliorer les performances des LLMs sans les réentraîner, y compris l'ingénierie d'invite et les techniques de réévaluation. Bien que ces approches puissent offrir certains avantages, elles dépendent souvent fortement de la qualité des candidats générés.
Ce travail offre une nouvelle perspective en introduisant un modèle correcteur compact qui peut améliorer la performance des LLMs sur différentes tâches sans nécessiter de grandes ressources computationnelles ou d'accès direct aux plus grands modèles.
Conclusion
En conclusion, le LM-correcteur fournit une solution pratique pour améliorer les performances des grands modèles de langage. En utilisant un petit modèle correcteur pour affiner les sorties, des améliorations significatives peuvent être réalisées de manière efficace en ressources. Cette approche ouvre de nouvelles possibilités pour l'application des LLMs dans des scénarios réels, les rendant plus efficaces et polyvalents dans le traitement de diverses tâches.
Titre: Small Language Models Improve Giants by Rewriting Their Outputs
Résumé: Despite the impressive performance of large language models (LLMs), they often lag behind specialized models in various tasks. LLMs only use a fraction of the existing training data for in-context learning, while task-specific models harness the full dataset for fine-tuning. In this work, we tackle the problem of leveraging training data to improve the performance of LLMs without fine-tuning. Our approach directly targets LLM predictions without requiring access to their weights. We create a pool of candidates from the LLM through few-shot prompting and we employ a compact model, the LM-corrector (LMCor), specifically trained to merge these candidates to produce an enhanced output. Our experiments on four natural language generation tasks demonstrate that even a small LMCor model (250M) substantially improves the few-shot performance of LLMs (62B), matching and even outperforming standard fine-tuning. Furthermore, we illustrate the robustness of LMCor against different prompts, thereby minimizing the need for extensive prompt engineering. Finally, we show that LMCor can be seamlessly integrated with different LLMs at inference, serving as a plug-and-play module to improve their performance.
Auteurs: Giorgos Vernikos, Arthur Bražinskas, Jakub Adamek, Jonathan Mallinson, Aliaksei Severyn, Eric Malmi
Dernière mise à jour: 2024-02-01 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2305.13514
Source PDF: https://arxiv.org/pdf/2305.13514
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.