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

Kuantalama Farkındalıklı Eğitim (QAT)

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.

QAT'ın Kenar Dağıtımı için Neden Önemli Olduğu

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 ile Eğitim Sonrası Kuantizasyon (PTQ) Arasındaki Farklılıklar

QAT'yi model nicelemesinden, özellikle de Eğitim Sonrası Nicelemesinden (PTQ) ayırmak faydalıdır: PTQ, modelin nicelendiği ve ardından

  • Eğitim Sonrası Niceleme (PTQ): Model normal olarak FP32'de eğitilir. Eğitim tamamlandıktan sonra ağırlıklar INT8'e dönüştürülür. Bu daha hızlıdır ve yeniden eğitim gerektirmez, ancak karmaşık mimarilerde daha yüksek doğruluk kaybına neden olabilir.
  • Kuantizasyon Bilinçli Eğitim (QAT): Kuantizasyon süreci ince ayar aşamasında taklit edilir. Model, daha düşük hassasiyetin getirdiği gürültüyü telafi etmek için iç parametrelerini ayarlar ve genellikle PTQ'dan daha iyi doğruluk sağlar.

Gerçek Dünya Uygulamaları

QAT, uç donanım üzerinde gerçek zamanlı çıkarımın kritik öneme sahip olduğu endüstriler için vazgeçilmezdir.

  • Otonom Dronlar: AI dron operasyonlarında, pil ömrü ve yerleşik işlem gücü ciddi şekilde sınırlıdır. QAT ile optimize edilmiş modelleri kullanan dronlar, INT8 hızlandırıcıları kullanarak engelleri detect veya track yüksek hassasiyetle track , bu da FP32 modellerine kıyasla uçuş sürelerini önemli ölçüde uzatır .
  • Akıllı Perakende Kameralar: Süpermarketler, raf stoklarını izlemek veya kasa kuyruklarını yönetmek için perakende sektöründe bilgisayar görüşü kullanır. Bu sistemler genellikle düşük güçlü kenar ağ geçitlerinde çalışır. QAT, bu cihazlarda çalışan nesne algılama modellerinin, pahalı bulut bağlantısı gerektirmeden benzer ürünleri ayırt etmek için gereken doğruluğu korumasını sağlar.

Ultralytics ile QAT'yi Uygulama

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)

Edge Ekosistemleri ile Entegrasyon

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 ile İlgili Temel Kavramlar

QAT'yi tam olarak anlamak için, birkaç ilgili makine öğrenimi kavramına aşina olmak yardımcı olur:

  • Hassasiyet: Sayıları temsil etmek için kullanılan ayrıntı düzeyini ifade eder. Yarım hassasiyet (FP16) ve INT8, niceleme için yaygın hedeflerdir. Hassasiyet, sayıların temsil edilme biçimini ifade eder.
  • Kalibrasyon: Kayan nokta sayılarını tamsayılara etkili bir şekilde eşlemek için dinamik aktivasyon değerlerinin (min/maks) aralığını belirleme süreci. Bu, nicel YOLO dağıtmanın önemli bir adımıdır. Kalibrasyon, YOLO YOLO nicel hale getirilmesinde önemli bir adımdır.
  • Çıkarım Gecikmesi: QAT'ın temel avantajlarından biri, çıkarım gecikmesini azaltarak gerçek zamanlı sistemlerde daha hızlı karar vermeyi mümkün kılmasıdır.
  • İnce Ayar: QAT genellikle sıfırdan eğitim yerine önceden eğitilmiş bir model üzerinde ince ayar adımı olarak gerçekleştirilir ve bu da hesaplama kaynaklarından tasarruf sağlar.

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.

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