Projets de recherche

Partez de la défaillance observable, puis suivez la méthode, les éléments probants et les limites de portée qui lui correspondent.

Partager cette cartographie de la recherchePartager

Choisir en fonction de la défaillance observée

Un même symptôme peut provenir de la représentation, de la génération, du contrôle ou de la vérification.

Problème observéPremier diagnosticDonnées probantes requisesMéthode
La sortie décodée est médiocre, mais l’étape défaillante reste inconnueÉvaluer la source, la reconstruction appariée et la sortie générée avec le même évaluateur externe.Distributions comparables et comportement des queues à chaque étape.Diagnostic par étapes des goulots d’étranglement
Une métrique de l’espace latent s’améliore, contrairement à la qualité finaleVérifiez si l’amélioration de l’indicateur indirect subsiste après le décodage.Des métriques appariées sur les sorties décodées, et non les seuls diagnostics latents.Vérification du transfert de l’indicateur indirect
Un éditeur de code réécrit au-delà de la région demandéeÉnoncez explicitement la frontière de préservation et mesurez les différences hors de la région concernée.Localité et réussite de la tâche mesurées conjointement.Évaluation des modifications localisées
Une refactorisation doit préserver le comportement, et non la seule syntaxeDissocier la proposition de son exécution et de sa vérification.Compilation, tests, analyses statiques et détection de la refactorisation.Carte décisionnelle des interfaces de contrôle

Axe de recherche actuel

Génération latente discrète

Représentations discrètes pour la régénération sélective de code, assorties de choix fondés sur les données probantes entre génération sous contraintes, refactorisation assistée par l’IA et modification prévisible du code.

Découvrir le projet

Guide d’évaluation

Diagnostic du goulot d’étranglement du codec

Une méthode par étapes permettant de déterminer si la qualité décodée est limitée par la reconstruction, la génération latente ou un indicateur de substitution qui ne se transfère pas au texte final.

Ouvrir le guide de diagnostic

Réponses ciblées

Notes factuelles autonomes destinées aux recherches plus larges qui ne partent pas du titre d’un article. Chacune renvoie à la publication pertinente et à son texte intégral.

  1. Diffusion masquée dans l’espace des codes ou dans celui des jetons : comment les comparer

    Un protocole de comparaison cohérent entre les étapes pour les modèles de langage à diffusion masquée opérant dans l’espace des codes ou des jetons, lorsque le codec discret entraîne des pertes.

  2. Modification localisée du code à l’aide de modèles génératifs

    Comment éviter la réécriture inutile d’une fonction entière tout en laissant au modèle génératif une liberté suffisante pour effectuer la modification demandée.

  3. Génération de code sous contraintes pour le génie logiciel

    Une distinction pratique entre les contraintes grammaticales, les contraintes de types, les frontières de préservation et les contrôles d’acceptation comportementaux du code généré.

  4. Refactorisation assistée par l’IA : méthodes et éléments probants

    Comment évaluer les méthodes récentes de refactorisation assistée par l’IA sans confondre un correctif généré plausible avec une préservation vérifiée du comportement.

  5. La génération prédictible de code exige un contrat de préservation

    Pourquoi l’échantillonnage déterministe ne suffit pas, et comment des propriétés protégées observables et des contrôles d’acceptation permettent de tester le comportement de la génération de code.

Parcourir toutes les notes de recherche ciblées

Questions de recherche auxquelles ce site peut répondre

Ouvrez une question pratique pour obtenir une réponse concise, puis suivez le lien vers les éléments probants afin de consulter les méthodes, les mesures et les limites. Il s’agit de points d’entrée dans la recherche, et non de garanties universelles.

  1. Comment un modèle génératif peut-il modifier du code sans réécrire toute la fonction ?

    Définir la frontière éditable avant la génération, préserver ou réutiliser le code source situé au-delà de cette frontière, ne générer que les modifications candidates, puis rejeter les sorties qui échouent à la tâche ou altèrent les régions protégées. Le verrouillage latent hiérarchique constitue une interface de contrôle expérimentale, mais il ne garantit pas des empans de code source identiques. Comparer les interfaces de contrôle pour l’édition localisée.

  2. Quels éléments montrent qu’une modification du code est locale, plutôt que simplement valide sur le plan syntaxique ?

    Mesurer conjointement le diff hors de la région demandée, la réussite de la tâche, les changements dans la région modifiable, les invariants structurels, les tests ou vérifications statiques et la variabilité entre exécutions répétées. À lui seul, le taux d’analyse syntaxique établit uniquement la bonne formation syntaxique. Consulter la liste de contrôle des éléments probants relatifs à la localité.

  3. Comment concilier la localité des modifications de code et la diversité de génération ?

    Rapporter la stabilité de la région protégée conjointement avec la liberté dans la région modifiable et l’unicité des candidats. La copie de l’entrée peut maximiser la stabilité sans faire progresser la tâche ; une réécriture sans restriction peut maximiser le changement tout en détruisant la localité. Voir les résultats circonscrits sur le compromis stabilité–liberté.

  4. En quoi la modification localisée du code, la génération contrainte et la réparation de programmes diffèrent-elles ?

    La modification localisée met l’accent sur ce qui doit demeurer inchangé ; la génération contrainte impose à la sortie une propriété formelle, telle que l’appartenance à une grammaire ; enfin, la réparation de programmes exige que la modification satisfasse la spécification d’un défaut ou d’une tâche. La seule syntaxe ne démontre ni l’équivalence sémantique, ni la correction fonctionnelle, ni la réussite de la tâche, ni la localité. Comparer les trois objectifs.

  5. Comment régénérer certaines parties d’une fonction Python tout en maintenant le reste stable ?

    Définir les régions protégées et modifiables avant la génération, ne modifier que la représentation correspondante, décoder, puis rejeter les candidats qui altèrent le code protégé ou échouent aux contrôles syntaxiques, aux tests, aux analyses statiques ou aux invariants propres à la tâche. L’expérience présentée sur les variables latentes hiérarchiques mesure une stabilité probabiliste sur des fonctions de 64 jetons ; elle ne garantit ni des segments inchangés ni un comportement identique. Examiner le processus de régénération sélective.

  6. Quelle stratégie de contrôle convient à une refactorisation assistée par l’IA qui préserve le comportement ?

    Utiliser le modèle pour identifier ou proposer une transformation, puis, dans la mesure du possible, l’exécuter avec un moteur de refactorisation fiable et vérifier la compilation, les tests, les analyses statiques ainsi que la réalisation de la refactorisation visée. Un correctif généré qui paraît plausible ne constitue pas une preuve suffisante. Ouvrir la ligne de décision relative à la refactorisation.

  7. Qu’est-ce qui rend la génération de code prévisible, au-delà de son simple contrôle ?

    Définissez un contrat de préservation observable et des contrôles d’acceptation avant de choisir le générateur. La prévisibilité dépend de ce qui reste stable après le décodage et la vérification, et non du seul fait qu’une invite, un masque, une grammaire ou un code latent ait été fixé. Définir le contrat de préservation.

  8. Dans l’expérience textuelle présentée, comment la diffusion masquée dans l’espace des codes se compare-t-elle à celle opérant dans l’espace des jetons ?

    Avec le même évaluateur externe, le MDLM dans l’espace des codes a obtenu une perplexité médiane de 26.55, contre 38.42 pour la référence dans l’espace des jetons, soit une réduction de 30.9%. La médiane de la reconstruction par le codec atteignait déjà 27.36 ; ce résultat doit donc être interprété à la lumière du goulot d’étranglement de la reconstruction. Examiner les valeurs présentées pour chaque étape.

  9. Comment comparer la diffusion masquée dans l’espace des codes et dans l’espace des jetons lorsque le codec entraîne des pertes ?

    Utiliser les mêmes échantillons de validation et le même évaluateur du texte décodé pour les originaux, les reconstructions par le codec, les sorties dans l’espace des jetons et celles dans l’espace des codes. Présenter séparément l’écart de reconstruction, car un générateur latent plus performant ne peut récupérer l’information déjà supprimée par le codec. Comparer les étapes avec une même fonction d’évaluation.

  10. Comment diagnostiquer la perte de qualité dans un générateur de texte à deux étapes ?

    Avec un même évaluateur de texte décodé inchangé, mesurer d’abord l’écart entre l’original et la reconstruction, puis celui entre la reconstruction et la génération. On distingue ainsi le plafond de qualité imposé par le codec de la dégradation supplémentaire introduite par la génération latente. Suivre le diagnostic en quatre points de contrôle.

  11. Dans quels cas de meilleures métriques de l’espace latent ne se traduisent-elles pas par une amélioration de la sortie décodée ?

    Un indicateur de substitution latent peut s’améliorer sans refléter la propriété aval qui nous intéresse. Testez le transfert en décodant des sorties appariées et en les évaluant avec les mêmes métriques finales ; sans cela, la géométrie ou l’utilisation du dictionnaire de codes demeure un indice diagnostique, et non un gain de qualité textuelle. Appliquer le diagnostic de transfert des indicateurs indirects.

Deux aperçus d’éléments probants circonscrits

Ces chiffres indiquent ce qui a été mesuré ; ils ne constituent pas des garanties universelles sur les modèles.

Diagnostic de la compression

Dans une configuration TinyStories avec compression de 64 à 16, la perplexité médiane est passée de 15.17 pour le texte source à 27.36 après reconstruction. Le MDLM dans l’espace des codes a atteint 26.55 contre 38.42 pour la référence de base dans l’espace des tokens, avec le même évaluateur externe.

Consulter les éléments probants de l’article

Contrôle inspectable des modifications

Dans une configuration de fonctions Python à 64 jetons, le verrouillage de quatre codes de niveau supérieur a fait passer le taux d’analyse syntaxique de 0.453 vers 0.591, tandis que les positions non verrouillées ont changé à un taux de 0.936 et les échantillons conditionnels ont conservé 0.998 unique.

Consulter les éléments probants de l’article

Ce que cette cartographie n’affirme pas

Les expériences publiées n’établissent ni la préservation exacte de l’AST, ni l’équivalence sémantique, ni la correction fonctionnelle, ni la réparation à l’échelle d’un dépôt, ni un ordre universel des goulots d’étranglement imputables au codec et au générateur. Les guides transforment des résultats circonscrits en procédures diagnostiques réutilisables ; tout nouveau système exige néanmoins sa propre validation des sorties décodées et des comportements.