Mixed Precision
Karma hassasiyetin (mixed precision) Ultralytics YOLO26 gibi modeller için eğitimi nasıl hızlandırdığını ve belleği nasıl azalttığını öğren. Daha hızlı yapay zeka 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 kullanılan model optimizasyonunda kritik bir tekniktir. Farklı sayısal formatların—genellikle 16-bit ve 32-bit kayan noktalı tiplerin—stratejik olarak birleştirilmesiyle bu yöntem, makine öğrenimi algoritmalarının modelin nihai doğruluğundan ödün vermeden hesaplamaları daha hızlı gerçekleştirmesine olanak tanır. Özellikle YOLO26 mimarisini devasa veri setleri üzerinde eğitmek gibi kaynak yoğunluklu görevler için modern yapay zeka geliştirmede standart bir uygulama haline gelmiştir.
Link to this sectionKarma Hassasiyet Nasıl Çalışır#
Geleneksel derin öğrenme iş akışlarında modeller genellikle tek hassasiyetli kayan noktalı formatı (FP32) kullanarak hesaplamalar yapar. FP32'deki her sayı 32 bit bellek gerektirir. Çok hassas olmasına rağmen bu format, hesaplama açısından pahalı ve bellek tüketimi yüksek olabilir.
Karma hassasiyet, yalnızca 16 bit kullanan yarım hassasiyet (FP16) kullanımını getirir. Ancak sadece FP16 kullanımı, daha küçük dinamik aralık nedeniyle sayısal istikrarsızlığa yol açabilir. Bunu çözmek için karma hassasiyet yöntemleri, kararlılık için model ağırlıklarının bir "ana kopyasını" FP32'de tutarken, evrişimler ve matris çarpımları gibi matematiksel işlemlerin ağır işleri için FP16 kullanır.
Süreç genellikle üç temel adımdan oluşur:
-
Dönüştürme (Casting): NVIDIA Tensor Cores gibi uyumlu donanımlarda yürütmeyi hızlandırmak için modelin girdilerini ve aktivasyonlarını FP16'ya dönüştürmek.
-
Kayıp Ölçeklendirme (Loss Scaling): Küçük gradyan güncellemelerinin FP16'da sıfıra dönüştüğü "yetersiz akış" (underflow) durumunu önlemek için kayıp fonksiyonu değerlerini yükseltmek.
-
Biriktirme (Accumulation): Aritmetik işlemleri FP16'da gerçekleştirmek ancak ana ağırlıkları güncellemeden önce gerekli bilgileri korumak için sonuçları FP32'de biriktirmek.
Link to this sectionYapay Zeka Eğitimindeki Faydalar#
Karma hassasiyeti benimsemek, hesaplama kaynaklarını etkin bir şekilde kullanan geliştiriciler ve araştırmacılar için önemli avantajlar sunar:
- Daha Hızlı Eğitim Hızı: FP16'daki işlemler daha az bellek bant genişliği gerektirir ve modern GPU'lar tarafından daha hızlı işlenir. Bu, bir epok için gereken süreyi önemli ölçüde azaltabilir.
- Azaltılmış Bellek Kullanımı: FP16 tensörleri FP32'nin yarısı kadar bellek kapladığından, geliştiriciler yığın boyutlarını temel olarak ikiye katlayabilirler. Daha büyük yığın boyutları genellikle daha kararlı gradyan tahminlerine ve daha hızlı yakınsamaya yol açar.
- Enerji Verimliliği: Azaltılmış hesaplama yükü, büyük ölçekli bulut eğitimi operasyonları için hayati önem taşıyan daha düşük enerji tüketimi anlamına gelir.
Link to this sectionGerçek Dünya Uygulamaları#
Karma hassasiyet, karmaşık modelleri ve büyük veri setlerini verimli bir şekilde yönetmek için çeşitli endüstrilerde kullanılmaktadır.
Link to this sectionOtonom Sürüş#
Otonom araçların geliştirilmesinde mühendislerin nesne algılama modellerini milyonlarca yüksek çözünürlüklü video karesi üzerinde eğitmeleri gerekir. Karma hassasiyet kullanmak, YOLO26 gibi en son teknoloji modelleri verimli bir şekilde eğitmelerine olanak tanır. Azaltılmış bellek ayak izi, trafik işaretleri veya uzaktaki yayalar gibi küçük nesneleri tespit etmek için kritik olan daha yüksek çözünürlüklü girdilerin işlenmesini sağlar.
Link to this sectionTıbbi Görüntü Analizi#
Tıbbi görüntü analizi, genellikle çok yoğun bellek gerektiren MRI veya CT taramalarından elde edilen 3D hacimsel verileri içerir. Segmentasyon modellerini bu veriler üzerinde tam FP32 hassasiyetinde eğitmek genellikle "Bellek Yetersiz" (OOM) hatalarına yol açar. Karma hassasiyet, araştırmacıların bu ağır modelleri GPU belleğine sığdırmalarını sağlayarak hastalıkları daha erken teşhis etmeye yardımcı olabilecek yapay zekaların geliştirilmesini kolaylaştırır.
Link to this sectionUltralytics ile Karma Hassasiyeti Uygulama#
PyTorch gibi modern çerçeveler, genellikle Otomatik Karma Hassasiyet (AMP) adı verilen bir özellik aracılığıyla karma hassasiyetin karmaşıklıklarını 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 aktif olduğu (amp argümanı ile kontrol edilebilir) YOLO26 ile eğitime nasıl başlanacağına dair kısa bir örnek bulunmaktadır:
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)Link to this sectionKarma Hassasiyet ve İlgili Kavramlar#
Karmaşayı önlemek için karma hassasiyeti sözlükteki benzer terimlerden ayırt etmek faydalıdır:
- Model Nicemleme: Karma hassasiyet eğitim sırasında daha düşük hassasiyetli kayan noktalı sayılar (FP16) kullanırken, nicemleme genellikle dağıtım için eğitimden sonra ağırlıkları tam sayılara (INT8 gibi) dönüştürür. Nicemleme öncelikle uç cihazlardaki çıkarım gecikmesine odaklanırken, karma hassasiyet eğitim hızı ve kararlılığına odaklanır.
- Yarım Hassasiyet: Bu, özellikle FP16 veri formatının kendisine atıfta bulunur. Karma hassasiyet, hem FP16 hem de FP32'yi birlikte kullanma tekniğidir. "Karma" FP32 ana kopyası olmadan saf yarım hassasiyet kullanmak, genellikle sayısal hatalar nedeniyle yakınsamayan modellerle sonuçlanır.
Link to this sectionSonuç#
Karma hassasiyet, sinir ağlarının eğitilme şeklini devrim niteliğinde değiştirmiş ve bugün gördüğümüz devasa temel modeller ve görme sistemleri için kritik bir kolaylaştırıcı görevi görmüştür. Matematiksel hassasiyet ihtiyacını donanım hızı ve bellek kısıtlamalarıyla dengeleyerek, geliştiricilerin daha hızlı yineleme yapmalarına ve daha yetenekli yapay zeka çözümleri oluşturmalarına olanak tanır.
Veri setlerini yönetmek ve optimize edilmiş modelleri sorunsuz bir şekilde eğitmek isteyenler için Ultralytics Platform, bu modern optimizasyon tekniklerinden otomatik olarak yararlanan kapsamlı bir ortam sunar.






