Sözlük

Karışık Hassasiyet

Karma hassasiyet eğitimi ile derin öğrenme verimliliğini artırın! Doğruluktan ödün vermeden daha yüksek hızlar, daha az bellek kullanımı ve enerji tasarrufu elde edin.

Karma hassasiyet, model eğitimini hızlandırmak ve bellek tüketimini azaltmak için derin öğrenmede kullanılan bir tekniktir. Hesaplama sırasında 16 bit kayan nokta (FP16) gibi daha düşük hassasiyetli sayısal formatlar ile 32 bit kayan nokta (FP32) gibi daha yüksek hassasiyetli formatların bir arada kullanılmasını içerir. Ağırlık çarpımı gibi modelin belirli bölümleri için stratejik olarak daha düşük hassasiyetli sayılar kullanarak ve ağırlık güncellemeleri gibi kritik bileşenleri daha yüksek hassasiyette tutarak, karışık hassasiyetli eğitim, model doğruluğunda önemli bir kayıp olmadan modern GPU 'larda performansı önemli ölçüde hızlandırabilir.

Karma Hassasiyet Nasıl Çalışır?

Karma hassasiyetin arkasındaki temel fikir, daha düşük hassasiyetli veri türlerinin hızından ve bellek verimliliğinden yararlanmaktır. Modern donanımlar, özellikle de Tensor Çekirdekli NVIDIA GPU 'lar, 16 bitlik sayılar üzerindeki işlemleri 32 bitlik sayılardan çok daha hızlı gerçekleştirebilir. Süreç genellikle üç temel adımdan oluşur:

  1. Daha Düşük Hassasiyete Döküm: Modelin işlemlerinin çoğu, özellikle de hesaplama açısından yoğun matris çarpımları ve konvolüsyonlar, yarım hassasiyetli (FP16) aritmetik kullanılarak gerçekleştirilir. Bu, bellek ayak izini azaltır ve hesaplamaları hızlandırır.
  2. Ağırlıkların Ana Kopyasının Tutulması: Model doğruluğunu ve kararlılığını korumak için model ağırlıklarının bir ana kopyası standart 32 bit kayan nokta (FP32) formatında tutulur. Bu ana kopya, eğitim süreci boyunca gradyanları biriktirmek ve ağırlıkları güncellemek için kullanılır.
  3. Kayıp Ölçekleme: Sayısal düşük akışı (küçük gradyan değerlerinin FP16'ya dönüştürüldüğünde sıfır olması) önlemek için kayıp ölçekleme adı verilen bir teknik kullanılır. Bu teknik, gradyan değerlerini FP16 için temsil edilebilir bir aralıkta tutmak için geriye yayılmadan önce kaybın bir ölçekleme faktörü ile çarpılmasını içerir. Ağırlıklar güncellenmeden önce gradyanlar tekrar ölçeklendirilir.

PyTorch ve TensorFlow gibi derin öğrenme çerçeveleri, otomatik karma hassasiyet için yerleşik desteğe sahiptir ve bu da uygulamayı kolaylaştırır.

Uygulamalar ve Örnekler

Karma hassasiyet, verimliliğin çok önemli olduğu büyük ölçekli makine öğrenimi (ML) modellerinin eğitiminde yaygın olarak kullanılmaktadır.

İlgili Kavramlar

Karma hassasiyet, derin öğrenme modellerini daha verimli hale getirmek için kullanılan çeşitli optimizasyon tekniklerinden biridir. Bunu ilgili kavramlardan ayırmak önemlidir:

  • Model Niceleme: Niceleme, kayan noktalı sayıları (FP32 veya FP16 gibi) INT8 gibi daha düşük bitli tamsayı biçimlerine dönüştürerek model boyutunu ve hesaplama maliyetini azaltır. Karma hassasiyet eğitim sırasında farklı kayan nokta formatları kullanırken, niceleme tipik olarak eğitimden sonra (eğitimsonrası niceleme) veya eğitim sırasında (nicelemeyeduyarlı eğitim), özellikle uç cihazlarda çıkarım için optimize etmek üzere uygulanır.
  • Model Budama: Budama, bir sinir ağından gereksiz veya önemsiz bağlantıların (ağırlıkların) çıkarılmasını içeren bir tekniktir. Ağırlıkların sayısal biçimini değiştiren karma hassasiyetin aksine, budama, modelin boyutunu ve karmaşıklığını azaltmak için modelin mimarisini değiştirir. Bu teknikler, daha da büyük performans kazanımları elde etmek için birlikte kullanılabilir.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve büyüyün

Şimdi katılın
Panoya kopyalanan bağlantı