Sözlük

Model Budama

Model budama ile makine öğrenimi modellerini optimize edin. Kaynakları sınırlı dağıtımlar için daha hızlı çıkarım, daha az bellek kullanımı ve enerji verimliliği elde edin.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

Model budama, eğitimli modelleri boyutlarını ve karmaşıklıklarını azaltarak optimize etmek için kullanılan bir makine öğrenimi (ML) tekniğidir. Bu, modelin genel performansına minimum düzeyde katkıda bulunan model ağırlıkları veya bir sinir ağı (NN) içindeki bağlantılar gibi daha az önemli parametrelerin belirlenmesini ve kaldırılmasını içerir. Birincil amaç, genellikle doğrulukta önemli bir düşüş olmadan daha az hesaplama gücü ve bellek gerektiren daha küçük, daha hızlı modeller oluşturmaktır. Bu süreç, doğrudan ML modellerine uygulanan ve onları dağıtım için daha verimli hale getiren daha geniş budama kavramının özel bir uygulamasıdır.

Neden Model Budama Kullanılmalı?

Model budamanın ana itici gücü verimliliktir. Modern derin öğrenme (DL) modelleri, özellikle bilgisayarla görme (CV) gibi alanlarda, son derece büyük ve hesaplama açısından yoğun olabilir. Bu durum, özellikle akıllı telefonlar, gömülü sistemler gibi sınırlı kaynaklara sahip cihazlarda veya uç bilişim senaryolarında model dağıtımı için zorluklar oluşturmaktadır. Model budama, bu sorunların ele alınmasına yardımcı olur:

  • Model Boyutunu Azaltma: Daha küçük modeller daha az depolama alanı gerektirir, bu da Edge AI'da kullanılanlar gibi sınırlı bellek kapasitesine sahip cihazlar için çok önemlidir.
  • Çıkarım Hızının Artırılması: Daha az parametre, daha az hesaplama anlamına gelir, bu da daha düşük çıkarım gecikmesine yol açar ve otonom araçlar gibi uygulamalar için gerekli olan gerçek zamanlı çıkarım yeteneklerini mümkün kılar. Ultralytics HUB Uygulaması, mobil dağıtım için bu tür optimizasyonlardan yararlanır.
  • Enerji Tüketiminin Azaltılması: Azaltılmış hesaplama yükü, daha düşük güç kullanımı anlamına gelir ve daha sürdürülebilir yapay zeka uygulamalarına ve mobil cihazlarda daha uzun pil ömrüne katkıda bulunur.
  • Genelleştirmenin İyileştirilmesi: Bazen budama, gereksiz parametreleri kaldırarak aşırı uyumu azaltmaya yardımcı olabilir ve potansiyel olarak modelin görünmeyen veriler üzerindeki performansını artırabilir.

Model Budama Türleri

Model budama teknikleri çeşitlilik gösterir, ancak genellikle kaldırılan şeyin ayrıntı düzeyine göre kategorilere ayrılır:

  • Ağırlık Budama (Yapılandırılmamış): Belirli bir önem eşiğinin (genellikle büyüklüğe dayalı) altındaki bireysel ağırlıklar kaldırılır (sıfıra ayarlanır). Bu, seyrek modellere yol açabilir ancak optimum hızlanma için NVIDIA'nın sey rek modellere yönelik araçları gibi özel donanım veya yazılım gerektirebilir.
  • Nöron Budama: Önemsiz olduğu düşünülen tüm nöronlar (ve bağlantıları) ağdan çıkarılır.
  • Filtre/Kanal Budama (Yapılandırılmış): Evrişimsel Sinir Ağlarındaki (CNN'ler) tüm filtreler veya kanallar kaldırılır. Bu yapılandırılmış budama yaklaşımı genellikle özel kütüphanelere ihtiyaç duymadan standart donanım üzerinde daha doğrudan hızlanmalara yol açar. Neural Magic'in DeepSparse gibi araçlar, genellikle budama ile birlikte CPU hızlandırma için seyreklikten yararlanırYOLOv5 Neural Magic eğitimiyleYOLOv5 ).

Budama, model tamamen eğitildikten sonra gerçekleşebilir veya eğitim sürecine entegre edilebilir. Budama sonrası modeller, parametre kaldırma sırasında kaybedilen performansı geri kazanmak için tipik olarak ince ayar (daha küçük mimari üzerinde daha fazla eğitim) işlemine tabi tutulur. Gibi çerçeveler PyTorchPyTorch Pruning Tutorial'da gösterildiği gibi çeşitli budama yöntemlerini uygulamak için yardımcı programlar sağlar.

Gerçek Dünya Uygulamaları

Model budama, birçok yapay zeka alanında değerlidir:

  1. Uç Cihazlarda Nesne Algılamayı Optimize Etme: Gibi modeller Ultralytics YOLORaspberry Pi, Google'ın Edge TPU'su veya NVIDIA Jetson gibi kaynak kısıtlı donanımlarda verimli bir şekilde çalışmak için nesne algılama için kullanılan budanabilir. Bu, cihaz üzerinde gözetim, trafik izleme(trafik yönetimini optimize etme blogu) veya robotik navigasyon(robotik blogunaCV'yi entegre etme) gibi uygulamaları mümkün kılar.
  2. Büyük Dil Modellerini (LLM'ler) Yerel Olarak Dağıtmak: Budama teknikleri, Transformer mimarisine dayalı olanlar gibi büyük modellerin boyutunu önemli ölçüde azaltarak, bunların sürekli bulut bağlantısı olmadan doğal dil işleme (NLP) gibi görevler için doğrudan kullanıcı cihazlarında (örneğin akıllı telefonlar) çalışmasını sağlayabilir. Bu, veri gizliliğini artırır ve cihaz üzerinde çeviri veya akıllı asistanlar gibi uygulamalar için gecikmeyi azaltır.

Budama ve Diğer Optimizasyon Teknikleri

Model budama, model optimizasyonu için kullanılan çeşitli tekniklerden biridir. Farklıdır, ancak genellikle tamamlayıcıdır:

  • Model Niceleme: Model ağırlıklarının ve aktivasyonların sayısal hassasiyetini azaltır (örneğin, 32 bit kayan değerlerden 8 bit tam sayılara), model boyutunu azaltır ve özellikle aşağıdaki gibi özel desteğe sahip donanımlarda hesaplamayı hızlandırır TensorRT.
  • Bilgi Damıtma: Daha büyük, önceden eğitilmiş bir "öğretmen" modelinin davranışını taklit etmek için daha küçük bir "öğrenci" modelini eğitir. Amaç, bilgiyi büyük modelden daha kompakt bir modele aktarmaktır.

Bu teknikler birleştirilebilir; örneğin, bir model önce budanabilir, ardından maksimum verimlilik için nicelleştirilebilir. Optimize edilmiş modeller genellikle aşağıdaki gibi standart formatlara aktarılır ONNXUltralytics dışa aktarmaseçenekleri) geniş dağıtım uyumluluğu için. Ultralytics HUB gibi platformlar, modelleri, veri kümelerini(COCO gibi) yönetmek ve optimize edilmiş dağıtıma giden yolu kolaylaştırmak için ortamlar sağlar.

Tümünü okuyun