Metin Üretiminde Difüzyonun Açıklanması

DiffusionGemma'yı anlamak için standart dil modellerinin temel sınırlamalarını ve metin tabanlı yayılmanın nasıl farklı olduğunu incelemek faydalı olur.

Otoregresif Modellerle İlgili Sorun

otoregresif ve difüzyon karşılaştırması

Birçok büyük dil modeli (LLM) otomatik regresiftir. Bu, metni tek seferde tek bir jeton olacak şekilde oluşturdukları anlamına gelir. Bu yaklaşım, gruplandırma yoluyla aynı anda birçok kullanıcıya hizmet vermek için iyi çalışsa da tek tek kullanıcılar için gecikme darboğazı oluşturur.

Kod çözme aşamasında, standart dönüştürücü modeller hesaplama açısından sınırlı olmaktan ziyade bellek açısından sınırlıdır. Üretim süresinin çoğu, gerçek matematiksel hesaplamaları yapmak yerine model ağırlıklarını donanım belleğinden işlem birimlerine yüklemekle geçer. Ağırlıkların, grup boyutundan bağımsız olarak adım başına yalnızca bir kez yüklenmesi gerektiğinden parça oluşturmak, 256 kullanıcının birlikte gruplandırılmasıyla 1 kullanıcı için neredeyse aynı süreyi alır.

Sonuç olarak, tek bir kullanıcı gecikme avantajı görmez. Donanımın hesaplama kapasitesi, bellek aktarımlarını beklerken boşta kalır.

DiffusionGemma'ya genel bakış

DiffusionGemma, bu boşta kalma süresini tek bir kullanıcı için kullanır. 256 ayrı kullanıcı için 1 jeton oluşturmak yerine, tek bir kullanıcı için 256 jetonu aynı anda oluşturur.

Model, 256 rastgele jetondan oluşan boş bir dizi (tuval olarak adlandırılır) başlatır ve tüm tuvali aynı anda yinelemeli olarak değerlendirip iyileştirir. Bu sayede model, belleğe bağlı olmaktan işleme bağlı hale gelir ve bilgi işlem gücü arttıkça işleme hızlarını verimli bir şekilde ölçeklendirebilir.

En Boy Oranı Metin Otomatik Regresyonu Metin Difüzyonu
Jeton Oluşturma (Token Generation) Her seferinde bir jeton Tek seferde jetonlarla dolu bir kanvas
Adımlar Her jeton için bir adım Birden fazla jeton için tek adım
Üretim Sırası (Generation Order) Soldan sağa Tüm pozisyonlar paralel
Başlangıç Noktası Boş sıra Sözlükten örneklenen rastgele jetonlar
Hata düzeltme Statik; geçmiş jetonlar revize edilemez Dinamik; herhangi bir tuval konumunu revize edebilir
Donanım darboğazı Bellek sınırlı İşlem sınırlı
İşleme Hızı Odaklı Yüksek çok kullanıcılı aktarım hızı Ultra düşük tek kullanıcı gecikmesi

Metin yayma mekanizmalarını anlama

Görüntü oluşturmada difüzyon modelleri, %100 rastgele Gauss gürültüsüyle başlar ve metin istemi tarafından yönlendirilen birden fazla adımda gürültüyü kademeli olarak kaldırır (gürültü giderme). Bu mantığı metne çevirmek daha zordur çünkü metin jetonları, sürekli piksel değerlerinin aksine ayrı varlıklardır.

DiffusionGemma, metne dayalı difüzyonu özel metodolojilerin ilerlemesiyle sağlar:

1. Maskeli Difüzyon

Maskeli Difüzyon

İlk metin yayma modelleri, BERT eğitimine benzer şekilde maskelemeyi kullanıyordu. Bir dizideki rastgele jetonlar, [MASK] jetonuyla (gürültüyü temsil eder) değiştirilir. Ters difüzyon sırasında model, maskenin arkasındaki doğru jetonu tahmin eder ve güvenin belirli bir eşiği karşıladığı yerlerde jetonları değiştirir.

Ancak, maskelenmiş difüzyon katı bir yapıya sahiptir: Bir [MASK] jetonu bir kelimeyle değiştirildikten sonra kilitlenir. Çevreleyen bağlam değişirse sonraki adımlarda düzeltilemez.

2. Uniform State Diffusion

Uniform State Diffusion

DiffusionGemma, maskelemenin sınırlamalarını çözmek için Uniform State Diffusion'ı kullanır. Açık bir [MASK] jetonu yerine, orijinal kelimeler sözlükteki tamamen rastgele jetonlarla değiştirilerek gürültü oluşturulur.

Model, gürültü azaltma işlemi sırasında hangi jetonların bağlamsal gürültü olduğunu belirlemek için tuvalin tamamını analiz eder ve bunları günceller. Bir jeton doğruysa yüksek olasılığını korur. Bir jetonun olasılığı, sonraki adımlarda ortaya çıkan yeni bağlam nedeniyle bir eşiğin altına düşerse yeni bir rastgele jetonla yeniden gürültü azaltma işlemine tabi tutulur. Bu döngü, sürekli hata düzeltmeye ve paralel tuval iyileştirmeye olanak tanır.

Mimari: Artımlı ön doldurma ve gürültü giderme

Blok Otoregresif Gürültü Giderme

DiffusionGemma, Artımlı Ön Doldurma ve Gürültü Giderme arasında geçiş yaparak Uniform State Diffusion'ı verimli bir şekilde uygular. Gemma 4 26B A4B modeli yerel olarak kullanılmaz ancak gürültü giderme ve kodlama gibi farklı görevleri desteklemek için hassas şekilde ayarlanır. Ayrı modeller kullanmak yerine, tek bir omurga dinamik olarak iki mod arasında geçiş yapar:

  • Önceden Doldurma / Artımlı Önceden Doldurma (Nedensel): İstemi bağlamını almak ve KV önbelleğine yazmak için nedensel dikkatten yararlanır. Bu işlem, ilk bağlamı önceden doldurmak için bir kez, ardından her blok için bir kez çalıştırılarak bir sonraki tuvali gürültü giderme işlemine geçmeden önce her sonlandırılmış 256 jetonluk tuvali KV önbelleğine ekler.
  • Gürültü azaltma (çift yönlü): Tuvali yinelemeli olarak gürültüden arındırmak için çift yönlü dikkat kullanılır. Tuvaldeki herhangi bir konumdaki sorgu jetonları, diğer tüm tuval jetonlarının (KV önbelleğinin yanı sıra) dikkatini çekebilir. Bu sayede model, bağlamı çift yönlü olarak işleyebilir.

Gelişmiş Çıkarım Çerçeveleri

DiffusionGemma, bir tuvali tamamen gürültüden son metne dönüştürmek için temel kod çözme sistemlerinden oluşan bir koleksiyon kullanır:

Kendini şartlandırma

Çıkarım sırasında kod çözücü (gürültü giderici olarak da bilinir) önceki durumunu korur. Gürültü azaltma adımını tamamladıktan sonra oluşturduğu olasılık dağılımı matrisini, jeton yerleştirme tablosuyla çarpar. Bu işlem, önceki tahminlerinin ve güven metriklerinin hafızasını taşıyan yerelleştirilmiş bir vektör gösterimi oluşturur. Bu gösterim doğrudan bir sonraki adıma iletilir.

Çoklu tuval örnekleme (blok difüzyonu)

Tek bir tuval 256 jetonla sınırlı olduğundan DiffusionGemma, uzun metinlerde difüzyon ve otomatik regresyonu birlikte kullanır. 256 jetonluk tam bir blok oluşturmak için difüzyon döngüleri çalıştırır, tamamlanan bu bloğu istem bağlamına ekler, kodlayıcının KV önbelleğini günceller ve 256 jetonluk yepyeni bir tuval difüzyon döngüsü başlatır.

Özet

Standart otoregresif dil modelleri, metni sırayla (her seferinde bir jeton) oluşturur. Bu durum, modellerin belleğe bağlı olmasına ve tek tek kullanıcılar için gecikme darboğazı oluşturmasına neden olur. DiffusionGemma, aynı anda 256 jetonluk tam bir "tuval" oluşturan, hesaplama açısından sınırlı bir modele geçerek bu sorunu çözüyor.

Uniform State Diffusion'ı kullanan model, metni rastgele sözcük gürültüsüyle değiştirir ve tüm tuvali paralel olarak yinelemeli şekilde iyileştirir. Gürültü giderme ve kodlama gibi farklı görevleri desteklemek için ince ayarlı bir Gemma 4 26B A4B kullanır. Kendi kendini koşullandırma ve çoklu tuval blok örnekleme gibi gelişmiş çerçeveler, modelin hataları dinamik olarak düzeltmesine, uzun biçimli içerik oluşturma işlemlerini yönetmesine ve tek kullanıcılı ultra düşük gecikme süresine ulaşmasına olanak tanır.