Ana içeriğe geç
Yapay Zeka

Yapay zeka modellerinde bf16 formatı ağırlık güncellemelerini donduruyor

Öne çıkanlar

  • bf16 formatı, büyüklüğü ağırlığın 512'de birinden küçük olan güncellemeleri sıfıra yuvarlayarak siliyor.
  • Quiet-STaR kontrol noktasındaki 7,24 milyar ağırlığın yalnızca yüzde 5,4'ü eğitim sırasında değişti.
  • Tam hassasiyetli fp32 eniyileyici kullanıldığında aynı eğitim süreci kararsız kalarak çöktü.

Yapay zeka modellerinin ince ayar (fine-tuning) süreçlerinde ağırlıkların doğrudan bfloat16 (bf16) formatında saklanıp PyTorch AdamW ile güncellenmesi, ağırlık güncellemelerinin büyük kısmını sessizce iptal ediyor. Yapılan teknik analiz, bf16 formatının bir ağırlıktaki değişimi temsil edebilmesi için adım büyüklüğünün ağırlığın yaklaşık 512'de birinden büyük olması gerektiğini gösterdi. Küçük öğrenme oranlarında bu eşiği aşamayan güncellemeler en yakın değere yuvarlanarak sıfırlanıyor ve ağın büyük bölümü eğitim boyunca donmuş kalıyor.

Araştırmacı, yayımlanan Quiet-STaR modelinin kontrol noktasını incelediğinde parametrelerin yalnızca yüzde 5,4'ünün güncellendiğini belirledi. Büyüklüğü 5,12e-4 değerinin üzerinde kalan 6,2 milyar ağırlıktan sadece 110 tanesi değişti. Ağırlıkların tam hassasiyetli bir fp32 kopyasıyla güncellendiği deneylerde ise model tamamen çöktü. Modelin yayımlanan eğitim tarifinin, güncellemelerin yüzde 99'unu yok sayan bu yuvarlama hatası sayesinde stabil kaldığı ve farkında olmadan seyrek bir ağırlık maskesi gibi çalıştığı ortaya çıktı.

Araştırma, PaFi ve NanoAdam gibi yalnızca küçük büyüklükteki ağırlıkları güncelleyen yöntemlerin sağladığı kararlılığın tesadüfen taklit edildiğini ortaya koyuyor. Çözüm olarak araştırmacılar, güncellemeler için fp32 ana ağırlık kopyası tutulmasını veya stokastik yuvarlama kullanılmasını öneriyor. Ayrıca bf16 ile eğitilen modelleri fp32 mimarisine taşırken öğrenme oranının 3 ila 10 kat düşürülmesi gerektiği vurgulanıyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.