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ş bir sinir ağının (NN) boyutunu ve hesaplama karmaşıklığını azaltmak için kullanılan bir model optimizasyon tekniğidir. Süreç, gereksiz veya daha az önemli parametrelerin (ağırlıklar) veya yapıların (nöronlar, kanallar veya katmanlar) belirlenmesini ve modelden çıkarılmasını içerir. Amaç, orijinaliyle karşılaştırılabilir bir doğruluk seviyesini koruyan daha küçük, daha hızlı ve daha enerji tasarruflu bir model oluşturmaktır. Bu, özellikle uç cihazlar gibi kaynak kısıtlı ortamlarda karmaşık yapay zeka model lerini dağıtmak için çok önemlidir.
Budama süreci genellikle bir derin öğrenme modeli tamamen eğitildikten sonra başlar. Birçok büyük modelin aşırı parametreli olduğu, yani nihai tahmine çok az katkıda bulunan birçok ağırlık ve nöron içerdiği ilkesine göre çalışır. Bu önemsiz bileşenleri belirlemek için yaygın bir yöntem, büyüklüklerini analiz etmektir; sıfıra yakın değerlere sahip parametreler daha az önemli kabul edilir. Tanımlandıktan sonra, bu parametreler kaldırılır veya sıfıra ayarlanır. Budama işleminden sonra, artık daha küçük olan ağ genellikle modelin birkaç dönem daha yeniden eğitilmesini içeren ince ayara tabi tutulur. Bu adım, kalan parametrelerin mimari değişikliklere uyum sağlamasına ve budama sırasında kaybedilmiş olabilecek performansın geri kazanılmasına yardımcı olur. Bu yinelemeli budama ve ince ayar süreci,"Derin Sıkıştırma" gibi temel araştırma makalelerinde açıklandığı gibi, model boyutu ve performans arasında istenen dengeyi elde etmek için tekrarlanabilir.
Budama teknikleri, ağdan neyin çıkarıldığına bağlı olarak geniş bir şekilde kategorize edilebilir:
PyTorch ve TensorFlow gibi büyük makine öğrenimi çerçeveleri, budama işlemini uygulamak için yerleşik yardımcı programlar ve öğreticiler sunar.
Budama, hesaplama kaynaklarının sınırlı olduğu pratik senaryolarda güçlü yapay zeka modellerinin kullanılması için gereklidir.
Budama, model optimizasyonu için çeşitli tekniklerden biridir ve genellikle diğerleriyle birlikte kullanılır. Onu ilgili kavramlardan ayırmak önemlidir:
Bu teknikler birbirini dışlayan teknikler değildir. Yaygın bir iş akışı, gereksiz parametreleri kaldırmak için önce bir modeli budamak, ardından maksimum verimlilik için budanmış modele niceleme uygulamaktır. Optimize edilmiş modeller daha sonra çeşitli çıkarım motorlarında geniş dağıtım için Ultralytics dışa aktarma işlevi kullanılarak ONNX gibi standart formatlara aktarılabilir. Ultralytics HUB gibi platformlar, eğitimden optimize edilmiş model dağıtımına kadar tüm yaşam döngüsünün yönetilmesine yardımcı olabilir.