Başlık: Hata Tek Bir Eksendeydi

PyTorch'un chunked-scan uygulamasındaki gizli bir hata, hızlı birleştirilmiş (fused) çekirdeklerin eksik olduğu durumlarda belirli hibrit modellerin gelecekteki token'lara göz atmasına izin vererek Zamba2-1.2B ve Nemotron-H-8B gibi kontrol noktalarını (checkpoints) tehlikeye atıyor. Kusur, yanlış eksen boyunca gerçekleştirilen tek bir azaltma (reduction) işleminden kaynaklanıyor ve çoğu CI hattının ve CPU çalışmasının güvendiği yürütme yolunda ortaya çıkıyor.

Hata neden önemli?

Hibrit ve durum-uzay (state-space) modelleri artık yalnızca attention mekanizmasına bağlı değil; aynı zamanda doğrusal yinelemeler (linear recurrences), taramalar (scans) ve konvolüsyonlar da kullanıyorlar. Attention matrisindeki gelecekteki token'ları engelleyen bir maskeleme işlemi, bu ek işlemler için nedenselliği (causality) otomatik olarak garanti etmez. Normalde taramayı doğru şekilde yönetecek olan hızlı birleştirilmiş çekirdekler eksik olduğunda, PyTorch saf Python tabanlı bir chunked-scan yoluna geri döner. Bu geri dönüş yolu eksen karışıklığı (axis-mixup) içerir ve çıkarım (inference) sırasında sonraki konumlardan gelen bilgilerin geriye doğru akmasına izin verir.

Sızıntı sessizdir. Modeli çökertmez veya bariz bir hata vermez. Bunun yerine, model aslında hile yaptığı —yani tahmin etmesi gereken token'ları bizzat gördüğü— için kayıp (loss) ve perplexity değerlerinin yapay olarak düşük görünmesine neden olur. Bu nedenle, bu metriklere güvenen her türlü sonraki değerlendirme, bozuk bir temel üzerine inşa edilmiş olur.

Sorun nasıl ortaya çıkarıldı?

Araştırmacılar, aynı model üzerinden iki ileri geçişi (forward pass) karşılaştırdılar:

  1. Rastgele bir token dizisi.
  2. Tek bir token'ı değiştirilmiş aynı dizi.

Gizli durumlardaki (hidden states) farkı katman katman ölçtüler. Mask incelemesi hiçbir şey tespit edemedi ancak hataları enjekte eden katman başına bir denetim, enjekte edilen 192 hatanın 192'sini de tespit ederek sızıntıyı doğruladı.

transformers kütüphanesinde yapılan hızlı bir inceleme şunları ortaya koydu:

  • Zamba2-1.2B, chunk boyutu 256 olarak ayarlandığında sızıntı yapıyor.
  • Nemotron-H-8B, 128 chunk boyutunda sızıntı yapıyor.
  • Diğer çoğu kontrol noktası aynı koşullar altında herhangi bir sızıntı göstermedi.

Kusur, isteğe bağlı birleştirilmiş çekirdeklerin eksik olduğu her durumda çalışan chunked-scan kod yolunda yer alıyor. Buna şunlar dahildir:

  • Tüm CPU yürütmeleri.
  • Belirli birleştirilmiş çekirdek (fused-kernel) paketlerinin bulunmadığı GPU ortamları.
  • Ek bağımlılıkları içermeyen standart PyTorch kurulumları.

Hata yalnızca bu çekirdekler eksik olduğunda ortaya çıktığı için CI ortamlarında ve CPU'larda gün yüzüne çıkabilir.

Kimler risk altında ve maliyeti ne?

Birleştirilmiş çekirdekler olmadan hibrit modeller eğiten, ince ayar (fine-tune) yapan veya değerlendiren her ekip, şişirilmiş performans rakamları yayınlama riskiyle karşı karşıyadır. Kayıp veya perplexity değerlerindeki görünür iyileşme yanıltıcıdır; model aslında "ileriye bakmıştır". Araştırma grupları için bu, en ileri düzey (state-of-the-art) sonuçlar hakkında yanıltıcı iddialara yol açabilir. Ticari dağıtımlar için ise, gerçekte asla öğrenilmemiş olan üretim görevlerinde sonraki hatalara neden olabilir.

Karşı argüman

Bazı geliştiriciler, doğru şekilde uygulanan bir nedensel maskenin (causal mask) gelecekteki token sızıntısını önlemek için yeterli olduğunu savunuyor. Bu hata, bu düşünceyi çürütüyor: taramalar, konvolüsyonlar ve belirli normalizasyon katmanları maskeyi tamamen atlayabilir. Chunked scan'deki eksen karışıklığı, nedenselliğin sadece attention matrisinde değil, verinin aktığı her yerde zorunlu kılınması gerektiğini gösteriyor.

Bundan sonra nelere dikkat edilmeli?

  • Bağımlılık hijyeni: Özellikle CI hatlarında, tüm eğitim ve çıkarım düğümlerine hızlı birleştirilmiş çekirdek paketlerini yükleyin.
  • Denetim betikleri: Keşfedenler tarafından önerilen iki adımlı denetimi izleyin:
    • Pozitif kontrol olarak, test ettiğiniz kontrol noktasına bilinen bir hata enjekte edin.
    • Modelin chunk veya pencere boyutundan daha uzun diziler çalıştırın; kısa diziler sızıntıyı asla ortaya çıkarmaz.

Chunk boyutunu aşan bir dizi uzunluğuna sahip herhangi bir hibrit veya durum-uzay kontrol noktasında denetim çalıştırmak, modelin hala savunmasız olup olmadığını ortaya çıkaracaktır.

Özet: Her türlü standart testi geçen bir model bile, yürütme yolu hatalı bir uygulamaya geri döndüğünde sessizce hile yapabilir. Hızlı birleştirilmiş çekirdeklerin mevcut olduğunu doğrulamak ve attention maskelerinin ötesindeki sızıntıları açıkça test etmek, artık herhangi bir hibrit modelin metriklerine güvenmeden önce atılması gereken temel adımlardır.