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.
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.
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ü:
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.
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")
Kuantizasyonu diğerlerinden ayırmak yararlı olacaktır model optimizasyon stratejileri, Genellikle birlikte kullanıldıkları ancak farklı şekilde çalıştıkları için:
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.
