Diffusion Language Models
Difüzyon dil modelleri, birkaç gürültü giderme adımı boyunca birçok belirtecin maskesini aynı anda kaldırarak metin üretir. Maskeli difüzyon, LLaDA ve Mercury ele alınır.
Bir difüzyon dil modeli, genellikle tümü maske belirteçlerinden oluşan, tamamen bozulmuş bir diziden başlayıp art arda gelen gürültü giderme adımlarında birçok konumu paralel olarak iyileştirerek metin üretir. Geleneksel bir büyük dil modeli (LLM) ise soldan sağa, her seferinde bir belirteç yazar. Bu yaklaşım, görüntü difüzyon modellerinin arkasındaki fikri ayrık metne taşır: ileri süreç bir diziyi kademeli olarak bozar, bir Transformer ise bu süreci tersine çevirmeyi öğrenir. Yaklaşım, 2025'te üretim ölçeğine ulaştı. Sıfırdan eğitilmiş, 8 milyar parametreli bir difüzyon modeli olan LLaDA, bağlam içi öğrenmede LLaMA3 8B ile rekabet etti. Inception Labs'in Mercury Coder modelleri, bağımsız testlerde NVIDIA H100 GPU'larda saniyede 1.109 ve 737 belirteç hızına ulaştı. Google DeepMind'ın deneysel Gemini Diffusion modeli ise saniyede ortalama 1.479 belirteç örnekleme hızı bildiriyor.
Maskeli Difüzyon Nasıl Çalışır#
LLaDA ve yakın dönemdeki diğer modellerin çoğu, maskeli veya soğurucu durum difüzyonunu kullanır. İleri süreç, 0 ile 1 arasında bir gürültü düzeyi t seçer ve her belirteci t olasılığıyla bir maske simgesiyle değiştirir:
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)}")Çalıştırma, önce 2, sonra 5 ve 8 sözcüğün, en sonunda da 10 sözcüğün tümünün maskelendiği cümleyi yazdırır. Eğitim sırasında nedensel maske kullanmayan bir Transformer, bu dizilerden birini görür ve maskelenmiş her belirteci aynı anda tahmin eder. LLaDA'nın 1/t ile ağırlıklandırdığı maskeli konumlara çapraz entropi kayıp fonksiyonu uygulanır. Bu amaç fonksiyonu, her zaman belirteçlerin yüzde 15'ini tahmin eden BERT'in maskeli dil modellemesini tüm maskeleme oranlarını kapsayacak şekilde geneller ve modelin log-olabilirliğini sınırlayarak tam bir üretici model elde edilmesini sağlar.
Üretim, süreci t = 1'den geriye doğru yürütür. Her adım maskelenmiş tüm konumları tahmin eder, en güvenilir tahminleri sabitler ve geri kalanları yeniden maskeler. LLaDA bu stratejiye düşük güvenli yeniden maskeleme adını verir. Uzun çıktılar genellikle blok blok üretilir; blok difüzyonu olarak biçimselleştirilen bu yaklaşım, önceki blokların önbelleğe alınmasına olanak tanır ve çıktı uzunluğunun önceden sabitlenmesi gerekmez:
D3PM'den Üretim Modellerine#
Google'ın D3PM modeli, çoğu modelin günümüzde kullandığı soğurucu maske durumu dâhil olmak üzere ayrık durumlar üzerindeki difüzyonu 2021'de tanımladı. Stanford'un Diffusion-LM modeli, üretilen metni sözdizimi ve konu kısıtlamalarına yönlendirmek için 2022'de sürekli sözcük gömülerini difüzyona tabi tuttu. ICML 2024 En İyi Makale ödülünü kazanan Aaron Lou, Chenlin Meng ve Stefano Ermon'un SEDD modeli, önceki metin difüzyon modellerinin perplexity değerini yüzde 25 ila 75 düşürdü ve GPT-2'yi geride bıraktı. LLaDA daha sonra yaklaşımın milyarlarca parametreye ölçeklenebildiğini gösterdi. Bağlamı her iki yönden de okuduğu için, soldan sağa çalışan modellerin tersine çevirme lanetini sınayan bir ters şiir tamamlama görevinde GPT-4o'yu geçti. Inception, Mercury'yi OpenAI uyumlu Chat Completions API üzerinden sunuyor; bu nedenle Ultralytics LLM arayüzü, örneğin YOLO26 algılamalarını yazılı bir rapora dönüştürmek için api="chat.completions" ve Inception'ın base_url özelliğiyle çağrı yapabilir.
Güçlü Yönler ve Ödünleşimler#
Paralel maske kaldırma, belirteç sayısından daha az ileri geçiş gerektirir; hızın kaynağı budur. Her adımda daha fazla belirteç sabitlendikçe kalite düşer. Aynı adımda sabitlenen belirteçler birbirinden bağımsız örneklenir; bu nedenle çok sayıda belirteci bir kerede sabitlemek, birbiriyle uyuşmayan kombinasyonlar üretebilir. Ayrıca her adım tüm bloğa çift yönlü dikkat uygular; bu da adımı KV önbelleği kullanan tek bir otoregresif adımdan daha maliyetli kılar. Çift yönlü bağlam, boşluk doldurma ve düzenlemeyi doğal hâle getirir: model, iki taraftaki metinden yararlanarak bir işlevin veya belgenin ortasındaki boşluğu doldurabilir. Bu özellik kod tamamlamaya ve mevcut dosyaları düzenleyen ajan tabanlı kodlama araçlarına uygundur.
Difüzyon LLM'leri ve İlgili Terimler#
- Otoregresif metin üretimi: Her belirteci solundaki belirteçlerden tahmin eder ve her belirteç için bir ileri geçiş yapar.
- Görüntü difüzyonu: Stable Diffusion ve diğer gizil difüzyon modelleri, sürekli piksellere veya gizil değerlere Gauss gürültüsü ekler; gürültü giderici olarak genellikle bir difüzyon Transformer'ı (DiT) kullanılır.
- Difüzyon zorlama: Her belirtece ayrı bir gürültü düzeyi atar; sonraki belirteç tahminini tam dizi difüzyonuyla birleştirir ve esas olarak video ve planlama için kullanılır.
- Spekülatif kod çözme: Küçük bir modelle birkaç belirtekin taslağını oluşturup büyük modelin tek bir geçişinde doğrulayarak otoregresif modeli hızlandırır; böylece modelin çıktı dağılımı değişmez.










