Mixed Precision
Karma hassasiyetin Ultralytics YOLO26 gibi modellerde eğitimi nasıl hızlandırdığını ve belleği nasıl azalttığını öğren. Daha hızlı yapay zekâ içgörüleri için FP16 ve FP32'nin faydalarını keşfet.
Karma hassasiyet, derin öğrenme modellerinin eğitimini hızlandırırken bellek tüketimini azaltmak için model optimizasyonunda kullanılan kritik bir tekniktir. Farklı sayısal biçimleri (genellikle 16 bit ve 32 bit kayan nokta türlerini) stratejik olarak birleştiren bu yöntem, makine öğrenimi algoritmalarının modelin nihai doğruluğundan ödün vermeden hesaplamaları daha hızlı gerçekleştirmesini sağlar. Özellikle devasa veri kümeleri üzerinde YOLO26 mimarisini eğitmek gibi kaynak yoğun görevlerde, modern yapay zekâ geliştirmenin standart bir uygulaması hâline gelmiştir.
Karma Hassasiyet Nasıl Çalışır#
Geleneksel derin öğrenme iş akışlarında modeller genellikle hesaplamaları tek hassiyetli kayan nokta biçimini (FP32) kullanarak gerçekleştirir. FP32'deki her sayı 32 bit bellek gerektirir. Yüksek hassasiyet sunmasına rağmen bu biçim hesaplama açısından maliyetli olabilir ve çok fazla bellek tüketebilir.
Karma hassasiyet, yalnızca 16 bit kullanan yarım hassiyet (FP16) kullanımını devreye sokar. Ancak yalnızca FP16 kullanmak, daha küçük dinamik aralık nedeniyle sayısal kararsızlığa yol açabilir. Bu sorunu çözmek için karma hassiyet yöntemleri, kararlılığı korumak amacıyla model ağırlıklarının bir "ana kopyasını" FP32'de tutarken evrişimler ve matris çarpımları gibi yoğun matematiksel işlemlerde FP16 kullanır.
Süreç genellikle üç temel adımı içerir:
-
Dönüştürme: Uyumlu donanımlarda, örneğin NVIDIA Tensor Cores üzerinde yürütmeyi hızlandırmak için modelin girdilerini ve aktivasyonlarını FP16'ya dönüştürme.
-
Kayıp Ölçekleme: Küçük gradyan güncellemelerinin FP16'da sıfıra dönüştiği "alt akış" durumunu önlemek için kayıp fonksiyonu değerlerini büyütme.
-
Birikim: Gerekli bilgileri korumak için aritmetik işlemleri FP16'da gerçekleştirme, ancak ana ağırlıkları güncellemeden önce sonuçları FP32'de biriktirme.
Yapay Zekâ Eğitimindeki Faydaları#
Karma hassasiyetin benimsenmesi, hesaplama kaynaklarını verimli şekilde kullanan geliştiriciler ve araştırmacılar için önemli avantajlar sunar:
- Daha Hızlı Eğitim: FP16 işlemleri daha az bellek bant genişliği gerektirir ve modern GPU'lar tarafından daha hızlı işlenir. Bu, bir epoch için gereken süreyi önemli ölçüde azaltabilir.
- Daha Az Bellek Kullanımı: FP16 tensörleri FP32'nin yarısı kadar bellek kullandığından, geliştiriciler batch size değerlerini temelde iki katına çıkarabilir. Daha büyük batch size değerleri genellikle daha kararlı gradyan tahminleri ve daha hızlı yakınsama sağlar.
- Enerji Verimliliği: Azalan hesaplama yükü, büyük ölçekli bulut eğitim operasyonları için kritik olan daha düşük enerji tüketimi anlamına gelir.
Gerçek Dünya Uygulamaları#
Karma hassasiyet, karmaşık modelleri ve büyük veri kümelerini verimli şekilde işlemek için çeşitli sektörlerde kullanılır.
Otonom Sürüş#
Otonom araçların geliştirilmesinde mühendisler, nesne algılama modellerini milyonlarca yüksek çözünürlüklü video karesi üzerinde eğitmelidir. Karma hassasiyet kullanmak, YOLO26 gibi son teknoloji modellerin verimli şekilde eğitilmesini sağlar. Azalan bellek ayak izi, daha yüksek çözünürlüklü girdilerin işlenmesine olanak tanır; bu da trafik işaretleri veya uzaktaki yayalar gibi küçük nesnelerin algılanması için kritik öneme sahiptir.
Tıbbi Görüntü Analizi#
Tıbbi görüntü analizi genellikle MRI veya CT taramalarından elde edilen ve son derece yoğun bellek gerektiren 3B hacimsel verileri içerir. Bu veriler üzerinde tam FP32 hassasiyetiyle segmentasyon modelleri eğitmek çoğu zaman "Bellek Yetersiz" (OOM) hatalarına yol açar. Karma hassasiyet, araştırmacıların bu ağır modelleri GPU belleğine sığdırmasını sağlayarak doktorlara hastalıkları daha erken teşhis etmede yardımcı olabilecek yapay zekânın geliştirilmesini kolaylaştırır.
Ultralytics ile Karma Hassasiyet Uygulama#
PyTorch gibi modern çerçeveler, karma hassasiyetin karmaşıklıklarını genellikle Otomatik Karma Hassasiyet (AMP) adı verilen bir özellik aracılığıyla otomatik olarak yönetir. ultralytics paketi, optimum performans sağlamak için eğitim sırasında AMP'yi varsayılan olarak etkinleştirir.
Aşağıda, karma hassasiyetin varsayılan olarak etkin olduğu Ultralytics YOLO26 ile eğitimin nasıl başlatılacağına dair kısa bir örnek yer alır (amp bağımsız değişkeniyle denetlenebilir):
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset
# amp=True is the default setting for mixed precision training
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, amp=True)Karma Hassasiyet ve İlgili Kavramlar#
Karışıklığı önlemek için karma hassasiyeti sözlükteki benzer terimlerden ayırt etmek yararlıdır:
- Model Kuantizasyonu: Karma hassasiyet eğitim sırasında daha düşük hassiyetli kayan nokta sayıları (FP16) kullanırken kuantizasyon, dağıtım için genellikle ağırlıkları eğitimden sonra tam sayılara (INT8 gibi) dönüştürür. Kuantizasyon öncelikli olarak uç cihazlardaki çıkarım gecikmesine odaklanırken karma hassasiyet eğitim hızı ve kararlılığına odaklanır.
- Yarım Hassasiyet: Bu terim özellikle FP16 veri biçiminin kendisini ifade eder. Karma hassasiyet, hem FP16 hem de FP32'yi birlikte kullanma tekniğidir. "Karma" FP32 ana kopyası olmadan yalnızca yarım hassasiyet kullanmak, sayısal hatalar nedeniyle modellerin çoğu zaman yakınsamamasına neden olur.
Sonuç#
Karma hassasiyet, sinir ağlarının eğitim biçimini kökten değiştirmiş ve günümüzde gördüğümüz devasa temel modeller ile görsel sistemler için kritik bir kolaylaştırıcı olmuştur. Matematiksel hassasiyet gereksinimini donanım hızı ve bellek kısıtlarıyla dengeleyerek geliştiricilerin daha hızlı yineleme yapmasını ve daha yetenekli yapay zekâ çözümleri oluşturmasını sağlar.
Veri kümelerini yönetmek ve optimize edilmiş modelleri sorunsuz şekilde eğitmek isteyenler için Ultralytics Platformu, bu modern optimizasyon tekniklerinden otomatik olarak yararlanan kapsamlı bir ortam sunar.









