Simple Science

La science de pointe expliquée simplement

# Informatique# Calcul et langage

DataTune : Transformer des jeux de données pour les modèles de langue

DataTune améliore la génération de jeux de données synthétiques pour un meilleur entraînement des modèles de langue.

― 11 min lire


DataTune améliore laDataTune améliore lacréation de jeux dedonnées.pour les modèles de langue.Améliorer les données d'entraînement
Table des matières

Créer des modèles fiables pour les Tâches linguistiques nécessite souvent beaucoup de données d'entraînement de haute qualité. Beaucoup de tâches spécifiques n'ont pas les données nécessaires, et les rassembler manuellement demande beaucoup d'efforts. Certaines recherches ont examiné l'utilisation de grands modèles linguistiques pour créer des Données synthétiques, mais ces données manquent souvent de variété et de complexité. Pour remédier à cela, nous introduisons une méthode appelée DataTune, qui utilise des ensembles de données publics existants pour produire de meilleures données synthétiques.

DataTune modifie les ensembles de données pour qu'ils correspondent aux besoins spécifiques des tâches à réaliser. En transformant ces ensembles de données disponibles publiquement, nous aidons les modèles linguistiques à mieux performer. Nos tests montrent qu'utiliser DataTune améliore la performance des modèles de 49 % par rapport aux méthodes de simple invitation et de 34 % par rapport aux méthodes de données synthétiques actuelles.

Obtenir les bonnes données étiquetées pour des tâches spécifiques peut être difficile. Les gens comptent souvent sur deux méthodes : l'une consiste à utiliser des annotateurs humains, ce qui coûte cher, et l'autre est de générer des données synthétiquement, ce qui peut manquer de diversité. Notre approche combine ces deux méthodes. Nous prenons des ensembles de données existants et les transformons pour la tâche dont nous avons besoin, en gardant la variété de l'ensemble de données d'origine tout en garantissant que les données générées sont de bonne qualité.

Le principal problème dans la recherche en IA moderne est d'obtenir suffisamment de données. Même avec les avancées des méthodes de formation, la clé du succès reste souvent la même : collecter beaucoup de données d'entraînement de haute qualité et affiner votre modèle dessus. Cela est particulièrement important pour les modèles ayant moins de trois milliards de paramètres, où l'affinage manuel peut dépasser significativement l'apprentissage contextuel.

Cependant, obtenir des données spécifiques à une tâche peut être délicat lorsque des données spécialisées sont limitées. Certaines recherches précédentes ont proposé des moyens d'affiner les modèles dans ces situations à faibles ressources. La méthode la plus courante consiste à collecter manuellement des données étiquetées, ce qui nécessite l'accès à des experts et peut être coûteux. Une autre option est de produire des ensembles de données synthétiques en utilisant de grands modèles, mais générer de bons ensembles de données de qualité et diversifiés de cette manière est difficile.

Nous nous concentrons sur cette dernière approche, qui utilise des données existantes. Certaines méthodes récentes ont combiné les deux stratégies de récupération de données existantes et de génération de données synthétiques. Ces méthodes ont montré des avantages, mais même pour des ensembles de données bien connus, se fier uniquement à des données existantes peut être moins efficace que d'utiliser une combinaison de méthodes.

Pour améliorer ces méthodes, nous présentons DataTune, qui réutilise automatiquement des ensembles de données publics pour de nouvelles tâches. DataTune trouve les ensembles de données les plus pertinents et les transforme à l'aide d'un grand modèle linguistique pour répondre aux exigences de la tâche. Par exemple, pour une tâche qui nécessite des descriptions en anglais de code Python, DataTune identifie un ensemble de données avec des questions de programmation et le modifie pour générer les descriptions requises. Cela conserve la diversité de l'ensemble de données d'origine tout en répondant aux spécifications de la tâche, ce qui donne de meilleures performances.

Nous avons testé DataTune sur six tâches linguistiques difficiles du benchmark BIG-Bench. Comparé à une simple invitation pour le même modèle de base, les modèles améliorés par DataTune ont progressé en moyenne de 5,2 points sur cinq tâches. DataTune fonctionne également bien avec les méthodes actuelles de génération d'ensembles de données synthétiques, affichant une amélioration de 8 points par rapport aux méthodes de base.

Aperçu du Problème

On aborde comment récupérer et modifier automatiquement des ensembles de données existantes pour préparer le réglage d'un modèle pour une nouvelle tâche. Les utilisateurs spécifient la tâche avec une invite textuelle et éventuellement quelques exemples. On suppose avoir accès à une grande collection d'ensembles de données étiquetées et un grand modèle linguistique qui peut être sollicité.

L'objectif est de créer automatiquement un ensemble de données d'entraînement synthétique qui, après un ajustement, améliorera la capacité du modèle à répondre aux exigences de la tâche. On peut mesurer le succès en comparant le modèle entraîné avec des données étiquetées pour cette tâche.

La première étape consiste à récupérer les ensembles de données pertinents pour notre tâche à partir d'un grand dépôt. On utilise une approche de récupération en deux étapes. D'abord, on obtient un ensemble de documents en utilisant un récupérateur spécial entraîné à cet effet. Ensuite, on reclassifie ces ensembles de données pour trouver les meilleurs candidats qui peuvent être transformés efficacement pour notre tâche.

Récupération des Ensembles de Données

Dans la première phase, DataTune identifie les ensembles de données pertinents pour la tâche. On se concentre sur HuggingFace Hub, qui compte plus de 75 000 ensembles de données. Pour atteindre l'efficacité, on récupère les données en utilisant un récupérateur bi-encodeur conçu pour les requêtes en langage naturel. Ensuite, on reclassifie les ensembles de données en fonction d'attributs supplémentaires, y compris leur schéma et des exemples de lignes, pour s'assurer qu'on choisit l'ensemble de données le plus pertinent.

On inclut des options pour la cohérence, permettant de relancer le reclassificateur plusieurs fois et de sélectionner l'ensemble de données le plus souvent retourné. Parfois, on peut ne pas trouver d'ensemble de données adapté, car chaque tâche n'a pas de données pertinentes.

Transformation des Données

Après avoir sélectionné l'ensemble de données, on se concentre sur sa modification pour créer un nouvel ensemble de données qui correspond aux exigences de la tâche. Cette transformation peut impliquer de changer le format d'entrée/sortie ou de générer de nouveaux champs que l'ensemble de données pourrait ne pas avoir actuellement.

On découpe cette tâche en deux parties principales. D'abord, un module de planification génère un plan détaillé pour adapter chaque point de donnée de l'ensemble de données choisi. Ensuite, un module d'exécution applique ce plan à chaque point de donnée pour créer notre ensemble de données d'entraînement synthétique.

De notre expérience, le module de planification fonctionne mieux lorsqu'il dispose de descriptions détaillées à la fois de l'ensemble de données source et de la tâche cible. Pour aider davantage ce processus, nous avons deux modules supplémentaires : l'un pour sélectionner les colonnes les plus pertinentes de l'ensemble de données et l'autre pour élargir la description de la tâche avec plus de détails.

Extension de Tâche

Des descriptions de tâches courtes peuvent entraver une planification efficace. On utilise un modèle linguistique pour analyser la description de la tâche et les exemples, créant une description de tâche plus complète qui aide à générer un plan détaillé.

Sélection de Schéma

La phase de sélection de schéma identifie les colonnes les plus pertinentes dans l'ensemble de données. Par exemple, pour une tâche impliquant des commentaires de code, la colonne avec les extraits de code est essentielle, tandis que les colonnes avec des URL ne le seraient pas. Le modèle linguistique aide à déterminer quelles colonnes sont pertinentes pour la tâche, garantissant que l'ensemble de données se concentre sur ce qui est nécessaire.

Module de Planification

Le module de planification énonce les étapes nécessaires pour convertir les données de l'ensemble de données sélectionné au format requis. Ce plan inclut la génération de nouvelles colonnes, l'expansion des colonnes existantes ou la combinaison de plusieurs colonnes pour créer des entrées et des sorties.

Module d'Exécution

Le module d'exécution transforme chaque échantillon de données dans l'ensemble récupéré selon le plan. Il reçoit la ligne, les spécifications de la tâche et le plan de transformation, lui permettant de produire des lignes d'ensemble de données ajustées qui répondent aux exigences de la tâche.

Utilisation de Plusieurs Ensembles de Données

Pour s'assurer qu'on a assez de données transformées, on peut appliquer notre méthode à plusieurs ensembles de données très pertinents. Si de nombreuses transformations échouent pour un ensemble de données, on peut choisir de l'exclure de notre analyse.

Évaluation Expérimentale

Pour évaluer DataTune, on a regardé six tâches du benchmark BIG-Bench, connues pour être difficiles pour les modèles linguistiques. Pour chaque tâche, on a utilisé DataTune pour créer 3 000 points de données et les a évalués par rapport aux méthodes de collecte de données existantes. Cela incluait la récupération dense, la génération de données synthétiques et des combinaisons de ces stratégies.

Résultats et Analyse

DataTune a constamment mieux performé que les méthodes de simple invitation et d'autres méthodes. Elle a amélioré la performance du modèle de base de 6,4 points en moyenne sur les tâches. Lorsqu'elle est combinée avec des données synthétiques, DataTune a offert encore de meilleurs résultats, avec une note moyenne globale de 44,5 sur les tâches évaluées.

L'une des forces de DataTune est sa capacité à produire des ensembles de données qui sont non seulement précis mais aussi diversifiés et complexes, améliorant la performance d'affinage.

Conclusion

On a présenté DataTune comme une méthode prometteuse pour améliorer la génération automatique d'ensembles de données par la transformation d'ensembles de données existants. Elle surpasse de nombreuses techniques actuelles et peut bien fonctionner avec des données synthétiques. Nos découvertes suggèrent que DataTune offre des améliorations précieuses en matière de qualité et de performance des ensembles de données à travers diverses tâches. Les travaux futurs pourraient explorer comment cette méthode peut être appliquée aux données ouvertes du web et trouver des moyens de la rendre plus efficace.

Limitations et Considérations Éthiques

Bien que DataTune montre un grand potentiel, il y a des défis, comme le coût lié à l'interrogation de grands modèles linguistiques. Il est également nécessaire de donner des instructions précises lors de l'utilisation de ces modèles, et gérer des données non anglaises pourrait poser des problèmes. Nous reconnaissons ces limitations et visons à rester transparents à leur sujet.

Enfin, le potentiel de DataTune à aider les non-experts à construire des modèles linguistiques soulève des préoccupations éthiques. Il est important de trouver un équilibre entre les avantages de l'accessibilité et les risques de mauvaise utilisation. En open-sourçant DataTune, nous invitons à la collaboration pour améliorer et élargir ses capacités tout en se concentrant sur la création d'un paysage technologique plus inclusif.

Source originale

Titre: Better Synthetic Data by Retrieving and Transforming Existing Datasets

Résumé: Despite recent advances in large language models, building dependable and deployable NLP models typically requires abundant, high-quality training data. However, task-specific data is not available for many use cases, and manually curating task-specific data is labor-intensive. Recent work has studied prompt-driven synthetic data generation using large language models, but these generated datasets tend to lack complexity and diversity. To address these limitations, we introduce a method, DataTune, to make better use of existing, publicly available datasets to improve automatic dataset generation. DataTune performs dataset transformation, enabling the repurposing of publicly available datasets into a format that is directly aligned with the specific requirements of target tasks. On a diverse set of language-based tasks from the BIG-Bench benchmark, we find that finetuning language models via DataTune improves over a few-shot prompting baseline by 49% and improves over existing methods that use synthetic or retrieved training data by 34%. We find that dataset transformation significantly increases the diversity and difficulty of generated data on many tasks. We integrate DataTune into an open-source repository to make this method accessible to the community: https://github.com/neulab/prompt2model.

Auteurs: Saumya Gandhi, Ritu Gala, Vijay Viswanathan, Tongshuang Wu, Graham Neubig

Dernière mise à jour: 2024-04-26 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2404.14361

Source PDF: https://arxiv.org/pdf/2404.14361

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.

Plus d'auteurs

Articles similaires