Kaynak kısıtlı ortamlarda yüksek doğruluk ve verimlilik sağlayarak, Kuantizasyon Bilinçli Eğitim (QAT) ile uç cihazlar için yapay zeka modellerini optimize edin.
Niceleme Farkında Eğitim (QAT) gelişmiş bir model optimizasyon tekniği için sinir ağları hazırlamak üzere tasarlanmıştır. Sınırlı hesaplama kaynaklarına sahip donanımlarda dağıtım. Standart iken Derin öğrenme modelleri tipik olarak verileri yüksek hassasiyetli 32 bit kayan noktalı sayılar (FP32), birçok uç yapay zeka cihazları 8 bit gibi daha düşük hassasiyet gerektirir bellek ve enerji tasarrufu sağlamak için tamsayılar (INT8). QAT, genellikle bu dönüşümün neden olduğu doğruluk düşüşünü şu şekilde ele alır sırasında kuantizasyon etkilerinin simüle edilmesi eğitim aşamasının kendisi. Bu proaktif yaklaşım aşağıdakilere olanak tanır kaybı karşılamak için ağırlıklarını ayarlamak için model hassasiyeti, tahmin performanslarını koruyan yüksek verimli modellerle sonuçlanır.
Kuantizasyona Duyarlı Eğitimin temel mekanizması, "sahte" kuantizasyon düğümlerinin eğitim sırasında modelin mimarisi. Bu düğümler, dönüştürme sırasında ortaya çıkan yuvarlama ve sıkıştırma hatalarını modeller FP32 değerlerini INT8'e dönüştürür. İleri geçiş sırasında, model kuantize edilmiş gibi çalışır, geri geçiş sırasında ise geçiş - geriye yayılımıkullanarak - ağırlıkları günceller simüle edilen hataları telafi etmek için yüksek hassasiyet.
Bu süreç esasen modele, hassasiyetin azalmasıyla ortaya çıkan gürültüye karşı dayanıklı olması için ince ayar yapar. Binbaşı gibi çerçeveler PyTorch ve TensorFlow uzmanlık sağlamak Bu iş akışını kolaylaştırmak için API'ler. Bu kısıtlamaların erken entegre edilmesiyle, dışa aktarılan nihai model çok daha iyi olur bulunanlar gibi hedef donanım yetenekleri ile uyumludur. gömülü sistemler.
QAT'yi aşağıdakilerden ayırt etmek önemlidir Eğitim Sonrası Niceleme (PTQ), hizmet ettikleri gibi benzer hedeflere sahiptir ancak uygulamada farklılık gösterir:
QAT aşağıdaki sektörler için gereklidir çıkarım gecikmesi ve güç tüketimi kritik faktörler.
Tam QAT boru hatları genellikle belirli eğitim yapılandırmalarını içerirken ultralytics kütüphane
dağıtıma hazır nicelleştirilmiş modeller üretmek için dışa aktarma sürecini kolaylaştırır. Aşağıdaki örnekte gösterilmektedir
bir YOLO11 modeli nasıl dışa aktarılır TFLite INT8 niceleme ile format,
verimli kenar uygulaması için hazırlar.
from ultralytics import YOLO
# Load the YOLO11 model (latest stable version)
model = YOLO("yolo11n.pt")
# Export to TFLite with INT8 quantization
# This creates a compact model optimized for edge devices
model.export(format="tflite", int8=True)
Maksimum verimlilik için, QAT genellikle diğer model dağıtım teknikleri. Model budama, gereksiz bağlantıları daha önce kaldırır niceleme, boyutu daha da küçültür. Ayrıca, bilgi damıtımı eğitmek için kullanılabilir Daha sonra QAT kullanılarak rafine edilen kompakt bir öğrenci modeli. Nihai kuantize modeller aşağıdakilerle uyumludur ONNX Runtime gibi yüksek performanslı çalışma zamanları ve OpenVINOgenelinde geniş uyumluluk sağlamak farklı donanım platformları Intel için Google Coral.

