DreamOn: Diffusion Language Models For Code Infilling Beyond Fixed-size Canvas
DreamOn est un nouveau cadre de diffusion qui surmonte la limitation de génération à longueur fixe des modèles de langage de diffusion existants en introduisant des états de contrôle de longueur dynamique, permettant un remplissage de code à longueur variable et flexible qui atteint des performances comparables aux modèles autorégressifs de pointe sans nécessiter de changements architecturaux.
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 essayez de remplir un espace vide dans une histoire ou un morceau de code. Vous avez le début (le préfixe) et la fin (le suffixe), et vous devez écrire ce qui va au milieu.
Pendant longtemps, les programmes informatiques les plus intelligents (appelés Modèles Autorégressifs) ont fait cela en écrivant un mot à la fois, de gauche à droite, comme une personne tapant une phrase. Ils sont très doués pour cela.
Ensuite, un nouveau type de programme appelé Modèle de Langage par Diffusion (DLM) est arrivé. Voyez cela comme des sculpteurs. Au lieu d'écrire mot par mot, ils commencent avec un bloc d'argile où la partie centrale est complètement cachée (masquée). Ils dégrossissent les parties cachées, affinant la forme jusqu'à ce que les mots parfaits apparaissent. C'est excellent car ils peuvent corriger les erreurs dans n'importe quel ordre, pas seulement de gauche à droite.
Le Problème : Le Piège du « Canevas à Taille Fixe »
Cependant, ces sculpteurs avaient un défaut majeur. Ils ne pouvaient travailler que sur un bloc d'argile qui faisait exactement la taille que vous leur indiquiez.
- Si vous leur donniez un petit bloc (disons 4 mots cachés) mais que la réponse nécessitait 20 mots, ils manqueraient d'espace et donneraient une réponse brisée, incomplète.
- Si vous leur donniez un énorme bloc (disons 64 mots cachés) mais que la réponse n'avait besoin que de 4 mots, ils seraient confus et rempliraient l'espace supplémentaire avec du non-sens ou des déchets répétitifs.
L'article appelle cela le problème du « Canevas à Taille Fixe ». Le modèle est coincé à attendre que vous deviniez la taille exacte du trou avant de commencer à travailler. Si vous vous trompez, le résultat est mauvais.
La Solution : DREAMON
Les auteurs introduisent DREAMON, une nouvelle façon d'apprendre à ces sculpteurs comment changer la taille de leur bloc d'argile pendant qu'ils travaillent.
Ils ont ajouté deux « commandes magiques » spéciales au vocabulaire du modèle :
[expand]: « J'ai besoin de plus d'espace ! Transforme cet emplacement caché unique en deux emplacements cachés. »[delete]: « J'ai trop d'espace ! Supprime cet emplacement caché entièrement. »
Comment cela fonctionne (L'analogie)
Imaginez que le modèle est en train de dessiner un tableau à l'intérieur d'un cadre.
- L'ancienne méthode : Vous dites au modèle, « Dessine à l'intérieur de ce carré de 10x10. » Si le dessin doit faire 20x20, le modèle est écrasé. Si le dessin doit faire 2x2, l'espace est gaspillé.
- La méthode DREAMON : Vous donnez un cadre au modèle, mais vous le laissez tenir une télécommande. Pendant qu'il dessine, s'il réalise que le dessin devient trop grand pour le cadre, il appuie sur
[expand]et le cadre grandit magiquement. S'il réalise que le dessin est minuscule et que le cadre est immense, il appuie sur[delete]et le cadre rétrécit.
Le modèle fait cela entièrement de lui-même, en fonction de ce qu'il pense que la réponse devrait être. Il n'a pas besoin que vous lui indiquiez la longueur à l'avance.
Les Résultats
Les chercheurs ont testé cela sur des tâches de codage (remplir des parties manquantes de programmes informatiques).
- Avant DREAMON : Les modèles de diffusion étaient terribles pour cela si la taille du « trou » ne correspondait pas parfaitement à la réponse. Leurs performances chutaient d'environ 38 % simplement parce que la taille était légèrement décalée.
- Après DREAMON : Les modèles sont devenus aussi bons que les meilleurs rédacteurs « mot par mot » (les modèles autorégressifs). Ils pouvaient gérer des trous de n'importe quelle taille, agrandissant ou rétrécissant la réponse jusqu'à ce qu'elle soit parfaite.
- Efficacité : Ils ont également ajouté une astuce appelée « Deletion Broadcasting » (Diffusion de Suppression). Si le modèle décide de supprimer un gros morceau du cadre, il ne le fait pas un petit morceau à la fois ; il supprime tout le bloc instantanément, ce qui rend le processus beaucoup plus rapide.
En Résumé
DREAMON prend un outil puissant mais rigide (les Modèles de Diffusion) et lui donne la flexibilité de s'étirer et de se contracter. Cela élimine le besoin pour les humains de deviner la longueur parfaite de la réponse, permettant à ces modèles de enfin rivaliser avec les meilleurs outils d'IA d'écriture de code que nous possédons, tout en ayant l'avantage de pouvoir corriger les choses dans n'importe quel ordre.
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.