TensorFlow Model Optimizasyon Araç Kiti, makine öğrenimi çıkarımının optimizasyonunun karmaşıklığını en aza indirir.
Makine öğrenimi modellerinin dağıtımında, gecikme, bellek kullanımı ve birçok durumda güç tüketimi nedeniyle çıkarım verimliliği kritik bir konudur. Özellikle mobil ve Nesnelerin İnterneti (IoT) gibi uç cihazlarda kaynaklar daha da kısıtlıdır ve model boyutu ile hesaplama verimliliği büyük bir endişe kaynağı haline gelir.
Farklı mimarilerde eğitilen model sayısı arttıkça eğitim için gereken hesaplama gücü de artarken, çıkarım için gereken hesaplama gücü kullanıcı sayısıyla orantılı olarak artmaktadır.
Kullanım örnekleri
Model optimizasyonu, diğer şeylerin yanı sıra, şu amaçlar için faydalıdır:
- Hem bulut hem de uç cihazlar (örneğin mobil, IoT) için çıkarım işlemlerinde gecikmeyi ve maliyeti azaltmak.
- İşlem gücü, bellek ve/veya güç tüketimi konusunda kısıtlamalar bulunan uç cihazlarda modellerin dağıtılması.
- Kablosuz model güncellemeleri için veri paketi boyutunu küçültme.
- Sabit noktalı işlemlere yönelik kısıtlı veya optimize edilmiş donanımlarda yürütmeyi etkinleştirme.
- Özel amaçlı donanım hızlandırıcıları için modellerin optimize edilmesi.
Optimizasyon teknikleri
Model optimizasyonu alanı çeşitli teknikleri içerebilir:
- Budama ve yapılandırılmış budama yöntemleriyle parametre sayısını azaltın.
- Nicelleştirme ile temsil hassasiyetini azaltın.
- Orijinal model topolojisini, daha az parametreye sahip veya daha hızlı çalışan daha verimli bir topolojiyle güncelleyin. Örneğin, tensör ayrıştırma yöntemleri ve damıtma.
Araç setimiz , eğitim sonrası niceleme (kullanımdan kaldırıldı), niceleme farkındalıklı eğitim , budama ve kümelemeyi desteklemektedir. Araç seti ayrıca, çeşitli teknikleri birleştirmek için işbirlikçi optimizasyona yönelik deneysel destek de sağlamaktadır.
Nicelleştirme
Nicelleştirilmiş modeller, modelleri 32 bit kayan noktalı sayılar yerine 8 bit tamsayılar gibi daha düşük hassasiyetle temsil ettiğimiz modellerdir. Daha düşük hassasiyet, belirli donanımlardan en iyi şekilde yararlanmak için bir gerekliliktir.
Seyreklik ve budama
Seyrek modeller, operatörler (yani sinir ağı katmanları) arasındaki bağlantıların budandığı ve parametre tensörlerine sıfırların eklendiği modellerdir.
Kümeleme
Kümelenmiş modeller, orijinal modelin parametrelerinin daha az sayıda benzersiz değerle değiştirildiği modellerdir.
İşbirlikçi optimizasyon
Bu araç seti, işbirlikçi optimizasyon için deneysel destek sağlar. Bu sayede, çeşitli model sıkıştırma tekniklerini birleştirmenin avantajlarından yararlanabilir ve aynı zamanda nicelemeyi dikkate alan eğitim yoluyla doğruluğu artırabilirsiniz.