Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Model Kuantalama

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

Model kuantizasyonu, aşağıdaki alanlarda dönüştürücü bir tekniktir azaltmak için tasarlanmış makine öğrenimi çalıştırmanın hesaplama ve bellek maliyetleri sinir ağları. Modelin verilerini dönüştürerek parametreler-özellikle ağırlıklar ve aktivasyonlar-yüksek hassasiyetli kayan noktalı sayılardan (genellikle 32 bit olarak bilinen FP32) 8 bitlik tamsayılar (INT8) gibi daha düşük hassasiyetli formatlara dönüştürerek, geliştiriciler dosya boyutunu önemli ölçüde küçültebilir. modeli. Bu süreç, aşağıdakileri sağlamak için gereklidir ile donanım üzerinde verimli model dağıtımı sınırlı kaynaklar, sofistike yapay zeka yeteneklerinin akıllı telefonlardan endüstriyel sensörler.

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

Kuantizasyonun temel mekanizması, geniş bir sürekli değerler aralığının daha küçük bir ayrık değerler kümesine eşlenmesini içerir. değerler. Tipik bir derin öğrenme modelinde, parametreler yüksek değerleri korumak için 32 bit kayan noktalı sayılar olarak saklanır. eğitim aşamasında doğruluk. Ancak, eğitim sırasında çıkarım - modelin tahminlerde bulunduğu aşama - bu hassasiyet seviyesi genellikle gereksizdir.

Niceleme bu değerleri sıkıştırır, bu da getirmek için gereken bellek bant genişliğini azaltır model ağırlıkları ve matematiksel operasyonlar. CPU'lar ve özel donanımlar dahil olmak üzere modern donanımlar GPU'lar gibi hızlandırıcılar, genellikle tamsayı aritmetiği için, kayan noktalı aritmetiğinden daha hızlı ve enerji açısından daha verimli olan özel komut setleri meslektaşları. Bu optimizasyon en aza indirmeye yardımcı olur çıkarım gecikmesi, daha hızlı bir kullanıcı sağlar gerçek zamanlı uygulamalarda deneyim.

Niceleme Türleri

Bu optimizasyonu uygulamak için her biri geliştirmenin farklı aşamalarına hizmet eden iki temel yaklaşım vardır yaşam döngüsü:

  • Eğitim Sonrası Niceleme (PTQ): Bu yöntem, model tamamen eğitildikten sonra uygulanır. Bu aktivasyonların ve ağırlıkların dinamik aralığını belirlemek için bir kalibrasyon veri seti gerektirir. Gibi araçlar TensorFlow Lite sağlam bir çözüm sunar PTQ desteği, onu hızlı optimizasyonlar için popüler bir seçim haline getirir.
  • Kuantizasyon Farkında Eğitim (QAT): Bu yaklaşımda, model aşağıdakilerin etkilerini simüle eder eğitim sürecinin kendisi sırasında niceleme. "Sahte" niceleme düğümleri ekleyerek, ağ daha düşük hassasiyete uyum sağlamayı öğrenir ve genellikle PTQ'ya kıyasla daha iyi doğruluk tutma ile sonuçlanır. Öğrenebilirsiniz bu özel teknik hakkında daha fazla bilgi için Niceleme Farkında Eğitim (QAT) Sayfa.

Gerçek Dünya Uygulamaları

Niceleme, Edge AI'ın temel taşlarından biridir ve karmaşık görevlerin bulut bağlantısına güvenmeden cihazlarda yerel olarak gerçekleştirilebilmesi.

  1. Mobil Bilgisayarlı Görüş: Gerçek zamanlı arka plan bulanıklaştırma gibi özellikler sunan akıllı telefon uygulamaları veya yüz filtreleri nicelleştirilmiş modellere dayanır. Örneğin, bir bir telefonda nesne algılama modeli yüksek pilin boşalmasını ve aşırı ısınmayı önlemek için verimlilik.
  2. Endüstriyel IoT ve Robotik: İçinde robotik, otonom birimler genellikle pil gücüyle çalışır gibi gömülü işlemcileri kullanabilirler. NVIDIA Jetson. Kuantize modeller şunlara izin verir robotların navigasyon ve engellerden kaçınma için görsel verileri minimum gecikmeyle işlemesi, ki bu güvenlik açısından kritik önem taşır otonom araçlarda.

Ultralytics YOLO ile Niceleme Uygulama

Ultralytics çerçevesi, modelleri niceleme dostu formatlara aktarma işlemini basitleştirir. Aşağıdakiler örneğinde bir YOLO11 modelinden TFLite 'a INT8 niceleme etkinken. Bu işlem, belirtilen verileri kullanarak kalibrasyonu otomatik olarak gerçekleştirir.

from ultralytics import YOLO

# Load the standard YOLO11 model
model = YOLO("yolo11n.pt")

# Export to TFLite format with INT8 quantization
# The 'data' argument provides calibration images
model.export(format="tflite", int8=True, data="coco8.yaml")

Niceleme - Diğer Optimizasyon Teknikleri Karşılaştırması

Kuantizasyonu diğerlerinden ayırmak yararlı olacaktır model optimizasyon stratejileri, Genellikle birlikte kullanıldıkları ancak farklı şekilde çalıştıkları için:

  • Niceleme ve Budama: Niceleme ise ağırlıkların hassasiyetini azaltır, model budaması, gereksiz olanları kaldırmayı içerir seyrek bir ağ oluşturmak için bağlantılar (ağırlıklar) tamamen. Budama yapıyı değiştirirken, niceleme veri türünü değiştirir.
  • Niceleme ve Damıtma: Bilgi damıtımı daha küçük bir daha büyük bir öğretmen modelini taklit etmek için öğrenci modeli. Daha sonra öğrenci modeline kuantizasyon uygulanarak daha boyutunu küçültün.
  • Niceleme ve Karışık Hassasiyet: Karışık hassasiyet öncelikle bir eğitim tekniğidir GPU'larda eğitimi hızlandırmak ve bellek kullanımını azaltmak için FP16 ve FP32'nin bir karışımını kullanırken, niceleme tipik olarak tam sayıları kullanan bir çıkarım zamanı optimizasyonu.

Gelecekteki Gelişmeler

Donanım hızlandırıcıları daha özel hale geldikçe, niceleme işleminin önemi artmaya devam etmektedir. Geleceğin Ultralytics yaklaşmakta olan YOLO26 gibi araştırmalar agresif kuantizasyona karşı doğal olarak dayanıklı mimariler tasarlayarak verimliliği daha da artırır. yüksek performanslı bilgisayar görüşü en küçük uç cihazlarda bile erişilebilir kalır.

Daha geniş uyumluluk için, nicelleştirilmiş modeller genellikle aşağıdaki gibi birlikte çalışabilir standartlar kullanılarak dağıtılır ONNX veya optimize edilmiş çıkarım gibi motorlar TensorRT ve OpenVINO.

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 birlikte büyüyün

Şimdi katılın