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.
Karma hassasiyet, aşağıdaki alanlarda güçlü bir optimizasyon tekniğidir
derin öğrenme stratejik olarak
farklı sayısal formatları birleştirir - özellikle 16 bit (yarım hassasiyetli) ve 32 bit (tek hassasiyetli) kayan nokta
türleri-hızlandırmak için model eği̇ti̇mi̇ ve azaltmak
bellek kullanımı. Hesaplama açısından yoğun işlemleri daha düşük hassasiyette gerçekleştirirken
model ağırlıkları daha yüksek hassasiyette,
Bu yaklaşım, modern donanımlarda önemli hız artışları sağlarken
doğruluk veya nihai kararlılığın
ağı. Araştırmacıların ve mühendislerin daha büyük ölçekte eğitim almalarına etkin bir şekilde olanak tanır.
sinir ağları veya artırın
parti büyüklüğü aynı donanım içinde
kısıtlamalar.
Karışık Duyarlılık Nasıl Çalışır
Karma hassasiyetin temel mekanizması, aşağıdaki özelliklere sahip olanlar gibi modern hızlandırıcıların mimarisine dayanır
NVIDIA Tensor Çekirdekleri'de matris çarpımlarını gerçekleştirebilen
yarım hassasiyet (FP16) çok daha hızlı
standart tek hassasiyetliden (FP32) daha yüksektir. Süreç genellikle üç temel adımdan oluşur:
-
Döküm: Gibi operasyonlar
konvolüsyonlar ve matris
çarpımları FP16'ya aktarılır. Bu, gereken bellek bant genişliğini azaltır ve hesaplamayı hızlandırır.
-
Ana Ağırlıkların Bakımı: Model parametrelerinin bir ana kopyası FP32'de tutulur. Sırasında
geri yayılımdegradeler FP16'da hesaplanır ancak FP32 ana ağırlıklarına uygulanır. Bu, küçük gradyanı korur
FP16'nın sınırlı menzili nedeniyle aksi takdirde kaybolabilecek güncellemeler, aşağıdaki gibi sorunları önler
kaybolan gradyanlar.
-
Kayıp Ölçeklendirme: Sayısal kararlılığı daha da sağlamak için
kayıp fonksiyonu genellikle çarpılır
bir ölçeklendirme faktörü ile. Bu, gradyan değerlerini FP16'nın daha etkili bir şekilde temsil edebileceği bir aralığa kaydırarak
ağırlık güncellemesi için geri dönüştürülmeden önce taşma hataları.
Gerçek Dünya Uygulamaları
Karma hassasiyet, yapay zekanın çeşitli alanlarında standart bir uygulama haline gelmiştir.
donanım verimliliğini en üst düzeye çıkarın.
-
Son Teknoloji Görüş Modellerinin Eğitimi: Yüksek performans geliştirme
bilgisayar görüşü
mimariler, örneğin Ultralytics YOLO11gibi büyük veri kümeleri üzerinde eğitim içerir.
COCO. Karma hassasiyet, bu eğitim çalışmalarının önemli ölçüde daha hızlı tamamlanmasını sağlayarak daha fazla yinelemeye olanak tanır.
hiperparametre ayarlama ve
daha hızlı dağıtım döngüleri.
-
Büyük Dil Modelleri (LLM'ler): Yaratılış
temel modelleri̇ ve
Büyük Dil Modelleri
terabaytlarca metin verisinin işlenmesini gerektirir. Karışık hassasiyet burada kritik öneme sahiptir, çünkü belleği kabaca yarıya indirir
milyarlarca parametreye sahip modellerin aşağıdaki kümelere sığmasını sağlayarak aktivasyonlar için gerekli
GPU'lar.
Ultralytics ile Karma Hassasiyetin Uygulanması
Bu ultralytics kütüphanesi Otomatik Karma Hassasiyet (AMP) kullanımını basitleştirir. Varsayılan olarak, eğitim
rutinleri uyumlu donanımı kontrol eder ve optimum performansı sağlamak için AMP'yi etkinleştirir.
from ultralytics import YOLO
# Load the YOLO11 model for training
model = YOLO("yolo11n.pt")
# Train using Automatic Mixed Precision (AMP)
# 'amp=True' is the default setting, ensuring faster training on supported GPUs
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, amp=True)
Karışık Hassasiyet ve İlgili Terimler
Karma hassasiyeti diğer optimizasyon ve veri temsili kavramlarından ayırmak faydalı olacaktır:
-
Vs. Yarım Hassasiyet: Saf yarı
hassasiyeti (FP16) her şeyi 16 bit formatında saklar ve hesaplar. Bu hızı en üst düzeye çıkarırken, genellikle
sayısal istikrarsızlık ve eğitim sırasında zayıf yakınsama. Karma hassasiyet, bir FP32'yi koruyarak bunu hafifletir
kararlı ağırlık güncellemeleri için ana kopya.
-
Vs. Model Niceleme:
Kuantizasyon hassasiyeti daha da azaltır, tipik olarak optimize etmek için ağırlıkları tam sayılara (INT8) dönüştürür
çıkarım gecikmesi ve model
üzerinde dağıtım için boyut uç yapay zeka cihazlar.
Karışık hassasiyet öncelikle kayan noktalı sayıları kullanan bir eğitim zamanı optimizasyonudur, oysa niceleme
genellikle çıkarım için eğitim sonrası uygulanır.
-
Vs. Bfloat16: Beyin Kayan Noktası
(Bfloat16) Google tarafından geliştirilen alternatif bir 16 bit formattır. Standarttan farklı olarak
IEEE 754 FP16, Bfloat16 aynı şekilde devam eder
FP32 olarak üs aralığı, agresif kayıp ölçeklemesi olmadan düşük akışa karşı daha sağlam hale getirir. Yaygın olarak kullanılır
üzerinde karma hassas eğitimde
TPU'lar ve daha yeni GPU'lar.
Gibi çerçeveler tarafından desteklenir PyTorch AMPkarma hassasiyet, yüksek performanslı derin öğrenmeye erişimi demokratikleştirmenin en etkili yollarından biri olmaya devam etmektedir,
geliştiricilerin karmaşık modelleri erişilebilir donanım üzerinde eğitebilmelerini sağlar.