Sözlük

Yarım Hassasiyet

Yarım hassasiyetin (FP16) daha hızlı hesaplama, daha az bellek kullanımı ve verimli model dağıtımı ile yapay zekayı nasıl hızlandırdığını keşfedin.

FP16 olarak da bilinen yarım hassasiyet, daha yaygın olan 32 bit tek hassasiyetli (FP32) veya 64 bit çift hassasiyetli (FP64) formatların aksine, bir sayıyı temsil etmek için 16 bit bellek kullanan bir kayan nokta sayı formatıdır. Derin öğrenme bağlamında, yarım hassasiyet kullanmak bir modelin bellek ayak izini ve hesaplama gereksinimlerini önemli ölçüde azaltır. Bu değiş tokuş, sayısal aralık ve hassasiyetin azalması pahasına gerçekleşir. Bununla birlikte, modern teknikler, özellikle de karma hassasiyetli eğitim, model doğruluğu üzerinde minimum etkiyle daha hızlı eğitim ve çıkarım sağlayarak FP16'yı verimli makine öğreniminin (ML) temel taşı haline getirmiştir.

Yarım Hassasiyet Nasıl Çalışır?

FP32'den FP16'ya geçiş, model ağırlıklarını ve aktivasyonlarını depolamak için gereken belleği yarıya indirir. Bu, daha büyük modellere, daha büyük parti boyutlarına veya daha az belleğe sahip GPU 'larda eğitime olanak tanır. Ayrıca, NVIDIA Tensor Cores gibi modern GPU'lar, 16 bit matris işlemlerini 32 bit işlemlerden çok daha yüksek hızlarda gerçekleştirmek için özel olarak tasarlanmıştır.

FP16 ile ilgili temel zorluk, eğitim sırasında gradyanların kaybolması gibi sorunlara yol açabilen sınırlı sayısal aralığıdır. Buna karşı koymak için, yarım hassasiyet neredeyse her zaman karma hassasiyet yaklaşımı kullanılarak uygulanır. Bu strateji, hız için çoğu hesaplamanın FP16'da yapılmasını, ancak sayısal kararlılığı korumak için ağırlık güncellemeleri ve belirli kayıp fonksiyonu hesaplamaları gibi kritik işlemler için stratejik olarak FP32 kullanılmasını içerir. PyTorch ve TensorFlow gibi derin öğrenme çerçeveleri, otomatik karma hassasiyetli eğitim için yerleşik destek sunar.

Uygulamalar ve Örnekler

Öncelikle karma hassasiyet teknikleri aracılığıyla yarı hassasiyet yaygın olarak kullanılmaktadır:

  1. Model Eğitiminin Hızlandırılması: Görüntü sınıflandırma veya doğal dil işleme (NLP) için olanlar gibi büyük derin öğrenme modellerinin eğitimi, karma hassasiyet kullanılarak önemli ölçüde hızlandırılabilir, eğitim süresini ve maliyetlerini azaltabilir. Ultralytics HUB gibi platformlar, bulut eğitim oturumları sırasında bu optimizasyonları sıklıkla kullanır.
  2. Nesne Algılama Çıkarımını Optimize Etme: Ultralytics YOLO11 gibi modeller, daha hızlı gerçek zamanlı çıkarım için FP16 hassasiyetiyle ONNX veya TensorRT gibi formatlara aktarılabilir. Bu, birden fazla video akışını analiz eden bir güvenlik sistemi veya yüksek hızlı bir üretim hattında kalite kontrolü gibi yüksek verim gerektiren uygulamalar için çok önemlidir.
  3. Kaynak Kısıtlı Cihazlarda Dağıtım: FP16 modellerinin azaltılmış bellek ayak izi ve hesaplama maliyeti, onları NVIDIA Jetson gibi uç yapay zeka platformlarında veya TensorFlow Lite veya Apple'ın Core ML gibi çerçeveleri kullanan mobil cihazlarda dağıtım için uygun hale getirir.
  4. Büyük Dil Modellerinin (LLM'ler) Eğitimi: GPT-3 ve diğer temel modeller gibi modellerin devasa boyutları, modelleri belleğe sığdırmak ve eğitimi makul zaman dilimleri içinde tamamlamak için 16 bit formatların kullanılmasını gerektirmektedir.

Yarım Hassasiyet ve Diğer Formatlar

  • Bfloat16 (BF16): Google tarafından geliştirilen alternatif bir 16 bit format olan Bfloat16, FP16'ya kıyasla üsse daha fazla, mantisse ise daha az bit ayırır. Bu, ona FP32 ile aynı dinamik aralığı verir, bu da onu alt akışa ve taşmaya karşı daha dirençli hale getirir, ancak daha düşük hassasiyet pahasına. Google'ın TPU'larında yoğun olarak kullanılmaktadır. Google Cloud AI Blog'unda bu konuda daha fazla bilgi edinebilirsiniz.
  • Model Niceleme: Her ikisi de model optimizasyon teknikleri olsa da, model niceleme tipik olarak kayan nokta ağırlıklarını (FP32 veya FP16) daha düşük bit tamsayı formatlarına, çoğunlukla 8 bit tamsayılara (INT8) dönüştürür. Bu, özellikle CPU'larda ve belirli hızlandırıcılarda daha da fazla hızlanma sağlayabilir, ancak model performansında önemli bir düşüşü önlemek için genellikle Quantization-Aware Training (QAT) gibi daha dikkatli bir kalibrasyon işlemi gerektirir.
  • Tek Kesinlikli (FP32): Bu, çoğu derin öğrenme çerçevesindeki varsayılan formattır. Yüksek hassasiyet ve geniş bir dinamik aralık sunar, bu da onu eğitim için sağlam hale getirir. Ancak yarım hassasiyete göre daha yavaş ve bellek açısından daha yoğun olduğundan büyük modellerin dağıtımı veya maksimum hız gerektiren uygulamalar için daha az idealdir. Çeşitli model karşılaştırmalarında gösterildiği gibi, bu formatlar arasındaki ödünleşimler önemli bir husustur.

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ı