Karışık Hassasiyetli Eğitim (Mixed Precision)
İş akışıMixed Precision nedir?
Mixed precision (karışık hassasiyet), bir sinir ağını eğitirken hesaplamaların bir kısmını düşük hassasiyetli sayı formatında (genelde 16-bit: FP16 veya BF16), bir kısmını yüksek hassasiyette (32-bit: FP32) yapma tekniği. Amaç belli: belleği ve hesaplama süresini azaltırken eğitimin kararlılığını bozmamak.
Nasıl çalışır?
Model ağırlıkları ve ara hesaplar (activation'lar, gradient'ler) 32-bit yerine 16-bit tutulur. Bu hem GPU belleğinden tasarruf sağlar hem de modern GPU'ların 16-bit çekirdekleri sayesinde işlemi hızlandırır. Ama 16-bit'in dar sayı aralığı, gradient'lerin çok küçülüp sıfıra yuvarlanmasına (underflow) yol açabilir. Bunu engellemek için iki numara devreye girer: kritik değerlerin bir FP32 kopyasını saklamak (master weights) ve loss'u bir katsayıyla büyütüp gradient hesabından sonra geri küçültmek (loss scaling). BF16 formatı ise geniş üstel aralığı sayesinde loss scaling'e çoğu zaman gerek bırakmaz.
Neden önemli?
Büyük modelleri eğitmenin maliyeti büyük ölçüde bellek ve süre. Mixed precision, aynı donanımda daha büyük batch'ler ve daha büyük modeller sığdırmayı, eğitimi çoğu zaman iki-üç kat hızlandırmayı mümkün kıldı. Bugün neredeyse tüm büyük model eğitimleri BF16 veya FP16 tabanlı karışık hassasiyetle yürüyor.
Kullanım alanları
- Büyük dil modeli ön eğitimi ve fine-tuning
- GPU belleğini verimli kullanma
- Eğitim süresini kısaltma
- Sınırlı donanımda (tek GPU) daha büyük modelleri eğitme
Ilgili terimler
