← Radar

Konu: Araştırma3 dk okuma

Perlin gürültüsünün öğrenen halefi: Sonsuz dünyayı difüzyonla üretmek

Bu neden önemli?

Prosedürel üretim hızlı ama sıradan, yapay zekâyla üretim gerçekçi ama sınırlı bir tuvalde ve yavaş. Bu çalışma ikisinin arasındaki duvarı yıkıyor: Hangi bölgeyi sorarsan sor, maliyet dünyanın büyüklüğünden bağımsız. Fikir araziye özel değil; büyük, tutarlı ve sonsuz bir şey üretmek isteyen herkes için ilginç.

Sonsuz harita nasıl üretilir?

Minecraft’ta bir yöne yürümeye başladığında dünya hiç bitmiyor. Bunun sırrı prosedürel gürültü: Perlin gürültüsü gibi, verdiğin koordinata bir yükseklik döndüren matematiksel bir fonksiyon. Üç güzel özelliği var. Çok hızlı (mikrosaniyeler), sonsuz (her koordinat için çalışır) ve tohuma bağlı (aynı seed her zaman aynı dünyayı verir). Bu sayede oyun, dünyanın tamamını üretmeden sadece oyuncunun yakınını hesaplayabiliyor.

Sorun şu: Gürültü bir şey öğrenmiyor. Dağ sıraları, nehir havzaları, kıta ölçeğinde bir düzen yok. Sonuç büyük ölçekte tekdüze ve tekrar eden bir görüntü.

Difüzyon gerçekçi ama tuvali sınırlı

Resim üreten yapay zekâların yöntemi difüzyon: Rastgele gürültüyle başla, eğitilmiş model onu adım adım temizleyip anlamlı bir görüntüye çevirsin. Bu yöntemin metne uygulanmış halini DiffusionGemma yazısında anlatmıştık. Gerçek yükseklik haritalarıyla eğitilen bir difüzyon modeli de inandırıcı arazi üretebilir. Ama genelde sabit büyüklükte bir tuvalde çalışır. Büyük görüntüler için kullanılan MultiDiffusion, tuvali üst üste binen pencerelere bölüp her pencerenin tahminini ortalıyor. Yine de tuval baştan belli olmalı; sonsuz bir dünya için bu mümkün değil.

InfiniteDiffusion: Sadece sorduğun yeri hesapla

Goslin’in fikri, MultiDiffusion’ı tembel (lazy) hale getirmek. Bir bölgeyi istediğinde algoritma sadece o bölgeye değen pencereleri temizliyor ve sonuçlarının ağırlıklı ortalamasını alıyor. Uzaktaki hiçbir şeye bakmıyor. Hesaplanan parçalar sınırsız boyutlu, seyrek bir önbellekte tutuluyor.

Bunun sonuçları, Perlin gürültüsünün sevilen özellikleriyle birebir aynı:

  • Tohuma bağlı: Çıktı sadece seed’e ve koordinata bağlı. Hangi sırayla gezdiğin fark etmiyor.
  • Sabit maliyetli erişim: Sabit büyüklükte bir bölgeyi sormanın maliyeti, dünyanın neresinde olduğundan ve ne kadarının üretildiğinden bağımsız. Binlerce kilometre öteye ışınlanabilirsin.
  • Paralel: Aynı adımdaki pencereler birlikte hesaplanabiliyor.

Algoritma yeniden eğitim gerektirmiyor; mevcut bir difüzyon modelinin üzerine takılabiliyor. Depoda Stable Diffusion ile sonsuz panorama üreten küçük bir örnek de var.

Dağ ile dere aynı haritada

Arazinin zor yanı ölçek. Mariana Çukuru’ndan Everest’e yükseklik farkı yaklaşık 19 kilometre, ama araziyi arazi gibi gösteren sırtlar ve dere yatakları birkaç metre. Tek bir sayı aralığında ikisini birden iyi öğrenmek zor. Makale bunu Laplace kodlamasıyla çözüyor: Haritayı bulanık, kaba bir katman ile ondan geriye kalan ince ayrıntı katmanı olarak ikiye ayırıyor. Model ikisini ayrı ayrı üretiyor.

Üstüne bir model hiyerarşisi var. En üstteki model piksel başına yaklaşık 23 kilometre çözünürlükte kıtaların kabaca yerleşimini çiziyor. Ortadaki 90 metre çözünürlükte 46 kilometrelik parçalar üretiyor, son model ayrıntıyı ekliyor. Eğitim verisi gerçek Dünya ölçümleri: karada MERIT yükseklik verisi, denizde ETOPO1, iklim için WorldClim.

Ne kadar hızlı?

Makaleye göre eğitim bir RTX 3090 Ti üzerinde yaklaşık iki hafta sürüyor. Aynı kartta ilk 512×512 parça 1,7 saniyede, sonrakiler 0,66 saniyede geliyor ve 2 GB civarında ekran kartı belleği yetiyor. Yazar bunu yörünge hızının 9 katında uçan birine yetişecek hız olarak özetliyor. Gerçekçilik ölçüsü FID’de Perlin karışımı 186,7, InfiniteDiffusion 14,8 alıyor (düşük olan daha iyi).

Bedeli de var. Perlin mikrosaniyeler sürerken burada saniyeler konuşuyoruz. Dağınık, küçük sorgular verimsiz. Minecraft’ta bir biyomu aratmak (/locate biome) ve keşif haritaları şimdilik çalışmıyor.

Kod MIT lisanslı. Minecraft Java için Fabric mod’u hazır: Dünyayı seed ile paylaşabiliyor, çok oyunculu oynayabiliyorsun. Videoya göre makalenin tek yazarı olan bağımsız bir araştırmacının SIGGRAPH’a kabul edilmesi de az rastlanan bir şey.

Düşün

  • Bir oyun dünyası “öğrenilmiş” olunca tasarımcının kontrolü azalır mı, artar mı?
  • Sadece istenen parçayı hesaplayan bu yaklaşım arazi dışında nerede işe yarardı? Şehir, doku, müzik?

Videoyu izle

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (5, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.

Konu: Araştırma4 dkVideo: Two Minute Papers

Gözü olmayan model satırın bittiğini nasıl anlıyor? Bir sayma görevinin geometrisi

Sabit genişlikte yazılmış bir metinde dil modeli, satırı nerede kıracağını bilmek için karakter saymak zorunda. Ama karakterleri hiç görmüyor, sadece token numaraları görüyor. Anthropic'in Claude 3.5 Haiku üzerindeki çalışması, modelin bu sayıyı kıvrımlı bir eğri üzerinde tuttuğunu ve satır sonunu bu eğriyi döndürerek fark ettiğini gösteriyor.