Introduction
L'amélioration de la qualité des modèles de langage repose non seulement sur la quantité de données, mais également sur leur qualité et leur spécificité. Pour répondre à ce défi, une approche de génération de données synthétiques à grande échelle a été développée, permettant aux chercheurs de générer des données alignées sur les capacités désirées des modèles.
Contexte Technique
Le workflow repose sur une taxonomie de connaissances en programmation dérivée de l'annotation à grande échelle des datasets Nemotron-Pretraining-Code-{v1,v2}. Cette taxonomie encode des milliers de concepts de programmation organisés de manière hiérarchique, allant des constructions fondamentales aux modèles algorithmiques et de données avancés. Les développeurs peuvent ainsi générer des données ciblées en combinant et en distillant des concepts sélectionnés, leur permettant de contrôler la difficulté, la diversité et l'équilibre conceptuel des données générées.
Analyse et Implications
Le dataset synthétique généré, appelé Code Concepts, contient environ 15 millions de problèmes de programmation Python, validés pour s'assurer qu'ils consistent en du code Python fonctionnel. L'inclusion de 10 milliards de jetons de ce dataset dans les 100 derniers milliards de jetons de pré-entraînement de Nemotron Nano-v3 a entraîné une amélioration de six points dans l'exactitude de HumanEval, passant de 73 à 79. Les résultats montrent également de meilleures performances dans divers concepts de programmation et une meilleure gestion des cas limites et de la raison d'exécution.
Perspective
Ce dataset valide l'approche de génération de données synthétiques à grande échelle et ouvre la voie à son extension à d'autres domaines et cas d'utilisation. La publication du dataset et de la taxonomie sous licence ouverte (CC-BY-4.0) permet à la communauté de poursuivre ce travail et d'explorer de nouvelles applications pour l'amélioration des compétences en programmation des modèles de langage.