Sözlük

Niceleme Farkında Eğitim (QAT)

Quantization-Aware Training (QAT) ile uç cihazlar için yapay zeka modellerini optimize ederek kaynakların sınırlı olduğu ortamlarda yüksek doğruluk ve verimlilik sağlayın.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

Niceleme Farkında Eğitim (QAT), derin öğrenme (DL) modellerini optimize etmek için kullanılan güçlü bir tekniktir. Ultralytics YOLO modelleri, cep telefonları veya gömülü sistemler gibi sınırlı hesaplama kaynaklarına sahip cihazlarda kullanılmak üzere geliştirilmiştir. Standart modeller hesaplamalar için genellikle yüksek hassasiyetli sayılar (32 bit kayan nokta veya FP32 gibi) kullanır ve bu da önemli miktarda işlem gücü ve bellek gerektirir. QAT, modeli eğitim aşamasında daha düşük hassasiyetli sayılar (ör. 8 bit tam sayılar veya INT8) kullanırken bile iyi performans gösterecek şekilde hazırlayarak bu talebi azaltmayı ve böylece uç cihazlarda yüksek doğruluk ve verimli performans arasındaki boşluğu kapatmayı amaçlamaktadır. Bu optimizasyon, karmaşık yapay zeka görevlerini doğrudan akıllı telefonlar veya IoT sensörleri gibi donanımlarda etkinleştirmek için çok önemlidir.

Niceleme Farkında Eğitim Nasıl Çalışır?

Bir modeli tamamen eğitildikten sonra kuantize eden yöntemlerin aksine, QAT kuantizasyon etkilerinin simülasyonunu doğrudan eğitim sürecine entegre eder. Eğitim sırasında model mimarisine 'sahte niceleme' düğümleri adı verilen işlemler ekler. Bu düğümler, ileri geçiş sırasında düşük hassasiyetin (örneğin INT8 hassasiyeti) model ağırlıkları ve aktivasyonları üzerindeki etkisini taklit eder ve değerleri gerçekten nicelenmiş bir modelde olacağı gibi yuvarlar. Bununla birlikte, geriye doğru geçiş sırasında (modelin geriye yayılma yoluyla öğrendiği yer), gradyanlar tipik olarak hesaplanır ve güncellemeler standart yüksek hassasiyetli kayan nokta sayıları kullanılarak uygulanır. Bu, modelin parametrelerinin uyum sağlamasına ve gerçek nicelleştirilmiş çıkarım sırasında oluşacak hassasiyet kaybına karşı dayanıklı olmayı öğrenmesine olanak tanır. Model, eğitim sırasında nicelleştirmenin etkilerini "görerek", model optimizasyon stratejilerinde tartışılan önemli bir husus olan, modellerin düşük hassasiyetli formatlarda konuşlandırılmasıyla ilişkili doğruluk düşüşünü en aza indirir. TensorFlow Lite gibi çerçeveler ve PyTorch QAT'yi uygulamak için araçlar sağlar.

İlgili Kavramlardan Ayrım

QAT ve Model Niceleme (Eğitim Sonrası)

Temel fark niceleme işleminin ne zaman uygulandığında yatar. Genellikle Eğitim Sonrası Niceleme (PTQ) olarak adlandırılan Model Niceleme, eğitim tamamlandıktan sonra önceden eğitilmiş, tam hassasiyetli bir modeli daha düşük hassasiyetli bir biçime dönüştürür. Yeniden eğitim veya orijinal eğitim veri setine erişim gerektirmediğinden PTQ'nun uygulanması genellikle daha kolaydır. Bununla birlikte, özellikle nesne algılama veya görüntü segmentasyonu gibi görevleri yerine getiren karmaşık modeller için bazen model doğruluğunda gözle görülür bir düşüşe neden olabilir. Buna karşın QAT, eğitim sırasında nicemlemeyi simüle ederek modeli hassasiyet azaltmaya karşı doğal olarak daha dayanıklı hale getirir. Bu, daha fazla hesaplama kaynağı ve eğitim verilerine erişim gerektirmesine rağmen, nihai nicemlenmiş model için PTQ'ya kıyasla genellikle daha yüksek doğrulukla sonuçlanır. Kuantizasyon dostu bloklar içeren YOLO gibi modeller için QAT, minimum hassasiyet kaybıyla önemli performans avantajları sağlayabilir.

QAT vs. Karışık Hassasiyet

Her iki teknik de sayısal hassasiyet içermekle birlikte, hedefleri farklıdır. Karma Hassasiyetli eğitim öncelikle eğitim sürecinin kendisini hızlandırmayı ve hesaplamalar ve depolama için düşük hassasiyetli (ör. 16 bit float veya FP16) ve standart hassasiyetli (32 bit float) formatların bir kombinasyonunu kullanarak eğitim sırasında bellek kullanımını azaltmayı amaçlamaktadır. QAT özellikle model dağıtımından sonra düşük hassasiyetli tamsayı formatlarını (INT8 gibi) kullanarak verimli çıkarım için modeli optimize etmeye odaklanır. Karma hassasiyet eğitim sırasında yardımcı olsa da QAT, nihai modelin NPU 'lar (Sinir İşleme Birimleri) veya TPU'lar gibi nicelenmiş çıkarım donanımının kısıtlamaları altında iyi performans göstermesini sağlar.

QAT'nin Gerçek Dünya Uygulamaları

Quantization-Aware Training, verimliliğin önemli olduğu kaynak kısıtlı ortamlarda sofistike yapay zeka modellerini dağıtmak için hayati önem taşır.

  1. Cihaz Üzerinde Bilgisayarla Görme: gibi karmaşık bilgisayarla görme modellerini çalıştırmak Ultralytics YOLOv8 artırılmış gerçeklik uygulamalarında gerçek zamanlı nesne algılama veya fotoğraf yönetim araçlarında görüntü sınıflandırma gibi uygulamalar için doğrudan akıllı telefonlarda. QAT, bu modellerin önemli ölçüde pil tüketimi veya gecikme olmadan verimli bir şekilde çalışmasını sağlar.
  2. Otomotiv ve Robotikte Uç Yapay Zeka: Otonom araçlarda yaya algılama veya şeritte tutma yardımı gibi görevler için veya robotikte nesne manipülasyonu için modeller dağıtmak. QAT, bu modellerin Google Edge TPU 'lar veya NVIDIA Jetson gibi özel donanımlarda çalışmasını sağlayarak kritik gerçek zamanlı kararlar için düşük çıkarım gecikmesi sağlar. Bu, güvenlik alarm sistemleri veya park yönetimi gibi uygulamalar için çok önemlidir.

Ultralytics , modelleri aşağıdaki gibi çeşitli formatlara aktarmayı destekler ONNX, TensorRTve QAT iş akışlarıyla uyumlu olan TFLite, farklı donanımlarda verimli dağıtım sağlar. QAT için optimize edilmiş modellerinizi Ultralytics HUB gibi platformları kullanarak yönetebilir ve dağıtabilirsiniz. QAT'den sonra ilgili metrikleri kullanarak model performansını değerlendirmek, doğruluk gereksinimlerinin karşılandığından emin olmak için çok önemlidir.

Tümünü okuyun