Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Pruning

Budama, eğitilmiş bir sinir ağındaki önemi düşük ağırlıkları, filtreleri veya katmanları kaldırarak ağı küçültür ve çıkarımı hızlandırır; ardından kaybedilen performansı geri kazanmak için ince ayar yapar.

Budama, eğitilmiş bir sinir ağının çıktısına çok az katkıda bulunan ağırlıkları, nöronları, filtreleri, dikkat başlıklarını veya tüm katmanları kaldıran bir model optimizasyonu tekniğidir. Sonuçta daha az bellek, hesaplama gücü ve enerji gerektiren daha küçük bir model elde edilir. Derin öğrenmede bu terim, model budama ile eş anlamlıdır. Çoğu ağda gerekenden çok daha fazla parametre bulunur: Han ve diğerleri, ImageNet üzerinde AlexNet'i 61 milyondan 6,7 milyon parametreye, VGG-16'yı ise 138 milyondan 10,3 milyon parametreye indirdi; düşük genlikli bağlantıları kaldırıp kalanları yeniden eğiterek doğruluk kaybı yaşamadı. Bellek, güç ve çıkarım gecikmesi bütçelerinin kısıtlı olduğu uç AI dağıtımlarından önce budama sık kullanılan bir adımdır.

Budama Nasıl Çalışır#

Her budama yöntemi hangi parametrelerin ne zaman kaldırılacağına karar verir. Önem puanı genellikle ağırlık büyüklüğüdür; çünkü sıfıra yakın ağırlıkların çıktıyı değiştirme etkisi en azdır. Gradyan tabanlı puanlar ise her parametrenin kayıp fonksiyonu üzerindeki etkisini daha doğrudan tahmin eder. Büyük bir oranı tek seferde kaldırmak, küçük bir oranı kaldırıp kalan ağırlıkları toparlanmaları için ince ayar yapan ve boyut ya da hız hedefine ulaşana kadar bu işlemi yineleyen yinelemeli budamaya kıyasla genellikle doğruluğa daha çok zarar verir. Piyango Bileti Hipotezi, yoğun ağlarda özgün başlangıç değerlerine döndürüldüğünde kendi başlarına eğitilerek tüm ağla karşılaştırılabilir doğruluğa ulaşan seyrek alt ağlar bulunduğunu öne sürer.

Yapısal Olmayan, Yapısal ve Yarı Yapısal Budama#

Yapısal olmayan budama, tensörün herhangi bir yerindeki tek tek ağırlıkları sıfırlar. Belirli bir doğruluk düzeyinde en yüksek seyrekliği sağlar; ancak ortaya düzensiz bir seyrek matris çıkar. Seyrek bir çalışma zamanı sıfırları atlamadığı sürece yoğun GPU ve CPU çekirdekleri bu matrisi tam maliyetle işlemeye devam eder. Yapısal budama, bir evrişimli sinir ağından veya Transformer modelinden filtrelerin, kanalların, dikkat başlıklarının ya da katmanların tamamını kaldırır. Böylece budanan her katman, daha fazla doğruluk kaybı pahasına her donanımda daha hızlı çalışan, daha küçük ve yoğun bir katmana dönüşür. PyTorch budama yardımcı programları, her iki yöntemi de mevcut bir katmana maske uygulayarak kullanır:

import copy

from torch import nn
from torch.nn.utils import prune

# Two copies of one convolution layer with 32 filters of shape 16x3x3
unstructured = nn.Conv2d(16, 32, kernel_size=3)
structured = copy.deepcopy(unstructured)

# Unstructured: zero the 50% of individual weights with the smallest magnitude
prune.l1_unstructured(unstructured, name="weight", amount=0.5)

# Structured: zero the 50% of whole filters (dim=0) with the smallest L2 norm
prune.ln_structured(structured, name="weight", amount=0.5, n=2, dim=0)

for name, layer in [("Unstructured", unstructured), ("Structured", structured)]:
    zeros = (layer.weight == 0).float().mean()
    empty_filters = (layer.weight.flatten(1).abs().sum(dim=1) == 0).sum()
    print(f"{name}: {zeros:.0%} of weights zeroed, {empty_filters}/32 filters entirely empty")

Her iki katman da ağırlıklarının %50'sini kaybeder; ancak yalnızca yapısal katmandaki 32 filtrenin 16'sı tamamen boşalır ve bunlar fiziksel olarak kaldırılarak 16 filtreli yoğun bir evrişim katmanı elde edilebilir.

Yarı yapılandırılmış budama, bu iki yöntemin arasında yer alır. NVIDIA'nın 2:4 seyrekliķ örüntüsü, art arda gelen her dört ağırlığın ikisini sıfırlar; Ampere ve sonraki GPU'lardaki Sparse Tensor Cores bu ağırlıkları atlayarak aynı matris işlemini yarı sürede yapar. NVIDIA, A100 üzerinde TensorRT ile çalışan seyrek ResNeXt-101 için uçtan uca %20'ye varan kazanımlar ölçmüştür. Yoğun donanımda dağınık sıfırlar tek başına hız kazandırmaz: Ultralytics YOLOv5x'i budamak için prune() yardımcı programını kullanıp ince ayar yapmadan küresel yapılandırılmamış seyrekliği %30'a çıkarmak, COCO mAP50-95 değerini 0,507'den 0,489'a düşürdü ve V100 çıkarım süresini görüntü başına 5,2 ms'de bıraktı.

Gerçek Dünya Uygulamaları#

Budama en çok, modelin kısıtlı donanımda çalışması gereken durumlarda önem taşır. Kanal budaması uygulanmış nesne tespiti ağları; dronların, akıllı kameraların ve telefonların bellek ve güç bütçelerine sığar. Böylece bulut bağlantısı olmadan gerçek zamanlı çıkarım yapılabilir ve görüntüler veri gizliliği için cihazda kalır. Üretim denetimlerinde aynı sıkıştırma, kusur tespit sisteminin üretim hattının yanındaki düşük maliyetli bir uç modülde çalışmasını sağlar.

Büyük dil modelleri de budanır. SparseGPT, yeniden eğitim yapmadan OPT-175B ve BLOOM-176B modellerini tek seferde %60 yapısal olmayan seyrekliğe budar ve karmaşıklıkta yalnızca ihmal edilebilir bir artışa neden olur. NVIDIA'nın Minitron çalışması, Llama 3.1 8B modelini katmanları veya gizli boyutları kaldırarak 4B'lik bir modele budadı, ardından özgün modelden bilgi damıtımı uygulayarak kaliteyi geri kazandırdı.

Budama çoğunlukla diğer sıkıştırma yöntemleriyle birlikte kullanılır; bu terimin sinir ağlarının dışında daha eski bir anlamı da vardır.

  • Model niceleme: Niceleme tüm ağırlıkları korur ve sayısal duyarlıklarını, örneğin 32 bit kayan noktalı sayılardan 8 bit tam sayılara düşürür. Budanmış modellere ek tasarruf sağlamak için çoğu zaman sonradan niceleme uygulanır.
  • Bilgi damıtımı: Damıtım, ayrı ve küçük bir öğrenci modeli daha büyük bir öğretmen modeli taklit edecek şekilde eğitir. Yoğun biçimde budanmış bir modelin kaybettiği doğruluğu geri kazandırmanın yaygın bir yoludur.
  • Dropout katmanı: Dropout, düzenlileştirme amacıyla tek bir eğitim adımında rastgele etkinleştirmeleri sıfırlar ve parametre sayısını değiştirmez; budama ise parametreleri kalıcı olarak kaldırır.
  • Karar ağacı budaması: Klasik makine öğrenmesinde budama, aşırı öğrenmeyi azaltmak için eğitilmiş bir karar ağacının dallarını keser. Scikit-learn'ün maliyet-karmaşıklık budaması da ccp_alpha parametresi arttıkça en zayıf alt ağaçları kaldırır.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla