3 puan yazan GN⁺ 2025-10-21 | 1 yorum | WhatsApp'ta paylaş
  • BERT ve RoBERTa gibi maskeli dil modelleri de bir metin difüzyon modeli olarak yorumlanabilir.
  • Mevcut autoregressive (ör. GPT) modellerinden farklı olarak, blok bazlı üretim ve kademeli geri kazanım yaklaşımının uygulanabilirliği gösterildi.
  • Maskeleme oranını adım adım ayarlayarak eğitildiğinde RoBERTa'nın da doğal metin üretimi yapabildiği deneysel olarak doğrulandı.
  • Mevcut yapı değiştirilmeden yalnızca eğitim hedefi ayarlanarak üretim yeteneği sağlanabildi.
  • GPT-2 ile karşılaştırıldığında, RoBERTa tabanlı bir difüzyon modeli de belirli bir düzeyde tutarlı metin üretimi sonuçları üretebiliyor.

Genel Bakış

Google DeepMind tarafından duyurulan Gemini Diffusion, mevcut GPT serilerinden farklı olarak metni bir kerede blok bazında üreten bir difüzyona dayalı dil modelidir. Bu yaklaşım, rastgele gürültüyü kademeli olarak azaltarak metin üreten bir yöntemdir. İlgili makaleye (Large Language Diffusion Models) bakıldığında ayrık dil difüzyonunun **maskeli dil modelleme (MLM)**in bir genellemesi olduğu görülüyor. Yani bu fikirle BERT tabanlı modellerin de metin üretiminde kullanılabileceği deneysel olarak araştırıldı.

Not: Daha sonra yayımlanan DiffusionBERT makalesi, benzer fikirleri daha sıkı bir şekilde test ediyor.

Transformer'ın kısa geçmişi

2017’de ilk kez önerilen Transformer, encoder-decoder mimarisindeydi. 2018’de encoder (BERT: çift yönlü, maskeli geri kazanım odaklı) ve decoder (GPT: otomatik/oto-regresif, sıralı tahmin odaklı) ayrılarak her biri için özelleşmiş model aileleri ortaya çıktı.

  • Sadece encoder (BERT ailesi)
    • Tüm bağlamı alıp belirli bir kısmı <MASK> ile gizleyip kalanıyla geri kazanım yapma
    • Cümle temsili, sınıflandırma gibi görevlerde güçlü performans
  • Sadece decoder (GPT ailesi)
    • Verilen sırada bir sonraki tokeni tahmin etme
    • Üretim, özetleme, çeviri gibi görevlerde öne çıkma

BERT önce sınıflandırma gibi işlerde doğrudan kullanıldı, ancak zamanla GPT serisi üretim yetenekleriyle daha geniş kullanım alanları kazandı.

Ayrık dil difüzyon modelleri

Difüzyon modelleri ilk olarak görüntü üretiminde popüler hale geldi.
Görüntülerde:

  • İleri süreç: temiz görüntüye kademeli olarak Gaussian gürültüsü eklenir ve tamamen gürültülü bir duruma ulaşılırsın
  • Ters süreç: derin öğrenme modelinin yardımıyla ardışık olarak gürültüyü azaltarak orijinal veri geri kazanılır

Metne uygulanmasında en basit yöntem maskelime dayalı gürültü sürecidir.

  • Ön süreç (maskleme)
    • t=0'da orijinal metin, adımlar ilerledikçe bazı tokenlar rastgele <MASK> ile değiştirilir
    • Son adımda tüm tokenlar <MASK> ile doldurulur
  • Ters süreç (gürültüsüzleştirme)
    • Transformer encoder, verilen maskeleme ayarına göre orijinal tokenları geri kazanmayı öğrenir
    • Düşük maskeleme oranları daha kolay, oran arttıkça geri kazanım zorlaşır
    • Yüksek maskeleme oranından başlayıp oranı düşürerek tekrarlanır ve tüm dizi üretilir

Bu difüzyon çerçevesinde model, farklı maskeleme oranlarına göre gürültüsüzleştirme kayıplarını adım adım toplayarak eğitilir. BERT’in maskeli geri kazanım hedefi temelde bir metin difüzyonunun bir parçasıdır. Maskeleme oranı zamanlaması ve tekrarlı gürültüsüzleştirme birleştirildiğinde, BERT’in hedefi doğal dil üretim prosedürüne genişletilebilir.

RoBERTa Diffusion deneyi

RoBERTa, 2019’da yayımlanan BERT’in hiperparametre ve veri genişletmesiyle, biraz daha sade bir eğitim hedefine (yalnızca MLM) sahip bir versiyonudur.
Deneyde HuggingFace transformers ve datasets kütüphaneleri kullanılarak RoBERTa’nın temel ağırlıkları, tokenizer’ı ve Trainer’ı alındı.
WikiText veri seti ile aşağıdaki süreçte ince ayar yapıldı:

  • Maskeleme için örneklenen 10 adımlı difüzyon takviminden (mask_probs: 1.0~0.1) biri her batch için seçildi ve maskleme uygulandı
  • Özel diffusion_collator ile maskeleme olasılığı belirlendikten sonra, her token için olasılıksal olarak <MASK> uygulanır
  • Promt bağlamını korumak adına ilk 16 token her zaman korunur

Veri maskeleme (özel collator):

  • Her örnek token seti padding sonrasında, maskeleme olasılığı rastgele seçilir
  • İlk 16 token hariç geri kalan tokenlara olasılıksal olarak <MASK> uygulanır
  • Maskelenmiş veri ve karşılık gelen doğruluk etiketleri döndürülür

Üretim (inference):

  • 256 token uzunluğunda dizi girişi verilir; ilk 16 token prompt, kalanlar <MASK>
  • Her adımda modelin tahmin ettiği tokenlar örneklenerek doldurulur ve ardından belirli bir oranda yeniden maskeleme yapılır
  • Maskeleme oranı kademeli olarak azaltılarak döngü tekrar edilir, son adımda tümü geri kazanılır

Örnek üretim sonuçları:

  • Prompt ve doğal bir takip metni içererek oldukça tutarlı metinlerin gerçekten üretildiği görülür
  • Bazı anomaliler, WikiText veri ön işleme formatından kaynaklanır (ör. @-@ tire işareti)

GPT-2 ile karşılaştırma

  • GPT-2, biraz daha hızlı ve tutarlılık olarak biraz daha yüksek olsa da RoBERTa Diffusion da beklenenin üstünde performans gösterir (artarak iyileştirilebilir potansiyel var)
  • Yeni AR-Diffusion, Skip-Step Diffusion yöntemleri ve optimizasyonlarla kalite/hız daha da artabilir

Sonuç

  • RoBERTa gibi maskeli dil modelleri, maskeleme oranını adım adım değiştirerek eğitildiğinde doğal dil üretim motoruna dönüşebilir
  • <MASK> tokenleriyle metni kademeli olarak bozma/onarım mantığıyla yalnızca öğrenme hedefi değiştirilerek tamamen üreten bir modele dönüştürme imkânı doğrulanmıştır
  • Yapının kendisi değişmeden, yalnızca eğitim hedefinin uyarlanması ile üretim yeteneği sağlanabilir
  • Sonuç olarak BERT ailesi modelleri aslında temelde tek bir metin difüzyon modeliyle örtüşür

1 yorum

 
GN⁺ 2025-10-21
Hacker News görüşü
  • BERT ilk ortaya çıktığında herkes metin üretmeyi denedi, ama genel olarak pek iyi sonuç vermediğine dair referans makale burada. DeepMind'dan Savinov ve diğerleri, eğitim sırasında yalnızca iki adım uygulanıp maskeleme olasılığı rastgeleleştirilirse bunun epey işe yarayabildiğini göstermişti

    • Geçen hafta BERT ile sohbet ettirmeye yönelik çeşitli denemeler yaptıktan sonra bu yazı sayesinde bunları öğrenmiş oldum. Hâlâ denemek istediğim başka fikirler var, o yüzden keyifle deney yapmaya devam ediyorum ilgili blog

    • BERT'in metin üretimi için değil, yalnızca saf bir encoder olarak; örneğin anlamsal benzerlik ölçümü ve sınıflandırma için kullanılabileceğini düşünen büyük grubun bir parçasıydım

  • Bildiğim kadarıyla bu bağlantıyı ilk kez 2021'de şu makale (sayfa 5) işaret etti. Metin difüzyonunda kelimeleri anlamsal olarak benzer başka kelimelerle bozma yaklaşımını denediler, ama modelin maskelenmiş kelimeyi bulmasını sağlamak daha kolaydı. Bu yaklaşımın geçmişi, bunu difüzyon matematiğiyle açıklamadan üretici MLM oluşturan daha eski şu makaleye kadar gidiyor

    • Bundan da eski. 2014'te Li Yao ve diğerleri şu makalede autoregressive (sonraki token tahmini) modeller ile üretici stokastik ağların (denoising autoencoder'lar, difüzyon modellerinin öncülleri) denkliğini gösterdi. Paralel örneklemenin ardışık örneklemeyi iyi yaklaşıkadığını savundular ve 2016'daki çalışmamda, Counterpoint by Convolution, (bağlantı) bu yöntemi uygulayıp hatta daha iyi performans verdiğini anlattım. Ne yazık ki uygulama odaklı bir makale olduğu için difüzyon tarafında çok atıf almadı. Bunun daha da eski kökleri olduğuna eminim

    • Ben de o makaleyi ilk kez bunu resmî olarak ele alan referans olarak hatırlıyorum (BERT'i gördükten sonra NLP araştırmacılarının difüzyon fikrine ulaşması oldukça doğal görünüyor). Üç yıl önce derlediğim erken dönem metin difüzyonu referansları burada

    • İlgili makaleye ayrıca buradan da bakılabilir

  • Difüzyon tabanlı yaklaşım, hayvan beyninde olanlara daha yakınmış gibi hissettiriyor. Ben konuşurken önceki kelimeye dayanarak kelimeleri tek tek üretmiyorum; önce zihnimde genel fikir kabaca oluşuyor, sonra onu dile dökme kısmı geliyor gibi hissediyorum

    • Autoregressive LLM'ler de aslında yalnızca bir sonraki kelimeyi tahmin etmekten ibaret değil. Bir forward pass'te bir token çıksa da latent uzayda uzun vadeli planlama ve akıl yürütme açıkça ortaya çıkıyor. Biz de konuşurken önce zihnimizde genel resmi kurup sonra sıralı biçimde konuştuğumuz için, difüzyon yaklaşımının bize daha çok benzediği söylenemez

    • Şahsen difüzyonu bir tür "spektral autoregression" olarak açıklayan blog yazısını sevmiştim. Difüzyon, önce düşük frekanslı özellikleri, sonra yüksek frekanslı özellikleri tahmin etme eğiliminde

    • Slack'te bir mesajı beş kez falan düzenlediğimde kendimi çoğu zaman bir difüzyon modeli gibi hissediyorum

    • Konuşurken ya da yazarken kelimeleri gerçekten sıralı biçimde dışarı veriyoruz. Ama cümleye başlamadan önce kafamızda kabaca ana fikri düşünmüş oluyoruz. Bu da, LLM'lerin token üretmeden önce latent uzayda genel yönü planlamasına benziyor

    • Yorumlama araştırmaları, autoregressive LLM'lerin de önceden ne söyleyeceğine dair içsel planlar yaptığını gösteriyor

  • Bana göre yalnızca maskeleme ve doldurmaya izin vermek yerine, Levenshtein tarzı ekleme/silme düzenlemelerini desteklemek daha doğal olurdu. Örneğin son aşamada bir kelimeyi daha uzun bir eşanlamlıyla değiştirmek istersen sağa kaydırma yapılamadığı için böyle bir difüzyon yapısında bu kolay değil

    • Bu konuda ilerleme var. expand/delete token'ları ekleme denemeleri DreamOn gibi çalışmalarda görülüyor
  • Böyle basit deneyler, prensibi hızla kavratabildiği için ilginç. Metin difüzör modellerinde can sıkıcı olan şey, token'ların sürekli değerler değil ayrık değerler olarak ele alınması. Görsellerde pikseller sürekli olduğu için doğal biçimde gürültü ekleyebiliyorsunuz, ama metin token'larında bu mümkün değil. Genelde tam değiştirme yapılıyor; embedding uzayında gürültü eklemek ya da embedding'i doğrudan öğrenmek gibi çeşitli yaklaşımlar var ama hepsi görüntü difüzyonundan daha karmaşık

  • Ben daha çok şu makaledeki gibi yaklaşımlardan umutluyum. Sürekli latent difüzyonu, autoregressive transformer tabanlı metin üretimiyle birleştiriyor. Autoencoder ile transformer aynı anda (ya da bağımsız olarak) eğitilebiliyor

  • Metin difüzyon modelleriyle ilk karşılaştığımda aklıma gelen şey, “Bu sadece MLM değil mi?” olmuştu. Benim dikkat ettiğim nokta MaskGIT'ti. Bu yaklaşımın gerçekten difüzyon sayılması için, modelin yanlış token'ları doğru token'larla değiştirmeyi öğrenmesi gerekir gibi geliyor; çünkü sürekli difüzyonun güçlü yanı gürültüye dayanıklılık. Ama pratikte yanlış token üretme fikrini kurmak kolay görünmediğinden, sanki bu henüz çok denenmedi

    • UTF8 bayt düzeyinde MLM ile deney yapıp standart olmayan bir çeviri modeli denemiştim. Curriculum learning ve kademeli rastgele bozma kullandım. Amaç sadece gürültü eklemekse, rastgele indeksleri rastgele bayt değerleriyle değiştirmek yeterli. Örneğin modele şu deseni verirsiniz

      [Source UTF8 bytes] => [Corrupted Target UTF8 bytes]
      

      Tüm hedef diziyi tekrar tekrar değerlendirerek, zorluk seviyesi arttıkça eğitim alanında süreksiz değişimler oluşmamasını sağlarsınız. Sonunda terimlere ya da sınıflandırmalara takılmayı bıraktım; “bu difüzyon mu” sorusundan çok “gerçekten işe yarıyor mu” sorusuna odaklandım

  • ELECTRA ile karşılaştırmasının nasıl olacağını da merak ediyorum

    • DeBERTa ile de karşılaştırılabilir. Her hâlükârda çok ilginç
  • Satır içi kod tamamlama modelini fine-tune edip Cursor'a benzer performans verip vermeyeceğini denemek istemiştim (muhtemelen zordur ama eğlenceli olurdu). Ama temel alınabilecek açık bir difüzyon modeli henüz yok, o yüzden beklenti içindeyim

  • Görüntü difüzyon modellerinin çekici yanı, rastgele gürültüden görüntü üretmeleri. Ama metin difüzyon modelleri neden rastgele token'lardan değil de tamamen maskelenmiş boş token'lardan başlıyor diye merak ediyorum

    • Bu, yapmak istediğiniz işe bağlı. Basit metin tamamlama için giriş cümlesini maskesiz verip devamındaki mask token'larını modelin doldurmasını sağlarsınız. Kod düzenleme gibi bir şey istiyorsanız, yalnızca düzenlenecek kısmı maskeleyip sırayla doldurtabilirsiniz. Metin difüzyon modellerinin güçlü yanı, kod düzenleme gibi gerçek düzenleme işlerini yapabilmeleri (autoregressive LLM'lerde bunun için komutlarla çalışan ayrı bir sistem gerekir). Gerçekten uygun bir kod düzenleme head'i ile model eğitilirse, birçok yazılım işinde hız ve verim artabilir. Gelecekte GPT Codex benzeri yerlerde bu tür özelliklerin doğal biçimde entegre olacağını düşünüyorum

    • Herkes tamamen boş token'larla başlayan yaklaşımı kullanmıyor. Kimi rastgele token'lardan, kimi maskelerden, kimi de embedding vektörlerinden başlıyor; farklı denemeler var