Budama ve nicemlemenin neden bilgisayar görüş modellerini optimize etmek ve uç cihazlarda daha hızlı performans sağlamak için gerekli olduğunu keşfedin.

Budama ve nicemlemenin neden bilgisayar görüş modellerini optimize etmek ve uç cihazlarda daha hızlı performans sağlamak için gerekli olduğunu keşfedin.
Uç cihazlar, gelişen teknolojiyle birlikte giderek yaygınlaşıyor. Kalp atış hızınızı izleyen akıllı saatlerden, sokakları izleyen hava dronlarına kadar, uç sistemler verileri gerçek zamanlı olarak cihazın kendisinde yerel olarak işleyebilir.
Bu yöntem, özellikle plaka tanıma veya hareket takibi gibi kişisel verileri içeren uygulamalar için, verileri buluta göndermekten genellikle daha hızlı ve daha güvenlidir. Bunlar, makinelerin görsel bilgileri yorumlamasını ve anlamasını sağlayan yapay zekanın (AI) bir dalı olan bilgisayarlı görüye örnektir.
Ancak, önemli bir husus, bu tür uygulamaların ağır hesaplamaları kaldırabilen, minimum kaynak kullanan ve bağımsız olarak çalışabilen Görüntü İşleme Yapay Zeka modelleri gerektirmesidir. Çoğu bilgisayarlı görü modeli yüksek performanslı sistemler için geliştirilmiştir, bu da onları doğrudan uç cihazlarda (edge devices) kullanıma daha az uygun hale getirir.
Bu açığı kapatmak için geliştiriciler genellikle modeli daha küçük donanımlarda verimli bir şekilde çalışacak şekilde uyarlayan hedeflenmiş optimizasyonlar uygular. Bu ayarlamalar, bellek ve işlem gücünün sınırlı olduğu gerçek dünya uç dağıtımları için kritik öneme sahiptir.
İlginç bir şekilde, Ultralytics YOLO11 gibi bilgisayar görüşü modelleri zaten uç nokta verimliliği düşünülerek tasarlanmıştır, bu da onları gerçek zamanlı görevler için harika kılar. Bununla birlikte, performansları budama ve niceleme gibi model optimizasyon teknikleri kullanılarak daha da artırılabilir, bu da kısıtlı cihazlarda daha da hızlı çıkarım ve daha düşük kaynak kullanımı sağlar.
Bu makalede, budama ve nicelemenin ne olduğuna, nasıl çalıştıklarına ve YOLO modellerinin gerçek dünya uç nokta dağıtımlarında performans göstermesine nasıl yardımcı olabileceklerine daha yakından bakacağız. Hadi başlayalım!
Görsel Yapay Zeka modellerini uç cihazlarda dağıtıma hazırlarken, temel hedeflerden biri performanstan ödün vermeden modeli hafif ve güvenilir hale getirmektir. Bu genellikle, sınırlı bellek, güç veya işlem kapasitesine sahip donanımda verimli bir şekilde çalışabilmesi için modelin boyutunu ve hesaplama taleplerini azaltmayı içerir. Bunu yapmanın iki yaygın yolu budama ve nicelemedir.
Budama, sinir ağlarını daha küçük ve daha verimli hale getirmeye yardımcı olan bir yapay zeka model optimizasyon tekniğidir. Çoğu durumda, bir modelin belirli bağlantılar veya düğümler gibi bazı bölümleri, nihai tahminlerine pek katkıda bulunmaz. Budama, bu daha az önemli parçaları belirleyip kaldırarak çalışır, bu da modelin boyutunu küçültür ve performansını hızlandırır.
Öte yandan, niceleme, bir modelin kullandığı sayıların hassasiyetini azaltan bir optimizasyon tekniğidir. Model, yüksek hassasiyetli 32 bit kayan noktalı sayılara güvenmek yerine, 8 bit tamsayılar gibi daha küçük, daha verimli biçimlere geçer. Bu değişiklik, bellek kullanımını azaltmaya ve modelin tahminler yaptığı süreç olan çıkarımı hızlandırmaya yardımcı olur.
Budama (pruning) ve nicemlemenin (quantization) ne olduğunu daha iyi anladığımıza göre, her ikisinin de nasıl çalıştığını inceleyelim.
Budama, duyarlılık analizi olarak bilinen bir işlem kullanılarak yapılır. Sinir ağı modellerinin, örneğin belirli ağırlıkların, nöronların veya kanalların, nihai çıktı tahminine en az katkıda bulunan kısımlarını belirler. Bu parçalar doğruluk üzerinde minimum etkiyle kaldırılabilir. Budamadan sonra, modelin performansı ince ayar yapmak için genellikle yeniden eğitilir. Bu döngü, boyutu ve doğruluğu arasında doğru dengeyi bulmak için tekrarlanabilir.
Bu sırada, model nicelemesi modelin verileri nasıl işlediğine odaklanır. Modelin işlemesi gereken değer aralığını öğrenmek için örnek veriler üzerinde çalıştığı kalibrasyonla başlar. Bu değerler daha sonra 32 bit kayan noktadan 8 bit tamsayılar gibi daha düşük hassasiyetli biçimlere dönüştürülür.
Gerçek dünyadaki yapay zeka projelerinde budama ve nicelemeyi kullanmayı kolaylaştıran çeşitli araçlar mevcuttur. PyTorch ve TensorFlow gibi çoğu AI framework'ü, bu optimizasyon teknikleri için yerleşik destek içerir ve geliştiricilerin bunları doğrudan model dağıtım sürecine entegre etmelerine olanak tanır.
Bir model optimize edildikten sonra, ONNX Runtime gibi araçlar, sunucular, masaüstü bilgisayarlar ve uç cihazlar gibi çeşitli donanım platformlarında verimli bir şekilde çalışmasına yardımcı olabilir. Ayrıca, Ultralytics, YOLO modellerinin niceleme için uygun formatlarda dışa aktarılmasına olanak tanıyan entegrasyonlar sunarak model boyutunu küçültmeyi ve performansı artırmayı kolaylaştırır.
YOLO11 gibi Ultralytics YOLO modelleri, hızlı, tek adımlı nesne tespiti ile yaygın olarak tanınır ve bu da onları gerçek zamanlı Görsel Yapay Zeka görevleri için ideal kılar. Zaten uç dağıtımı için yeterince hafif ve verimli olacak şekilde tasarlanmıştır. Bununla birlikte, görsel özellikleri işlemeden sorumlu katmanlar, yani evrişimli katmanlar, çıkarım sırasında hala önemli miktarda işlem gücü gerektirebilir.
YOLO11 zaten uç kullanım için optimize edilmişse, neden daha fazla optimizasyona ihtiyaç duyduğunu merak edebilirsiniz? Basitçe söylemek gerekirse, tüm uç cihazlar aynı değildir. Bazıları, standart bir LED ampulden daha az güç tüketen küçük gömülü işlemciler gibi çok minimal donanımlarda çalışır.
Bu durumlarda, YOLO11 gibi aerodinamik bir model bile sorunsuz, güvenilir performansı garanti etmek için ek optimizasyona ihtiyaç duyar. Budama ve niceleme gibi teknikler, modelin boyutunu küçültmeye ve doğruluğu önemli ölçüde etkilemeden çıkarımı hızlandırmaya yardımcı olarak, bu tür kısıtlı ortamlar için ideal hale getirir.
Bu optimizasyon tekniklerini uygulamayı kolaylaştırmak için Ultralytics, YOLO modellerini ONNX, TensorRT, OpenVINO, CoreML ve PaddlePaddle gibi birden çok formata aktarmak için kullanılabilecek çeşitli entegrasyonları destekler. Her format, belirli donanım türleri ve dağıtım ortamlarıyla iyi çalışacak şekilde tasarlanmıştır.
Örneğin, ONNX, çok çeşitli araç ve platformlarla uyumluluğu nedeniyle genellikle niceleme iş akışlarında kullanılır. TensorRT ise NVIDIA cihazları için yüksek oranda optimize edilmiştir ve INT8 kullanarak düşük hassasiyetli çıkarımı destekler, bu da onu uç GPU'larda yüksek hızlı dağıtım için ideal hale getirir.
Bilgisayarlı görü çeşitli gerçek dünya uygulamalarına yayılmaya devam ederken, optimize edilmiş YOLO modelleri, nesne algılama, örnek segmentasyonu ve nesne takibi gibi görevleri daha küçük, daha hızlı donanımlarda çalıştırmayı mümkün kılar. Ardından, budama ve nicelemenin bu bilgisayarlı görü görevlerini nasıl daha verimli ve pratik hale getirdiğine dair birkaç kullanım örneğini ele alalım.
Birçok endüstriyel alanın yanı sıra kamusal alanlar da güvenli ve emniyetli kalmak için gerçek zamanlı izlemeye ihtiyaç duyar. Toplu taşıma istasyonları, üretim tesisleri ve büyük dış mekan tesisleri gibi yerlerin, insanları veya araçları hızlı ve doğru bir şekilde tespit edebilen Görüntü İşleme Yapay Zeka sistemlerine ihtiyacı vardır. Genellikle, bu konumlar sınırlı bağlantı ve donanım kısıtlamalarıyla çalışır, bu da büyük modellerin dağıtımını zorlaştırır.
Bu gibi durumlarda, YOLO11 gibi optimize edilmiş bir Görüntü İşleme Yapay Zeka modeli harika bir çözümdür. Kompakt boyutu ve hızlı performansı, gömülü kameralar veya akıllı sensörler gibi düşük güçlü uç cihazlarda çalıştırmak için mükemmeldir. Bu modeller, sürekli bulut erişimine ihtiyaç duymadan, güvenlik ihlallerinin, yetkisiz erişimin veya anormal etkinliğin gerçek zamanlı olarak algılanmasını sağlayarak görsel verileri doğrudan cihaz üzerinde işleyebilir.
Şantiyeler, ağır makineler, hareketli işçiler ve sürekli aktivite ile dolu, hızlı tempolu ve öngörülemeyen ortamlardır. Koşullar, değişen programlar, ekipman hareketi ve hatta ani hava değişiklikleri nedeniyle hızla değişebilir. Böylesine dinamik bir ortamda, işçi güvenliği sürekli bir zorluk gibi gelebilir.
Gerçek zamanlı izleme önemli bir rol oynar, ancak geleneksel sistemler genellikle bulut erişimine veya sahada pratik olmayabilecek pahalı donanımlara güvenir. YOLO11 gibi modellerin etkili olabileceği yer burasıdır. YOLO11, internet bağlantısına ihtiyaç duymadan doğrudan sahada çalışan küçük, verimli uç cihazlarda çalışacak şekilde optimize edilebilir.
Örneğin, birkaç dönümlük alanı kapsayan bir otoyol genişletmesi gibi büyük bir inşaat alanını düşünün. Bu tür bir ortamda, her aracı veya ekipmanı manuel olarak izlemek zor ve zaman alıcı olabilir. Bir kamera ve optimize edilmiş bir YOLO11 modeli ile donatılmış bir drone, araçları otomatik olarak algılayıp takip ederek, trafik akışını izleyerek ve yetkisiz erişim veya güvenli olmayan sürüş davranışı gibi güvenlik sorunlarını belirleyerek yardımcı olabilir.
İşte budama ve niceleme gibi bilgisayar görüşü modeli optimizasyon yöntemlerinin sunduğu bazı temel avantajlar:
Budama ve niceleme birçok avantaj sunarken, geliştiricilerin modelleri optimize ederken dikkate alması gereken belirli ödünleşimlerle birlikte gelir. İşte akılda tutulması gereken bazı sınırlamalar:
Budama ve niceleme, YOLO modellerinin uç cihazlarda daha iyi performans göstermesine yardımcı olan faydalı tekniklerdir. Modelin boyutunu küçültür, hesaplama ihtiyaçlarını azaltır ve tahminleri hızlandırır; bunların hepsi doğrulukta gözle görülür bir kayıp olmadan gerçekleşir.
Bu optimizasyon yöntemleri ayrıca, geliştiricilere modelleri tamamen yeniden oluşturmaya gerek kalmadan farklı donanım türleri için ayarlama esnekliği sağlar. Birkaç ince ayar ve testle, Vision AI'yı gerçek dünya durumlarında uygulamak daha kolay hale gelir.
Büyüyen topluluğumuza katılın! AI hakkında daha fazla bilgi edinmek için GitHub depomuzu keşfedin. Bilgisayarlı görü projelerinize başlamaya hazır mısınız? Lisanslama seçeneklerimize göz atın. Çözüm sayfalarımızı ziyaret ederek tarımda AI ve sağlık hizmetlerinde Vision AI'yı keşfedin!