Quantization-Aware Training (QAT) teknolojisinin Ultralytics modellerini uç dağıtım için nasıl optimize ettiğini öğrenin. INT8 hassasiyeti ile yüksek doğruluğu nasıl koruyabileceğinizi keşfedin.
Kuantizasyon Duyarlı Eğitimi (QAT), makine öğrenimi modellerinin eğitim aşamasında, daha düşük hassasiyetli ortamlara hazırlamak için kullanılan özel bir tekniktir. Standart derin öğrenme iş akışlarında, modeller genellikle yüksek hassasiyetli 32 bitlik kayan nokta sayıları (FP32) kullanarak çalışır. Bu hassasiyet mükemmel doğruluk sağlasa da, özellikle uç cihazlarda hesaplama açısından maliyetli ve bellek yoğun olabilir. QAT, model hala eğitim aşamasındayken kuantizasyonun etkilerini simüle eder ve hassasiyeti 8 bitlik tamsayılar (INT8) gibi formatlara indirger. Öğrenme sürecinde bu kuantizasyon hatalarını ekleyerek, model ağırlıklarını uyarlama ve eğitim sonrası dönüştürme sırasında kaybolabilecek doğruluğu etkili bir şekilde geri kazanmayı öğrenir.
Kaynakları sınırlı cihazlara bilgisayar görme modellerini uygulamak, genellikle hız ve performans arasında bir denge gerektirir. Eğitim Sonrası Niceleme (PTQ) olarak bilinen standart niceleme yöntemleri, model tamamen eğitildikten sonra hassasiyet azaltma uygular. PTQ hızlı olmakla birlikte, sinir ağı ağırlıkları ayarlama şansı olmadan önemli ölçüde değiştirildiği için hassas modellerin doğruluğunu bazen bozabilir.
QAT, modelin nicelendirilmeyi "pratik etmesine" izin vererek bu sorunu çözer. Eğitimin ileri geçişi sırasında, ağırlıklar ve aktivasyonlar düşük hassasiyetli değerler olarak simüle edilir. Bu, gradyan iniş sürecinin modeli özellikle nicelendirilmiş durum için kaybı en aza indirecek şekilde güncellemesine olanak tanır. Sonuç, mikrodenetleyiciler veya mobil işlemciler gibi donanımlara yerleştirildiğinde bile yüksek doğruluğu koruyan sağlam bir modeldir.
QAT'yi model nicelemesinden, özellikle de Eğitim Sonrası Nicelemesinden (PTQ) ayırmak faydalıdır: PTQ, modelin nicelendiği ve ardından
QAT, uç donanım üzerinde gerçek zamanlı çıkarımın kritik öneme sahip olduğu endüstriler için vazgeçilmezdir.
Ultralytics ve YOLO , modellerin kuantize formatlara aktarılmasını destekler. QAT karmaşık bir eğitim prosedürü olsa da, modern çerçeveler kuantize çıkarım için modellerin hazırlanmasını kolaylaştırır .
Aşağıda, eğitilmiş bir YOLO26 modelini, verimli kenar dağıtımı için niceleme ilkelerini kullanan INT8 niceleme TFLite nasıl dışa aktarabileceğinize dair bir örnek verilmiştir. .
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)
Kuantizasyon teknikleri ile optimize edilmiş modeller, özel çıkarım motorlarında çalışmak üzere tasarlanmıştır. QAT ile eğitilmiş modeller, çapraz platform uyumluluğu için genellikle ONNX veya OpenVINO kullanılarak Intel optimizasyon için dağıtılır. Bu , hedefin bir Raspberry Pi veya özel bir Edge TPU olması durumunda modelin mümkün olan en yüksek verimlilik ve hızda çalışmasını sağlar.
QAT'yi tam olarak anlamak için, birkaç ilgili makine öğrenimi kavramına aşina olmak yardımcı olur:
Quantization-Aware Training'i MLOps boru hattına entegre ederek, geliştiriciler yüksek doğruluklu araştırma modelleri ile yüksek verimli, üretime hazır kenar AI uygulamaları arasındaki boşluğu doldurabilirler.