Sözlük

Model Niceleme

Model niceleme ile yapay zeka performansını optimize edin. Gerçek dünya dağıtımları için boyutu azaltın, hızı artırın ve enerji verimliliğini iyileştirin.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

Model niceleme, modellerin hesaplama ve bellek maliyetlerini azaltmak için derin öğrenmede (DL) kullanılan önemli bir model optimizasyon tekniğidir. Bunu, model parametrelerinin(ağırlıklar ve aktivasyonlar) sayısal hassasiyetini, tipik olarak 32 bit kayan nokta sayıları (FP32) gibi yüksek hassasiyetli gösterimlerden 16 bit kayan nokta (FP16), 8 bit tamsayılar (INT8) veya hatta daha düşük bit gösterimleri gibi daha düşük hassasiyetli formatlara dönüştürerek gerçekleştirir. Bu işlem, modelleri daha küçük, daha hızlı ve daha enerji verimli hale getirir; bu da özellikle karmaşık modellerin mobil cihazlar veya uç yapay zeka sistemleri gibi kaynak kısıtlı ortamlara dağıtılması için hayati önem taşır.

Model Niceleme Nasıl Çalışır?

Özünde model niceleme, yüksek hassasiyetli tensörlerde (FP32'deki ağırlıklar ve aktivasyonlar gibi) bulunan değer aralığının daha düşük hassasiyetli veri türleri ( INT8 gibi) tarafından temsil edilebilen daha küçük bir aralığa eşlenmesini içerir. GPU 'lar ve TPU'lar gibi özel hızlandırıcılar gibi modern donanımlarda düşük hassasiyetli sayılar (özellikle tamsayılar) üzerindeki işlemler genellikle daha hızlı ve enerji açısından daha verimli olduğundan, bu dönüşüm modeli depolamak için gereken belleği ve çıkarım için gereken hesaplama gücünü önemli ölçüde azaltır.

Model Nicelemenin Faydaları

Derin öğrenme modellerine niceleme uygulamak birkaç önemli avantaj sunar:

  • Azaltılmış Model Boyutu: Daha düşük hassasiyet, parametre başına daha az bit gerektirir ve modelin depolama ayak izini büyük ölçüde azaltır. Bu, kablosuz güncellemeler ve sınırlı depolama alanına sahip cihazlar için faydalıdır.
  • Daha Yüksek Çıkarım Hızı: Düşük hassasiyetli sayılarla yapılan hesaplamalar, özellikle de tamsayı aritmetiği, uyumlu donanımlarda genellikle daha hızlıdır ve bu da daha düşük çıkarım gecikmesine yol açar.
  • Daha Düşük Güç Tüketimi: Azaltılmış bellek erişimi ve daha basit hesaplamalar, pille çalışan uç cihazlar için çok önemli olan daha düşük enerji kullanımıyla sonuçlanır.
  • Geliştirilmiş Dağıtılabilirlik: gibi büyük, karmaşık modellerin dağıtımını mümkün kılar. Ultralytics YOLO Mikro denetleyiciler veya uç TPU'lar gibi sınırlı hesaplama kaynaklarına sahip donanımlarda.

Kuantizasyon Teknikleri

Model niceleme için iki temel yaklaşım vardır:

  1. Eğitim Sonrası Niceleme (PTQ): Bu yöntem, standart kayan nokta hassasiyeti kullanılarak zaten eğitilmiş olan bir modelin nicelleştirilmesini içerir. Yeniden eğitim gerektirmediği için uygulaması daha kolaydır, ancak bazen model doğruluğunda gözle görülür bir düşüşe neden olabilir. Bu doğruluk kaybını en aza indirmek için genellikle temsili bir veri kümesiyle kalibrasyon kullanılır.
  2. Kuantizasyona Duyarlı Eğitim (QAT): QAT, eğitim sürecinin kendisi sırasında kuantizasyonun etkilerini simüle eder. Model, daha düşük hassasiyete uyum sağlamayı öğrenir ve tipik olarak PTQ'ya kıyasla daha iyi doğrulukla sonuçlanır, ancak orijinal eğitim hattına ve verilere erişim gerektirir.

Gerçek Dünya Uygulamaları

Model niceleme, çeşitli alanlarda yaygın olarak kullanılmaktadır:

  1. Mobil Bilgi İşlem: Kamera filtreleri için gerçek zamanlı nesne algılama, görüntü sınıflandırma ve doğal dil işleme gibi sofistike yapay zeka özelliklerini bulut hesaplamaya dayanmadan doğrudan akıllı telefonlarda sağlar. TensorFlow Lite gibi çerçeveler büyük ölçüde niceleme kullanır.
  2. Otonom Araçlar: Kuantize modeller, kendi kendine sürüş sistemlerinde gerçek zamanlı karar verme için çok önemli olan yaya algılama, şerit tutma ve trafik işareti tanıma gibi görevler için sensör verilerinin (kamera, LiDAR) daha hızlı işlenmesini sağlar. Ultralytics , bu tür uygulamalar için uygun çeşitli model dağıtım seçenekleri sunar.

Değerlendirmeler ve İlgili Kavramlar

Oldukça faydalı olsa da niceleme, model doğruluğunu potansiyel olarak etkileyebilir. Niceleme sonrasında ilgili performans ölçütleri kullanılarak dikkatli bir değerlendirme yapılması şarttır. Niceleme dostu model mimarileri kullanmak (örneğin, YOLOv8 'ta görüldüğü gibi belirli aktivasyon işlevlerini değiştirmek) gibi teknikler, nicelenmiş YOLOv8 modellerinin dağıtımında tartışıldığı gibi doğruluk bozulmasını azaltmaya yardımcı olabilir.

Model nicelleştirme, çeşitli model optimizasyon tekniklerinden biridir. Diğerleri şunları içerir:

  • Model Budama: Model karmaşıklığını azaltmak için daha az önemli ağırlıkların veya bağlantıların kaldırılması.
  • Karışık Hassasiyet: Hız/bellek ve doğruluk arasında bir denge kurmak için eğitim veya çıkarım sırasında FP16 ve FP32'nin bir kombinasyonunu kullanma.
  • Bilgi Damıtma: Daha büyük, önceden eğitilmiş bir "öğretmen" modelinin çıktısını taklit etmek için daha küçük bir "öğrenci" modelinin eğitilmesi.

Ultralytics , modellerin nicelleştirmeyi kolaylaştıran çeşitli formatlara aktarılmasını destekler, örneğin ONNX, OpenVINO, TensorRT, CoreMLve TFLite, farklı donanım platformlarında verimli dağıtım sağlar. Ultralytics HUB gibi araçları kullanarak nicelleştirilmiş sürümler de dahil olmak üzere modellerinizi yönetebilir ve dağıtabilirsiniz.

Tümünü okuyun