İçeriğe geç
parazade
Yapay Zeka

BF16 Nedir?

İngilizce: BFloat16

Yayın: · Son güncelleme:

BF16 Nedir? Kısaca

BF16 (BFloat16), sayıları 16 bit ile saklayan ve 32 bitlik FP32 ile aynı üs aralığını koruyan kayan noktalı sayı biçimidir. Hassasiyetten bir miktar ödün vererek yapay zekâ eğitiminde bellek ve hız kazancı sağlar.

BF16 nedir?
İçindekiler
  1. BF16 nedir?
  2. Neden tercih edilir?
  3. Nelere dikkat etmeli?

BF16, "brain floating point" ifadesinden gelir; Google Brain ekibi tarafından makine öğrenmesi için geliştirildi. Bugün pek çok ekran kartı ve yapay zekâ hızlandırıcısı tarafından desteklenir.

BF16 nedir?

BF16, FP32 biçiminin ilk 16 bitini alır gibi tasarlanmıştır. Bit dağılımı şöyledir:

Biçim İşaret Üs Kesir
FP32 1 8 23
FP16 1 5 10
BF16 1 8 7

Üs biti FP32 ile aynı olduğu için BF16 çok büyük ve çok küçük sayıları FP32 kadar geniş bir aralıkta temsil eder. Buna karşılık kesir biti az olduğundan hassasiyeti, yani ondalık ayrıntıyı temsil etme gücü FP16'dan düşüktür.

Neden tercih edilir?

Derin öğrenmede değerlerin aralığı çoğu zaman küçük ondalık ayrıntılardan daha önemlidir. FP16 ile eğitimde sık görülen taşma ve küçük gradyanların sıfırlanması sorunları BF16'da çok daha az yaşanır; çoğu durumda ek kayıp ölçekleme gerekmez. Bellek kullanımı ise FP16 ile aynıdır.

Nelere dikkat etmeli?

BF16'nın düşük hassasiyeti, bazı hassas hesaplamalarda küçük farkların kaybolmasına yol açabilir. Bu yüzden eğitimde genellikle ağırlıkların ana kopyası ya da bazı birikimli toplamlar FP32'de tutulur. Ayrıca eski donanımlar BF16'yı yerel olarak desteklemeyebilir; bu durumda hız kazancı olmaz.

Sıkça Sorulan Sorular

BF16 mı FP16 mı daha iyi?

Kullanıma bağlıdır. BF16 geniş aralığı sayesinde eğitimde daha kararlıdır; FP16 ise daha yüksek hassasiyet sunar ve bazı çıkarım senaryolarında tercih edilir.

BF16 model boyutunu küçültür mü?

FP32'ye göre evet, bellek ihtiyacını yarıya indirir. FP16 ile karşılaştırıldığında ise ikisi de 16 bit olduğu için aynı yeri kaplar.

İlgili terimler

FP16FP16 (yarım hassasiyet), sayıları 16 bit ile saklayan kayan noktalı sayı biçimidir. Yapay zekâda model ağırlıklarını ve hesaplamaları 32 bitlik biçime göre yarı bellekle ve genellikle daha hızlı işlemek için kullanılır.FP8FP8, sayıları yalnızca 8 bit ile saklayan kayan noktalı sayı biçimlerinin genel adıdır. Yapay zekâ modellerinin eğitiminde ve çıkarımında 16 bitlik biçimlere göre yarı bellekle ve daha yüksek hızla hesaplama yapmak için kullanılır.Niceleme(Quantization)Niceleme (quantization), bir yapay zekâ modelinin ağırlıklarını 16 bit yerine 8 ya da 4 bit gibi daha düşük hassasiyetle saklayarak model dosyasını küçültme yöntemidir. Böylece model daha az bellekle çalışır; karşılığında kalitede genellikle küçük bir kayıp olur.GPU(Graphics Processing Unit)GPU (Graphics Processing Unit, grafik işlem birimi), çok sayıda basit hesabı aynı anda yapabilen işlemcidir. Başlangıçta oyun ve grafik için geliştirilmiş, paralel hesaplama gücü sayesinde yapay zekâ eğitimi ve çıkarımının temel donanımı olmuştur.Makine Öğrenmesi(Machine Learning)Makine öğrenmesi, bilgisayarların açıkça programlanmadan, örnek verilerdeki kalıpları öğrenerek tahmin veya karar üretmesini sağlayan yapay zekâ dalıdır.Harf Çevirisi(Transliteration)Harf çevirisi (transliterasyon), bir yazı sistemindeki metnin, anlamı çevrilmeden başka bir yazı sisteminin harfleriyle yazılmasıdır. Örneğin Kiril alfabesiyle yazılmış bir ismin Latin harflerine aktarılması harf çevirisidir.