Diffusion Language Models
Apprends comment les modèles de langage par diffusion génèrent et modifient du texte grâce à un débruitage itératif, avec des informations sur les Transformers, les applications, les avantages et les limites.
Les modèles de langage par diffusion sont des modèles génératifs qui produisent ou modifient du texte par débruitage itératif, plutôt que de générer chaque token strictement de gauche à droite. Ils commencent par une séquence corrompue, souvent composée de tokens masqués, remplacés ou incertains, puis affinent à plusieurs reprises plusieurs positions jusqu’à ce que le texte devienne cohérent. Cette approche combine des idées issues de la modélisation du langage et des modèles de diffusion, offrant une alternative à la génération conventionnelle du token suivant.
Fonctionnement des modèles de langage par diffusion#
Le texte est d’abord divisé par tokenisation en mots, sous-mots, caractères ou autres unités discrètes. Pendant l’entraînement, un processus de corruption directe supprime progressivement les informations des séquences de tokens. Selon l’implémentation, les tokens peuvent être remplacés par des symboles de masque, des alternatives échantillonnées ou des représentations continues bruitées appelées plongements.
Le modèle apprend le processus inverse : prédire des versions plus propres des séquences corrompues. Au moment de l’inférence, il part d’un bloc fortement masqué ou bruité et effectue plusieurs étapes d’affinement. Les premières étapes établissent le sens général et la structure, tandis que les suivantes corrigent le vocabulaire, la grammaire, la mise en forme et la cohérence locale.
De nombreux modèles de langage par diffusion utilisent un transformer pour traiter la séquence. Les Transformers sont bien adaptés à cette tâche, car leur mécanisme d’attention peut relier chaque token au contexte environnant. La documentation PyTorch sur Transformer fournit une vue d’ensemble utile de cette architecture sous-jacente.
Contrairement à un système fixe de remplissage de blancs, la génération par diffusion peut réexaminer plusieurs fois ses prédictions. Un token sélectionné à une étape donnée n’est pas nécessairement définitif ; les itérations suivantes peuvent le modifier lorsque le reste de la séquence fournit un meilleur contexte. La vue d’ensemble de Google DeepMind sur la diffusion de texte illustre ce modèle de génération itérative au niveau des blocs.
Modèles de diffusion et concepts associés#
Plusieurs termes étroitement liés désignent des objectifs ou des architectures différents :
- Les grands modèles de langage autorégressifs génèrent les tokens séquentiellement, chaque prédiction étant conditionnée par la sortie précédente. Ce processus causal est présenté dans le tutoriel de TensorFlow sur la génération de texte autorégressive. Les modèles de diffusion peuvent au contraire mettre à jour de nombreuses positions à chaque étape d’affinement.
- Les modèles de langage masqués prédisent des tokens volontairement masqués en utilisant le contexte des deux côtés. L’exemple de modélisation du langage masqué avec Keras présente cet objectif d’entraînement. Les modèles de langage par diffusion étendent cette idée en un processus complet de génération comportant plusieurs niveaux de corruption et itérations de débruitage.
- Stable Diffusion est un système de génération d’images, et non un grand modèle de langage. Les services d’images Stable Diffusion de Stability AI génèrent et modifient du contenu visuel, tandis que les modèles de langage par diffusion opèrent sur des tokens textuels ou leurs représentations.
- Transformers de diffusion désigne l’utilisation de transformers au sein de systèmes de diffusion, généralement pour la génération d’images ou de vidéos. Un modèle de langage par diffusion est défini par son objectif de génération de texte, et pas uniquement par l’architecture de son réseau neuronal.
Applications concrètes#
Une application concrète est la modification de documents et de code. Au lieu d’ajouter du texte après un curseur, un modèle de langage par diffusion peut affiner un brouillon entier ou une portion sélectionnée. Par exemple, il peut reconstituer une fonction manquante tout en révisant les noms de variables, les imports et les commentaires dans le bloc. La capacité à utiliser le contexte précédent et suivant est précieuse lorsque des corrections à un endroit ont des répercussions sur un autre.
Une deuxième application est l’analyse multimodale. Un système de vision peut extraire des informations factuelles d’une image, après quoi un modèle de langage par diffusion peut composer itérativement un rapport, une légende ou une réponse fondée sur ces observations. Par exemple, la détection d’objets peut identifier des véhicules et des personnes dans une scène de circulation avant que le composant de langage ne rédige un résumé de l’incident.
Le workflow suivant utilise Ultralytics YOLO26 pour créer un contexte visuel structuré destiné à la génération de langage en aval :
from ultralytics import YOLO
# Run object detection on a sample image
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Convert detections into compact language-model context
detections = result.summary()
object_names = sorted({item["name"] for item in detections})
visual_context = ", ".join(object_names)
print(visual_context)Le workflow de prédiction YOLO renvoie des sorties structurées, tandis que la méthode Results.summary() convertit les détections en dictionnaires plus faciles à transmettre à un pipeline de langage. Cette séparation permet au modèle de vision de fournir des observations fondées sur les données, tandis que le modèle de langage gère la composition itérative.
Avantages, limites et recommandations pratiques#
Les modèles de langage par diffusion peuvent proposer plusieurs tokens en parallèle, réviser des choix antérieurs et prendre naturellement en charge le remplissage de portions manquantes ou la modification sous contraintes. Toutefois, la prédiction parallèle ne garantit pas une latence de bout en bout plus faible : la génération nécessite toujours plusieurs étapes de débruitage, et sa vitesse dépend de la longueur de la séquence, de la taille du modèle, du matériel et de la stratégie d’échantillonnage.
Le texte est également discret, ce qui rend la corruption progressive moins naturelle que l’ajout de bruit à des pixels d’image continus. Des systèmes mal configurés peuvent produire des répétitions, omettre des détails requis, modifier inutilement un texte correct ou avoir du mal à déterminer la longueur de sortie.
Les équipes doivent évaluer la précision sur la tâche, la factualité, la stabilité des modifications, la latence et l’utilisation des ressources à partir de prompts représentatifs. Les recommandations de Google Cloud sur l’évaluation de l’IA générative préconisent de combiner des métriques automatisées à une évaluation humaine, car la qualité du langage dépend du contexte. Les déploiements à fort impact doivent également suivre un processus structuré tel que le cadre de gestion des risques liés à l’IA du NIST.
Pour les applications visuelles, l’Ultralytics Platform prend en charge l’annotation des jeux de données, l’entraînement des modèles, le déploiement et la supervision, aidant les équipes à créer le composant de perception capable d’ancrer les workflows de langage en aval fondés sur la diffusion.






