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.
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:
Kuantizasyonu diğer optimizasyon tekniklerinden ayırmak önemlidir, çünkü bunlar modeli farklı şekillerde değiştirirler :
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.
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