Sözlük

Budama

Yapay zeka modellerini budama ile optimize edin; karmaşıklığı azaltın, verimliliği artırın ve performanstan ödün vermeden uç cihazlarda daha hızlı dağıtın.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

Budama, eğitilmiş modellerin boyutunu ve karmaşıklığını azaltmak için yapay zeka (AI) ve makine öğreniminde (ML) kullanılan bir model optimizasyon tekniğidir. Bir sinir ağı (NN) içindeki ağırlıklar veya bağlantılar gibi daha az önemli veya gereksiz olduğu düşünülen parametrelerin seçici olarak 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ç, özellikle sınırlı kaynaklara sahip cihazlarda verimli model dağıtımı için çok önemlidir.

Budamanın Önemi

Derin öğrenme (DL) modelleri karmaşık görevlerin üstesinden gelmek için büyüdükçe, önemli hesaplama kaynakları talep ederler. Budama, modelleri daha hafif hale getirerek bu zorluğun üstesinden gelir. Bu optimizasyon depolama gereksinimlerini azaltır, enerji tüketimini düşürür ve gerçek zamanlı çıkarım senaryoları için hayati önem taşıyan çıkarım gecikmesini azaltır. Budama, özellikle mobil cihazlar, gömülü sistemler ve verimliliğin çok önemli olduğu Edge AI uygulamaları gibi ortamlarda modelleri dağıtmak için faydalıdır.

Budama Uygulamaları

Budama teknikleri çeşitli yapay zeka alanlarında yaygın olarak uygulanmaktadır. İşte iki somut örnek:

  1. Mobil Bilgisayarla Görme: Ultralytics YOLO Akıllı telefonlarda nesne algılama için sıklıkla kullanılan modeller, pili tüketmeden veya aşırı bellek gerektirmeden verimli bir şekilde çalışacak şekilde budanabilir. Bu, mobil artırılmış gerçeklik veya cihaz üzerinde görüntü analizi gibi gerçek zamanlı uygulamalara olanak tanır. Budanmış bir modeli Google Edge TPU ile donatılmış Raspberry Pi gibi bir donanıma dağıtmak, Raspberry Pi'de Edge TPU öğreticisi gibi kılavuzlarda gösterildiği gibi performansı önemli ölçüde hızlandırabilir.
  2. Otonom Sürüş Sistemleri: Sürücüsüz araçlar, yayaları ve diğer araçları tespit etmek gibi görevler için karmaşık modellere güvenir. Bu modellerin budanması, kritik kararlar almak için gereken süreyi kısaltarak güvenliği ve yanıt verebilirliği artırır. Optimize edilmiş modeller aşağıdaki gibi araçlar kullanılarak daha da hızlandırılabilir NVIDIA TensorRTOtonom araçlarda yaygın olarak bulunan GPU'larda dağıtım için.

Türler ve Teknikler

Budama yöntemleri değişebilir, ancak genellikle bu kategorilere girer:

  • Yapılandırılmamış Budama: Bireysel ağırlıkları büyüklük veya öneme göre kaldırır, bu da verimli yürütme için Neural Magic'in DeepSparse gibi özel donanım veya yazılım gerektirebilecek seyrek modellere yol açar. Ultralytics aşağıdaki gibi araçlar için entegrasyon kılavuzları sunar Neural Magic.
  • Yapılandırılmış Budama: Filtreler, kanallar veya katmanlar gibi tüm yapıları kaldırır. Bu sayede standart donanımlara yerleştirilmesi genellikle daha kolay olan daha küçük ve yoğun modeller elde edilir. Yapılandırılmış yaklaşımlar hakkında daha fazla ayrıntı, NVIDIA'nın yapılandırılmış seyreklik üzerine yaptığı çalışma gibi araştırmalarda bulunabilir.

Budama farklı aşamalarda uygulanabilir: eğitimden önce (mimariyi belirleme), eğitim sırasında veya eğitimden sonra (önceden eğitilmiş bir modele ince ayar yapma). Gibi platformlar PyTorch çeşitli budama tekniklerini kolaylaştırmak için yardımcı programlar sağlar.

Budama ve Diğer Optimizasyon Teknikleri

Budama, çeşitli model optimizasyon stratejilerinden biridir. Onu ilgili kavramlardan ayırmak önemlidir:

  • Model Niceleme: Model ağırlıklarının sayısal hassasiyetini azaltır (örneğin, 32 bit kayan sayılardan 8 bit tam sayılara), parametreleri kaldırmadan boyutu azaltır ve hesaplamayı hızlandırır.
  • Bilgi Damıtma: Daha büyük, önceden eğitilmiş bir "öğretmen" modelinin çıktısını kopyalamak için daha küçük bir "öğrenci" modelini eğitir.

Bu teknikler birbirini dışlamaz ve maksimum verimlilik elde etmek için genellikle budama ile birleştirilir. Daha geniş bir genel bakış için model optimizasyonuna ilişkin bu kılavuza bakın. Budama yoluyla optimize edilen modeller genellikle aşağıdaki gibi standart formatlara aktarılabilir ONNX daha geniş dağıtım uyumluluğu için.

Özetle, budama, çeşitli dağıtım ihtiyaçlarına uygun verimli yapay zeka modelleri oluşturmak için değerli bir tekniktir ve bilgisayarla görme (CV) ve diğer makine öğrenimi görevlerinin pratik uygulamasına önemli ölçüde katkıda bulunur. Ultralytics HUB gibi araçlar ve platformlar genellikle bu tür optimizasyon yöntemlerini içerir veya kolaylaştırır.

Tümünü okuyun