Delulu: A Verified Multi-Lingual Benchmark for Code Hallucination Detection in Fill-in-the-Middle Tasks
Cet article présente Delulu, un benchmark multilingue rigoureusement vérifié comprenant 1 951 échantillons curatés de manière adversariale qui révèle la vulnérabilité persistante des modèles de génération de code les plus avancés à produire des hallucinations plausibles mais incorrectes dans les tâches de remplissage au milieu.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous embauchiez un jeune programmeur très intelligent, mais légèrement trop confiant, pour vous aider à écrire du code. Ce programmeur est excellent pour deviner ce qui suit dans une phrase, mais parfois, lorsqu'il ne connaît pas la réponse, il invente simplement quelque chose qui semble parfait.
Ce papier présente un nouvel « examen » appelé DELULU, conçu pour déceler ces réponses inventées, connues sous le nom d'hallucinations, spécifiquement lorsque le programmeur doit remplir le milieu d'un extrait de code (une tâche appelée « Remplissage du milieu »).
Voici la décomposition du papier à l'aide d'analogies simples :
1. Le Problème : Le « menteur confiant »
Dans le monde de l'IA pour le codage, les modèles sont souvent testés sur leur capacité à écrire une fonction complète à partir de zéro. Mais dans le monde réel, les assistants IA (comme GitHub Copilot) fonctionnent principalement en examinant le code avant et après un espace vide pour remplir le milieu.
Le problème est que ces IA sont comme des menteurs confiants. Elles peuvent inventer une bibliothèque qui n'existe pas, appeler une fonction qui n'est pas réelle, ou utiliser un nom de variable qui n'a pas été défini.
- Le Piège : Le code semble parfait à l'œil humain (il est grammaticalement correct). Il se lit comme une phrase normale. Mais lorsque vous essayez de l'exécuter, il plante parce que l'IA a inventé un fait.
- L'Objectif : Les auteurs voulaient savoir : Les modèles d'IA actuels peuvent-ils éviter de manière fiable de faire ces mensonges ? Et s'ils mentent, d'autres modèles d'IA peuvent-ils repérer le mensonge ?
2. La Solution : L'examen « DELULU »
Les auteurs ont construit un benchmark (un ensemble de tests) appelé DELULU. Le nom est un jeu de mots sur l'argot internet signifiant « délirant », car ces hallucinations d'IA sont souvent très convaincantes.
Pensez à DELULU comme à un piège géant et automatisé tendu aux modèles d'IA.
- Le Montage : Ils ont pris du code réel sur Internet et créé 1 951 « pièges ».
- Les Pièges : Pour chaque morceau de code correct (la réponse « Golden »), ils ont utilisé une IA ultra-intelligente pour créer une version « Hallucinée ». Cette fausse version changeait juste une toute petite chose pour la rendre incorrecte, tout en la gardant plausible.
- Exemple : Changer un import réel
from pandas import read_csven un fauxfrom pandas import read_csvs.
- Exemple : Changer un import réel
- Les 4 Types de Mensonges : L'examen se concentre sur quatre façons spécifiques dont l'IA se trompe :
- Méthode : Inventer un nom de fonction (par exemple,
df.remove_nulls()lorsque cette fonction n'existe pas). - Paramètre : Ajouter un réglage qui n'existe pas (par exemple,
print(text, color="blue")lorsque la fonction n'accepte pas les couleurs). - Variable non définie : Utiliser un nom qui n'a jamais été créé.
- Import : Tenter de charger un package logiciel qui n'existe pas.
- Méthode : Inventer un nom de fonction (par exemple,
3. Comment ils ont construit l'examen (Le « Pipeline Adversarial »)
Ils n'ont pas simplement deviné les questions ; ils ont construit une usine rigoureuse pour s'assurer que les questions étaient difficiles et que les réponses étaient réelles.
- Génération : Une IA a créé le code faux et menteur.
- Le Panel de « Juges » : Quatre super-IA différentes ont agi comme des enseignants pour noter le code faux. Si un enseignant ne pouvait pas distinguer le mensonge de la vérité, la question était conservée. Si l'enseignant le repérait facilement, la question était rejetée.
- Le « Contrôle de Réalité » (Docker) : C'est la partie la plus importante. Ils n'ont pas fait confiance uniquement aux enseignants. Ils ont placé chaque extrait de code dans un bac à sable virtuel (un conteneur Docker) et ont tenté de l'exécuter.
- Si le code « Golden » s'exécutait avec succès, il était conservé.
- Si le code « Halluciné » plantait avec l'exacte erreur que l'examen recherchait (comme « Fichier non trouvé » ou « Variable non définie »), il était conservé.
- Si le code faux ne plantait pas réellement, il était rejeté.
- Revue Humaine : Enfin, des experts humains ont examiné les questions restantes pour s'assurer qu'elles n'étaient ni trop faciles ni biaisées.
4. Les Résultats : L'IA lutte toujours
Les auteurs ont testé 11 modèles d'IA différents (allant du petit au très grand) sur cet examen.
- Le Score : Même le meilleur modèle d'IA n'a obtenu environ 84,5 % de bonnes réponses. Cela signifie qu'il tombait encore dans le piège pour environ 1 question sur 6.
- Le Piège le plus dur : Les mensonges sur les « Imports » (inventer de faux packages logiciels) étaient les plus difficiles pour les IA à éviter. C'est comme leur demander de mémoriser un annuaire téléphonique de toutes les bibliothèques logicielles existantes ; elles continuent de deviner des noms qui semblent réels mais qui ne le sont pas.
- Le Problème de Détection : Ils ont également demandé : « Une IA peut-elle agir comme un réviseur de code et repérer ces mensonges ? » Même les réviseurs d'IA les plus intelligents ne repéraient les mensonges que dans 92 % des cas. Cela signifie qu'il existe toujours un espace où un mensonge peut passer entre les mailles du filet.
5. Pourquoi cela compte
Le papier conclut que c'est un problème fondamental, et non pas simplement un bug dans un modèle d'IA spécifique.
- Ce n'est pas juste une question de taille : Rendre l'IA plus grande aide, mais cela ne résout pas complètement le problème.
- Ce n'est pas juste une question d'entraînement : Différentes familles de modèles d'IA ont toutes eu du mal avec les mêmes types de mensonges.
- La Conclusion : Nous ne pouvons pas compter sur l'IA pour écrire du code sans le vérifier, car même les meilleures IA sont encore assez « délirantes » pour inventer des faits qui font planter votre programme.
En bref : DELULU est un test rigoureux et multilingue qui prouve que les assistants de codage IA actuels sont toujours enclins à inventer des faits qui semblent réels mais qui échouent lorsque vous essayez de les exécuter. Le papier fournit les outils (le test et les conteneurs « bac à sable ») pour que les développeurs puissent mesurer et améliorer cette faiblesse spécifique.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.