Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Karışık Duyarlılık

Karışık duyarlıklı eğitim ile derin öğrenme verimliliğini artırın! Doğruluktan ödün vermeden daha yüksek hızlara, daha az bellek kullanımına ve enerji tasarrufuna ulaşın.

Karışık duyarlılık, 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 duyarlıklı sayısal formatların ve 32-bit kayan nokta (FP32) gibi daha yüksek duyarlıklı formatların bir kombinasyonunu kullanmayı içerir. Ağırlık çarpımı gibi modelin belirli bölümleri için stratejik olarak daha düşük duyarlıklı sayılar kullanarak ve ağırlık güncellemeleri gibi kritik bileşenleri daha yüksek duyarlılıkta tutarak, karışık duyarlıklı eğitim, model doğruluğunda önemli bir kayıp olmadan modern GPU'larda performansı önemli ölçüde hızlandırabilir.

Karışık Duyarlılık Nasıl Çalışır

Karışık duyarlığın ardındaki temel fikir, daha düşük duyarlıklı veri türlerinin hızından ve bellek verimliliğinden yararlanmaktır. Özellikle Tensor Çekirdeklerine sahip NVIDIA GPU'lar gibi modern donanımlar, 16 bit sayılar üzerinde 32 bit sayılara göre çok daha hızlı işlemler gerçekleştirebilir. Süreç tipik olarak üç temel adım içerir:

  1. Daha Düşük Hassasiyete Dönüştürme: Modelin işlemlerinin çoğu, özellikle de hesaplama açısından yoğun matris çarpımları ve evrişimler, 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ı Saklama: Model doğruluğunu ve kararlılığını korumak için, modelin ağırlıklarının ana kopyası standart 32-bit kayan nokta (FP32) biçiminde saklanır. Bu ana kopya, eğitim sürecinde gradyanları biriktirmek ve ağırlıkları güncellemek için kullanılır.
  3. Kayıp Ölçeklendirme: Sayısal taşmayı (numerical underflow)—küçük gradyan değerlerinin FP16'ya dönüştürüldüğünde sıfır olduğu durumu—önlemek için, kayıp ölçeklendirme adı verilen bir teknik kullanılır. Bu, gradyan değerlerini FP16 için temsil edilebilir bir aralıkta tutmak amacıyla geriye yayılımdan (backpropagation) önce kaybı bir ölçeklendirme faktörüyle çarpmayı içerir. Ağırlıklar güncellenmeden önce, gradyanlar tekrar aşağı ölçeklendirilir.

PyTorch ve TensorFlow gibi derin öğrenme framework'leri, otomatik karma duyarlılık için yerleşik desteğe sahiptir ve bu da uygulamayı kolaylaştırır.

Uygulamalar ve Örnekler

Karışık duyarlılık, verimliliğin çok önemli olduğu büyük ölçekli makine öğrenimi (ML) modellerini eğitmede yaygın olarak benimsenmiştir.

  • Büyük Dil Modellerinin (LLM'ler) Eğitimi: GPT-3 ve BERT gibi modellerin milyarlarca parametresi vardır. Bunları yalnızca FP32 kullanarak eğitmek, engelleyici miktarda GPU belleği ve zamanı gerektirecektir. Karışık duyarlılık, bellek ihtiyaçlarını önemli ölçüde azaltarak ve hesaplamaları hızlandırarak bu tür temel modellerin eğitimini mümkün kılar. Bu, araştırmacıların daha hızlı yineleme yapmasına ve daha da güçlü dil modelleri oluşturmasına olanak tanır.
  • Bilgisayar Görüşü Modellerini Hızlandırma: Bilgisayar görüşünde (CV), karma duyarlılık, Evrişimsel Sinir Ağları (CNN'ler) ve Görsel Dönüştürücüler (ViT'ler) gibi karmaşık modellerin eğitimini hızlandırır. Nesne tespiti ve görüntü segmentasyonu gibi görevler için, en son Ultralytics YOLO11 dahil olmak üzere Ultralytics YOLO modelleri, daha hızlı yakınsama için karma duyarlılıktan yararlanır. Bu, özellikle hiperparametre ayarlaması ve Ultralytics HUB gibi platformlarda hızlı geliştirme için kullanışlıdır. Daha hızlı eğitim ayrıca COCO gibi büyük veri kümeleri üzerinde daha hızlı denemeler yapılmasını kolaylaştırır. Karma duyarlılık, özellikle daha düşük duyarlılıklar için büyük ölçüde optimize edilmiş TensorRT gibi formatlara aktarırken, model dağıtımını hızlandırmak için çıkarım sırasında da kullanılabilir.

İlgili Kavramlar

Karışık duyarlılık, derin öğrenme modellerini daha verimli hale getirmek için kullanılan çeşitli optimizasyon tekniklerinden biridir. Onu ilgili kavramlardan ayırmak önemlidir:

  • Model Nicelemesi: Niceleme, kayan nokta sayılarını (FP32 veya FP16 gibi) INT8 gibi daha düşük bitli tamsayı biçimlerine dönüştürerek model boyutunu ve hesaplama maliyetini azaltır. Karışık duyarlılık eğitim sırasında farklı kayan nokta biçimleri kullanırken, niceleme tipik olarak eğitimden sonra (eğitim sonrası niceleme) veya sırasında (niceleme duyarlı eğitim) çıkarım için, özellikle uç cihazlarda optimize etmek için uygulanır.
  • Model Budaması: Budama, bir sinir ağından gereksiz veya önemsiz bağlantıları (ağırlıkları) kaldırmayı içeren bir tekniktir. Ağırlıkların sayısal biçimini değiştiren karışık duyarlılıktan farklı olarak, 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 birlikte büyüyün

Şimdi katılın
Bağlantı panoya kopyalandı