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

Model Kuantalama

Model niceleme ile Ultralytics uç yapay zeka için nasıl optimize edildiğini öğrenin. Daha hızlı çıkarım için belleği nasıl azaltabileceğinizi, gecikmeyi nasıl düşürebileceğinizi ve INT8 modellerini nasıl dışa aktarabileceğinizi keşfedin.

Model niceleme, derin öğrenme modellerini çalıştırmanın hesaplama ve bellek maliyetlerini azaltmak için kullanılan sofistike bir model optimizasyon tekniğidir. Standart eğitim iş akışlarında, sinir ağları genellikle parametreleri (weights and biases) ve aktivasyon haritalarını 32 bitlik kayan nokta sayıları (FP32) kullanarak depolar. Bu yüksek hassasiyet, eğitim sırasında doğru hesaplamalar sağlarken, genellikle çıkarım için gereksizdir. Kuantizasyon bu değerleri 16 bitlik kayan nokta (FP16) veya 8 bitlik tamsayılar (INT8) gibi daha düşük hassasiyetli formatlara dönüştürür, böylece model boyutunu etkili bir şekilde küçültür ve doğruluğu önemli ölçüde bozmadan yürütme hızını artırır.

Neden Niceleme Önemlidir?

Kuantizasyonun temel itici gücü, kaynakları sınırlı donanımlarda güçlü yapay zeka uygulamalarının kullanılması gerekliliğidir. YOLO26 gibi bilgisayar görme modelleri daha karmaşık hale geldikçe, hesaplama gereksinimleri de artmaktadır. Kuantizasyon, üç önemli darboğazı ortadan kaldırmaktadır:

  • Bellek Ayak İzi: Ağırlıkların bit genişliğini azaltarak (örneğin, 32 bitten 8 bite), modelin depolama gereksinimi 4 kata kadar azaltılır. Bu, uygulama boyutunun sınırlı olduğu mobil uygulamalar için hayati önem taşır.
  • Çıkarım Gecikmesi: Daha düşük hassasiyetli işlemler hesaplama açısından daha ucuzdur. Modern işlemciler, özellikle özel sinirsel işlem birimlerine (NPU) sahip olanlar, INT8 işlemlerini FP32'den çok daha hızlı gerçekleştirebilir ve çıkarım gecikmesini önemli ölçüde azaltır.
  • Güç Tüketimi: Bellek üzerinden daha az veri aktarımı ve daha basit aritmetik işlemler daha az enerji tüketir, bu da taşınabilir cihazların ve otonom araçların pil ömrünü uzatır.

İlgili Kavramlarla Karşılaştırma

Kuantizasyonu diğer optimizasyon tekniklerinden ayırmak önemlidir, çünkü bunlar modeli farklı şekillerde değiştirirler :

  • Kuantizasyon ve Budama: Kuantizasyon, parametrelerin bit genişliğini azaltarak dosya boyutunu küçültürken, model budama, seyrek bir ağ oluşturmak için gereksiz bağlantıları (ağırlıkları) tamamen kaldırmayı içerir. Budama, modelin yapısını değiştirirken, kuantizasyon veri temsilini değiştirir.
  • Kuantizasyon ve Bilgi Damıtma: Bilgi damıtma, küçük bir "öğrenci" modelin büyük bir "öğretmen" modeli taklit etmeyi öğrendiği bir eğitim tekniğidir. Kuantizasyon, genellikle damıtma işleminden sonra öğrenci modeline uygulanarak kenar AI performansını daha da artırır.

Gerçek Dünya Uygulamaları

Kuantizasyon, verimliliğin çok önemli olduğu çeşitli sektörlerde bilgisayar görme ve yapay zeka kullanımını mümkün kılar.

  1. Otonom Sistemler: Otomotiv endüstrisinde, sürücüsüz arabalar kameralardan ve LiDAR'dan gelen görsel verileri gerçek zamanlı olarak işlemek zorundadır. NVIDIA'da kullanılan nicel modeller NVIDIA TensorRT motorlarında dağıtılan nicel modeller, bu araçların detect ve engelleri milisaniye gecikmeyle detect sağlayarak yolcu güvenliğini garanti altına alır.
  2. Akıllı Tarım: Çok spektrumlu kameralarla donatılmış drone'lar, nesne algılama modellerini kullanarak mahsul hastalıklarını tespit eder veya büyüme aşamalarını izler. Bu modellerin drone'ların gömülüsistemlerinde yerel olarak çalıştırılması, uzak tarlalarda güvenilir olmayan hücresel bağlantılara olan ihtiyacı ortadan kaldırır.

Ultralytics ile Niceleme Uygulama

Ultralytics , dışa aktarma sürecini basitleştirerek geliştiricilerin en son teknolojiye sahip YOLO26 gibi modelleri nicel formatlara dönüştürmelerine olanak tanır. Ultralytics ayrıca bu dağıtımları sorunsuz bir şekilde yönetmek için araçlar da sağlar .

Aşağıdaki örnek, bir modeli TFLite dışa aktarılacağını göstermektedir. Bu işlem, modelin örnek verileri gözlemleyerek nicelendirilmiş değerler için en uygun dinamik aralığı belirlediği bir kalibrasyon adımını içerir.

from ultralytics import YOLO

# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")

# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")

Optimize edilmiş modeller genellikle aşağıdaki gibi birlikte çalışabilir standartlar kullanılarak dağıtılır ONNX veya yüksek performanslı çıkarım motorları OpenVINOgibi yüksek performanslı çıkarım motorları kullanılarak dağıtılır ve bu da çeşitli donanım ekosistemleri arasında geniş bir

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