Bilgisayarlı Görü
Uç cihazda görsel modeller: gecikme–doğruluk dengesi
Damıtma, niceleme ve TensorRT ile bir tespit modelini sınırlı donanımda gerçek zamanlıya taşırken hangi doğruluk kaybının kabul edilebilir olduğu.

2 dakikalık okuma
Bir tespit modelinin test setinde iyi sonuç vermesiyle üretim hattında saatlerce sorunsuz çalışması arasında geniş bir mesafe var. Bu mesafenin büyük kısmı donanımdan geliyor: laboratuvarda sunucu GPU'sunda çalışan model, sahada avuç içi büyüklüğünde bir kartta ve sabit bir gecikme bütçesiyle çalışmak zorunda.
Bu yazı, o taşıma sırasında hangi doğruluk kaybının kabul edilebilir olduğuna nasıl karar verdiğimizle ilgili.
Önce bütçe, sonra model
Yaygın sıra şu: en iyi modeli eğit, sonra sığdırmaya çalış. Bu sıra yanlış. Biz önce gecikme bütçesini yazıyoruz.
Bütçe hattın kendisinden geliyor. Saniyede kaç ürün geçiyor, kamera hangi noktada tetikleniyor, karar hangi ana kadar verilmiş olmalı. Buradan tek bir sayı çıkıyor: kare başına izin verilen milisaniye. O sayı model seçiminden önce biliniyor ve pazarlık konusu değil — çünkü aşıldığında model yanlış cevap vermiyor, hiç cevap vermiyor.
Doğruluk tek sayı değil
"%2 doğruluk kaybı" cümlesi tek başına anlamsız. Hangi doğruluk?
Üretim hattı denetiminde iki hata türünün maliyeti eşit değil. Kaçan kusur sahaya hatalı ürün gitmesi demek. Yanlış alarm ise hattın gereksiz durması. Çoğu müşteride birincisi ikincisinden çok daha pahalı, ama bazılarında tam tersi — hattı durdurmanın maliyeti çok yüksekse yanlış alarm kabul edilemez oluyor.
Bu yüzden ölçümü tek bir eşikte değil, eşik eğrisi üzerinde yapıyoruz ve müşteriyle birlikte çalışma noktasını seçiyoruz. Damıtma ve niceleme sonrası bakılan şey ortalama doğruluk değil, seçilen çalışma noktasındaki kaçan kusur oranı.
Damıtma
Büyük modelin bilgisini küçüğe aktarmak, küçüğü sıfırdan eğitmekten belirgin biçimde iyi sonuç veriyor. Pratikte işe yarayan birkaç nokta:
Öğrencinin mimarisi hedef donanımın destekleyeceği işlemlerden seçiliyor. Kâğıt üzerinde küçük ama donanımın hızlandıramadığı bir katman kullanan model, daha büyük ama uyumlu bir modelden yavaş çalışabiliyor.
Damıtma verisi olarak etiketsiz saha görüntüsü kullanılıyor. Öğretmen model bunları etiketliyor, öğrenci bu etiketlerle eğitiliyor. Bu, etiketleme maliyetini düşürüyor ve öğrenciyi tam da karşılaşacağı dağılımda eğitiyor.
Niceleme
FP32'den INT8'e geçiş genellikle en büyük kazancı veriyor. Dikkat ettiğimiz iki şey var.
Kalibrasyon verisi gerçek saha dağılımından seçiliyor. Test setinden seçilen kalibrasyon verisi iyimser sonuç veriyor ve o iyimserlik sahada kayboluyor.
Katman bazında duyarlılık ölçülüyor. Bazı katmanlar nicelemeye diğerlerinden çok daha duyarlı; onları FP16'da bırakmak, tüm modeli INT8'e indirmekten daha iyi bir gecikme–doğruluk noktası verebiliyor.
Ölçüm gerçek donanımda yapılır
Bu maddeyi ayrı yazmamızın sebebi, en sık atlanan şey olması. Geliştirme makinesinde ölçülen gecikme sahadaki gecikmeyi tahmin etmiyor. Ölçümü hedef kartta, hedef sıcaklıkta ve sürekli yük altında yapıyoruz.
Termal kısıtlama burada belirleyici. İlk beş dakika hedefi tutan bir sistem, kart ısındıktan sonra bütçeyi aşabiliyor. Kabul testi bu yüzden kısa bir örnek üzerinde değil, saatlerce süren bir koşuda yapılıyor.
Sonuç
Uç cihaza taşıma bir sıkıştırma problemi değil, bir bütçe problemi. Gecikme bütçesi baştan yazıldığında ve doğruluk doğru metrikle ölçüldüğünde, kabul edilebilir kayıp müzakere edilebilir bir sayıya dönüşüyor. Bütçe sonradan yazıldığında ise genellikle model baştan yapılıyor.
Yapay zeka projeniz için teknik değerlendirme
Projenizin fizibilitesi, riskleri ve takvimi teknik görüşmede değerlendirilir.