MBPP, abréviation de Mostly Basic Python Problems, est un ensemble de données de référence conçu pour évaluer les capacités de génération de code des grands modèles de langage. Il se compose de 974 problèmes de programmation Python issus du crowdsourcing, ciblant des compétences de programmation fondamentales, telles que la syntaxe de base, la manipulation de chaînes, les boucles et l'arithmétique. Cet ensemble de référence est largement utilisé dans le domaine de l'intelligence artificielle pour mesurer la capacité des modèles à traduire des descriptions de problèmes en langage naturel en code Python exécutable.
L'ensemble de données a été introduit en 2021 par une équipe de chercheurs de Google Research, dont Jacob Austin, Augustus Odena, Maxwell Nye et d'autres. Il a été présenté dans l'article « Program Synthesis with Large Language Models », qui a également introduit l'ensemble de référence APPS associé. MBPP a été créé pour fournir un ensemble d'évaluation plus accessible et plus ciblé par rapport aux références existantes, qui exigeaient souvent de résoudre des défis algorithmiques complexes ou impliquaient des énoncés de problèmes longs.
Chaque problème de MBPP se compose d'une description en langage naturel, d'une signature de fonction et de plusieurs cas de test qui vérifient l'exactitude du code généré. Les problèmes sont conçus pour être résolus par des programmeurs ayant quelques mois d'expérience en Python, ce qui rend l'ensemble de référence adapté à l'évaluation des compétences de programmation de base. L'ensemble de données est divisé en un ensemble d'entraînement de 374 problèmes, un ensemble de validation de 90 problèmes et un ensemble de test de 500 problèmes. L'ensemble de test est lui-même subdivisé en deux sous-ensembles : l'un pour évaluer les modèles avec une seule tentative (pass@1) et l'autre pour évaluer les modèles avec plusieurs tentatives (pass@k).
Méthodologie d'évaluation
La principale métrique utilisée pour MBPP est pass@k, qui mesure la probabilité qu'au moins un des k échantillons de code générés réussisse tous les cas de test fournis. Cette métrique tient compte de la nature stochastique de l'échantillonnage des modèles de langage. Par exemple, pass@1 indique la probabilité qu'une seule solution générée soit correcte, tandis que pass@80 mesure la chance qu'au moins un des 80 échantillons réussisse. Le processus d'évaluation consiste à générer des complétions de code à partir d'un modèle en fonction de la description du problème, puis à exécuter les cas de test sur chaque complétion.
Pour garantir l'équité, l'ensemble de référence fournit un ensemble de solutions canoniques et de cas de test. Les modèles sont généralement évalués dans un cadre few-shot, où un petit nombre de problèmes d'exemple sont inclus dans l'invite pour guider le format de sortie du modèle. L'article original a rapporté des résultats pour plusieurs modèles, notamment GPT-Neo, GPT-3 et une version affinée de GPT-2, avec des scores pass@1 allant de 3 % à 37 % selon la taille du modèle et les données d'entraînement.
Importance dans la recherche en IA
MBPP est devenu une référence standard pour les tâches de génération de code, aux côtés d'autres ensembles de données comme HumanEval et APPS. Son accent sur les problèmes de base le rend particulièrement utile pour évaluer les modèles qui ne sont pas spécifiquement entraînés sur du code, car il teste le raisonnement général et les connaissances en programmation. L'ensemble de référence a été adopté par de nombreux groupes de recherche et est fréquemment cité dans les articles sur le apprentissage automatique et le apprentissage profond.
L'un des principaux avantages de MBPP est sa simplicité, qui permet des évaluations rapides et reproductibles. Cela en a fait un choix populaire pour comparer les performances de différents modèles, y compris ceux développés par OpenAI, Anthropic et d'autres organisations. L'ensemble de référence a également été utilisé pour étudier l'impact de la taille des données d'entraînement, de l'architecture des modèles et des stratégies d'affinage sur la capacité de génération de code.
Limites et critiques
Malgré son utilisation répandue, MBPP présente plusieurs limites. Les problèmes sont relativement simples et peuvent ne pas refléter la complexité des tâches de programmation réelles. De plus, les cas de test ne sont pas exhaustifs, de sorte qu'une solution qui réussit tous les tests peut encore contenir des bogues ou échouer sur des cas limites non couverts par l'ensemble de référence. Certains chercheurs ont noté que l'ensemble de référence peut être contourné par des modèles qui mémorisent des solutions à partir des données d'entraînement, car les problèmes sont publiquement disponibles.
Une autre critique est que l'ensemble de référence se concentre principalement sur l'exactitude fonctionnelle et n'évalue pas d'autres aspects de la qualité du code, tels que la lisibilité, l'efficacité ou le style. Cela a conduit à des appels en faveur de références plus complètes intégrant ces facteurs. Néanmoins, MBPP reste un outil précieux pour les évaluations initiales des modèles de génération de code.
Applications et extensions
MBPP a été utilisé dans diverses applications au-delà de la recherche académique. Par exemple, il a été employé pour évaluer les capacités de génération de code d'assistants IA commerciaux, tels que GitHub Copilot et d'autres outils basés sur des architectures transformers. L'ensemble de référence a également été étendu ou adapté à des fins spécifiques, comme le test de la génération de code multilingue ou l'évaluation de modèles sur des ensembles de problèmes plus difficiles.
De plus, MBPP a inspiré la création de références similaires dans d'autres langages de programmation et domaines. Par exemple, l'ensemble de données MBXP étend MBPP à plusieurs langues, tandis que d'autres références se concentrent sur des domaines spécifiques comme la science des données ou le développement web. Ces extensions aident à élargir la portée de l'évaluation de la génération de code et offrent des défis plus diversifiés pour les systèmes d'IA.
Orientations futures
Alors que la IA générative continue de progresser, des références comme MBPP évolueront probablement pour suivre le rythme des nouvelles capacités. Les versions futures pourraient inclure des problèmes plus complexes, intégrer des scénarios de programmation réels ou introduire des métriques évaluant la qualité du code au-delà de l'exactitude. Les chercheurs explorent également des moyens de rendre les références plus robustes contre la contamination des données et de garantir qu'elles reflètent avec précision les capacités des modèles dans des contextes pratiques.
Le développement continu de MBPP et de références similaires est crucial pour le progrès de l'intelligence artificielle dans le génie logiciel. En fournissant des méthodes d'évaluation standardisées, ces références permettent des comparaisons équitables entre les modèles et stimulent les améliorations de la technologie de génération de code. En 2025, MBPP reste l'une des références les plus citées dans le domaine, et son influence est susceptible de perdurer pendant des années.