Differential Transformer
Differential Transformer, dikkat gürültüsünü gidermek için bir softmax dikkat haritasını diğerinden çıkarır; bu da uzun bağlamlı bilgi erişimini ve nicelemeyi iyileştirir.
Diferansiyel Transformer ya da DIFF Transformer, bir Transformer mimarisidir; bu mimaride dikkat başlıkları iki softmax dikkat haritası hesaplar ve birini diğerinden çıkararak her iki haritanın da ilgisiz bağlama yaydığı ağırlığı iptal eder. Tianzhu Ye, Li Dong, Furu Wei ve Microsoft Research ile Tsinghua Üniversitesi'ndeki çalışma arkadaşları, bu mimariyi Ekim 2024'te Diferansiyel Transformer başlıklı, ICLR 2025'te sözlü olarak sunulan makalede tanıttı. Tasarım, iki sinyali birbirinden çıkararak ortak gürültüyü ortadan kaldıran diferansiyel yükselteçlerden ve gürültü önleyici kulaklıklardan esinlenir. Dil modellemede bir DIFF Transformer, aynı kayba ulaşmak için standart bir Transformer'ın parametrelerinin veya eğitim belirteçlerinin yaklaşık %65'ine ihtiyaç duydu: 6,8 milyar parametreli bir model, 11 milyar parametreli bir Transformer'ın performansını yakaladı.
Diferansiyel Dikkat Nasıl Çalışır#
Standart öz-dikkat, her belirtece sıfırdan büyük bir ağırlık verir; bu nedenle bazı ağırlıklar her zaman önem taşımayan belirteçlere gider. Yazarlar buna dikkat gürültüsü adını verir. Diferansiyel dikkat, her başlığın sorgu ve anahtar projeksiyonlarını iki yarıya böler, her çiftten bir softmax haritası hesaplar ve değerleri (harita1 − λ × harita2) × V olarak birleştirir. Her iki harita da aynı alakasız belirteçlere ağırlık verdiğinden, çıkarma işlemi bu ağırlıkları iptal ederken yalnızca harita1'in ağırlık verdiği belirteçlerin ağırlığı korunur. Her haritanın toplamı 1 olduğundan, sonuçtaki her satırın toplamı 1 − λ olur ve tek tek ağırlıklar negatif olabilir:
import torch
torch.manual_seed(0)
n, d, lam = 6, 8, 0.8 # 6 tokens, head size 8, lambda near the paper's 0.8 initialization
q1, k1, q2, k2 = torch.randn(4, n, d)
v = torch.randn(n, 2 * d) # values are twice as wide as each query-key pair
# Two ordinary softmax attention maps from separate query and key projections
map1 = torch.softmax(q1 @ k1.T / d**0.5, dim=-1)
map2 = torch.softmax(q2 @ k2.T / d**0.5, dim=-1)
# Subtracting cancels weight that both maps place on the same tokens
diff = map1 - lam * map2
out = diff @ v
print(f"Each row sums to {diff.sum(dim=-1)[0]:.2f}; {(diff < 0).sum().item()} of {n * n} weights are negative")Each row sums to 0.20; 13 of 36 weights are negative ifadesini yazdırır; bu, hiçbir softmax dikkat haritasında bulunamayacak iki özelliktir. Gerçek modelde λ, dört küçük vektör aracılığıyla öğrenilir ve l katmanı için 0.8 − 0.6 × exp(−0.3 × (l − 1)) değerinden başlar; bu nedenle daha derin katmanlar 0.8'e daha yakın bir başlangıç değerine sahiptir. Her başlığın çıktısı, makalede GroupNorm olarak adlandırılan yöntemle kendi içinde normalize edilir, ardından gradyanların standart bir Transformer'dakiyle aynı büyüklükte kalması için (başlangıçtaki 1 − λ) ile ölçeklenir. Model, başlık sayısını yarıya indirir ve her başlığın değer genişliğini iki katına çıkarır; böylece parametre sayısı temel modelle aynı olur. Her harita sıradan softmax dikkat kullandığı için uygulamalar flash attention çekirdeklerini yeniden kullanır ve H100 GPU'larda eğitim verimi, aynı boyuttaki bir Transformer'a kıyasla %6 ila %12 daha düşüktü.
Bildirilen Faydalar#
6 iğne ve 2 sorunun bulunduğu 4K belirteçlik bir bağlam penceresinde yapılan samanlıkta iğne testinde DIFF Transformer 0.85, standart Transformer ise 0.55 puan aldı. Makalenin dikkat analizi, bunun odaklanmadan kaynaklandığını gösterdi: DIFF Transformer dikkatinin 0.27 ila 0.40'ını yanıta verirken, Transformer 0.03 ila 0.09'unu verdi. Ayrıca metin özetleme ve soru yanıtlama görevlerinde daha az halüsinasyon üretti; az örnekli bağlam içi öğrenmede ise daha doğru sonuç verdi ve örneklerin sıralamasına daha az duyarlıydı.
Aktivasyon aykırı değerleri de küçüldü. En büyük dikkat logiti standart Transformer'daki 318.0'a karşı 38.8, en büyük gizil durum aktivasyonu ise 3,609'a karşı 1,688 oldu. Dikkat logitleri 4 bite nicemlendiğinde, 6 bitlik standart Transformer'ın doğruluğuna ulaştı ve 4 bitlik Transformer'ı doğrulukta yaklaşık %25 geçti.
Bu sonuç model nicemleme açısından önemlidir; çünkü birkaç aşırı aktivasyon, diğer tüm değerlerin paylaşmak zorunda olduğu aralığı belirler. Aynı durum görme modelleri için de geçerlidir: Ultralytics YOLO26, quantize=8 ile dışa aktarıldığında, dışa aktarıcı data veri kümesindeki görüntülerle aktivasyon aralıklarını kalibre eder ve bu görüntülerden en az 300 tanesini önerir; quantize="w8a16" ise LiteRT, Core ML ve QNN dışa aktarımlarında ağırlıkları 8 bitte, aktivasyonları 16 bitte tutar.
DIFF Transformer ve İlgili Terimler#
- Diffusion Transformer (DiT): Görüntü ve video üretimi için difüzyon modellerindeki U-Net'in yerini alan bir Transformer.
- Diferansiyel gizlilik: Eğitim verileri için matematiksel bir gizlilik güvencesi.
- Seyrek dikkat: Yalnızca sabit bir belirteç çifti alt kümesini puanlar ve diğer tüm ağırlıkları önceden sıfırlar.
- Doğrusal değişken diferansiyel transformatör: Doğrusal yer değiştirmeyi ölçen bir elektrik sensörü.










