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.
Budama, eğitilmiş modellerin boyutunu ve hesaplama 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, modelin görevi için daha az önemli veya gereksiz olarak tanımlanan parametrelerin seçici olarak kaldırılmasını içerir. Birincil amaç, ideal olarak performans veya doğrulukta önemli bir düşüş olmadan daha az hesaplama kaynağı ve bellek gerektiren daha küçük, daha hızlı modeller oluşturmaktır. Bu süreç, özellikle sınırlı kapasiteye sahip cihazlarda verimli model dağıtımının önemli bir parçasıdır. "Budama" genel bir terim olsa da,"Model Budama" özellikle bu tekniğin ML modellerine uygulanmasını ifade eder.
Derin öğrenme (DL) modelleri karmaşık görevlerin üstesinden gelmek için büyüdükçe ve daha karmaşık hale geldikçe, hesaplama gücü, depolama ve enerji talepleri önemli ölçüde artar. Budama, modelleri daha hafif ve verimli hale getirerek bu zorluğu doğrudan ele alır. Bu optimizasyon çeşitli faydalar sağlar: daha az depolama ihtiyacı, çalışma sırasında daha düşük enerji tüketimi ve gerçek zamanlı çıkarım gerektiren uygulamalar için kritik olan çıkarım gecikmesinde azalma. Budama, özellikle mobil cihazlar, gömülü sistemler ve verimliliğin birincil endişe kaynağı olduğu çeşitli Edge AI senaryoları gibi kaynak kısıtlı ortamlarda modelleri dağıtmak için değerlidir. Ayrıca modeli basitleştirerek aşırı uyumu azaltmaya da yardımcı olabilir.
Budama teknikleri çok sayıda yapay zeka alanında geniş çapta uygulanmaktadır. İşte iki somut örnek:
Budama yöntemleri çeşitlilik göstermekle birlikte genellikle bu ana kategorilere ayrılır:
Budama farklı aşamalarda uygulanabilir: eğitimden önce (mimari tasarımı etkileyen), eğitim süreci sırasında veya önceden eğitilmiş bir model üzerinde eğitimden sonra, genellikle kaybedilen doğruluğu geri kazanmak için ince ayar yapılır. Aşağıdakiler gibi başlıca derin öğrenme çerçeveleri PyTorch ve TensorFlow çeşitli budama stratejilerini uygulamak için PyTorch Budama Öğreticisi gibi araçlar ve öğreticiler sağlar.
Budama, model optimizasyonu için kullanılan çeşitli tekniklerden biridir. İlgili kavramlardan ayırt etmekte fayda vardır:
Bu teknikler birbirini dışlamaz ve daha yüksek optimizasyon seviyelerine ulaşmak için sıklıkla budama ile birlikte kullanılır. Ö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ılabilir ONNX Farklı çıkarım motorları arasında geniş dağıtım uyumluluğu için Ultralytics dışa aktarma işlevi gibi araçlar kullanarak.
Özetle, budama, çeşitli dağıtım ihtiyaçlarına uygun verimli yapay zeka modelleri oluşturmak için güçlü bir tekniktir ve bilgisayarla görme (CV) ve diğer makine öğrenimi görevlerinin pratik uygulamasında önemli bir rol oynar. Ultralytics HUB gibi platformlar, bulut eğitimi de dahil olmak üzere, aşağıdaki gibi modellerin geliştirilmesini ve optimizasyonunu kolaylaştırabilecek araçlar ve altyapı sağlar YOLOv8 ya da YOLO11.