Diffusion Language Models
Diffusions-Sprachmodelle erzeugen Text, indem sie in mehreren Entrauschungsschritten viele Token parallel entmaskieren. Behandelt maskierte Diffusion, LLaDA und Mercury.
Ein Diffusions-Sprachmodell generiert Text, indem es mit einer vollständig verrauschten Sequenz beginnt – meist ausschließlich mit Masken-Token – und viele Positionen in mehreren Entrauschungsschritten parallel verfeinert. Ein herkömmliches großes Sprachmodell (LLM) schreibt dagegen ein Token nach dem anderen von links nach rechts. Der Ansatz überträgt die Idee hinter bildbasierten Diffusionsmodellen auf diskreten Text: Ein Vorwärtsprozess zerstört eine Sequenz nach und nach, und ein Transformer lernt, diesen Prozess umzukehren. 2025 erreichte der Ansatz Produktionsmaßstab. LLaDA, ein von Grund auf trainiertes Diffusionsmodell mit 8 Milliarden Parametern, war beim In-Context-Lernen mit LLaMA3 8B vergleichbar. Die Mercury-Coder-Modelle von Inception Labs erreichten in unabhängigen Tests auf NVIDIA-H100-GPUs 1.109 beziehungsweise 737 Token pro Sekunde. Googles DeepMind-Projekt Gemini Diffusion gibt eine durchschnittliche Abtastgeschwindigkeit von 1.479 Token pro Sekunde an.
So funktioniert maskierte Diffusion#
LLaDA und die meisten anderen neueren Modelle verwenden maskierte Diffusion, auch Diffusion mit absorbierendem Zustand genannt. Beim Vorwärtsprozess wird eine Rauschstufe t zwischen 0 und 1 ausgewählt. Jedes Token wird dann mit Wahrscheinlichkeit t durch ein Maskensymbol ersetzt:
import torch
torch.manual_seed(6)
tokens = ["the", "cat", "sat", "on", "the", "warm", "mat", "by", "the", "door"]
# Forward process of a masked diffusion LM: at noise level t, each token is masked with probability t
for t in [0.25, 0.5, 0.75, 1.0]:
masked = torch.rand(len(tokens)) < t
noisy = ["[M]" if m else token for token, m in zip(tokens, masked)]
print(f"t={t:.2f}: {' '.join(noisy)}")Die Ausführung gibt den Satz mit 2, 5, 8 und schließlich allen 10 maskierten Wörtern aus. Beim Training sieht ein Transformer ohne Kausalmaske eine solche Sequenz und sagt alle maskierten Token gleichzeitig voraus. Dafür wird auf den maskierten Positionen eine Kreuzentropie-Verlustfunktion verwendet, die LLaDA mit 1/t gewichtet. Das Ziel verallgemeinert das maskierte Sprachmodellieren von BERT, bei dem immer 15 % der Token vorhergesagt werden, auf jedes Maskierungsverhältnis. Außerdem begrenzt es die Log-Likelihood des Modells, sodass ein vollständiges generatives Modell entsteht.
Die Generierung läuft ab t = 1 rückwärts. Bei jedem Schritt werden alle maskierten Positionen vorhergesagt, die Vorhersagen mit der höchsten Konfidenz übernommen und die übrigen erneut maskiert. LLaDA nennt diese Strategie Low-Confidence-Remasking. Lange Ausgaben werden oft blockweise erzeugt – ein Ansatz, der als Blockdiffusion formalisiert wurde. So können frühere Blöcke zwischengespeichert werden, und die Ausgabelänge muss nicht im Voraus festgelegt sein:
Von D3PM zu Produktionsmodellen#
Googles D3PM definierte 2021 Diffusion über diskrete Zustände, darunter den absorbierenden Maskenzustand, den die meisten Modelle heute verwenden. Stanford entwickelte 2022 Diffusion-LM, das kontinuierliche Wort-Einbettungen verrauscht, um generierten Text auf syntaktische und thematische Vorgaben auszurichten. SEDD von Aaron Lou, Chenlin Meng und Stefano Ermon, das beim ICML 2024 mit dem Best Paper Award ausgezeichnet wurde, senkte die Perplexität früherer Textdiffusionsmodelle um 25 bis 75 Prozent und übertraf GPT-2. LLaDA zeigte anschließend, dass sich der Ansatz auf Milliarden von Parametern skalieren lässt. Da das Modell den Kontext in beide Richtungen verarbeitet, übertraf es GPT-4o bei einer Aufgabe zur Vervollständigung von Umkehrgedichten, die den Umkehrfluch von Modellen testet, die von links nach rechts arbeiten. Inception stellt Mercury über eine mit OpenAI kompatible Chat-Completions-API bereit. Daher kann die Ultralytics-LLM-Schnittstelle Mercury beispielsweise mit api="chat.completions" und Inceptions base_url aufrufen, um Erkennungen von YOLO26 in einen schriftlichen Bericht umzuwandeln.
Stärken und Kompromisse#
Paralleles Aufheben der Maskierung benötigt weniger Vorwärtsdurchläufe als die Anzahl der Token – daher die höhere Geschwindigkeit. Die Qualität nimmt ab, wenn weniger Schritte jeweils mehr Token übernehmen. Token, die im selben Schritt übernommen werden, werden unabhängig voneinander abgetastet. Werden viele Token auf einmal übernommen, können daher unpassende Kombinationen entstehen. In jedem Schritt wird außerdem der gesamte Block in beide Richtungen berücksichtigt, wodurch ein Schritt aufwendiger ist als ein autoregressiver Schritt mit KV-Cache. Der bidirektionale Kontext erleichtert das Ergänzen und Bearbeiten von Text: Das Modell kann eine Lücke in der Mitte einer Funktion oder eines Dokuments anhand des Textes auf beiden Seiten füllen. Das eignet sich für Codevervollständigung und Werkzeuge zum agentengestützten Programmieren, die bestehende Dateien bearbeiten.
Diffusions-Sprachmodelle und verwandte Begriffe#
- Autoregressive Textgenerierung: Sagt jedes Token anhand der links davon stehenden Token vorher, mit einem Vorwärtsdurchlauf pro Token.
- Bilddiffusion: Stable Diffusion und andere latente Diffusionsmodelle fügen kontinuierlichen Pixelwerten oder latenten Repräsentationen Gaußsches Rauschen hinzu. Häufig dient ein Diffusion-Transformer (DiT) als Entrauscher.
- Diffusion Forcing: Weist jedem Token eine eigene Rauschstufe zu und kombiniert die Vorhersage des nächsten Tokens mit Diffusion über die gesamte Sequenz. Der Ansatz wird hauptsächlich für Video und Planung verwendet.
- Spekulatives Dekodieren: Beschleunigt ein autoregressives Modell, indem ein kleineres Modell mehrere Token vorhersagt und ein einziger Durchlauf des großen Modells diese überprüft. Die Ausgabeverteilung bleibt dabei unverändert.










