Bu belge, kullanım durumunuza nasıl uyduğunu belirlemenize yardımcı olmak için model budama hakkında bir genel bakış sağlar.
- Uçtan uca bir örneğe dalmak için Keras ile Budama örneğine bakın.
- Kullanım durumunuz için ihtiyaç duyduğunuz API'leri hızlı bir şekilde bulmak için kapsamlı budama kılavuzuna bakın.
- Cihazda çıkarım için budama uygulamasını keşfetmek için XNNPACK ile cihazda çıkarım için budama bölümüne bakın.
- Yapısal budama örneğini görmek için , 2'ye 4 seyreklik ile Yapısal budama öğreticisini çalıştırın.
genel bakış
Büyüklüğe dayalı ağırlık budaması, model seyrekliğini elde etmek için eğitim süreci sırasında model ağırlıklarını kademeli olarak sıfırlar. Seyrek modellerin sıkıştırılması daha kolaydır ve gecikme iyileştirmeleri için çıkarım sırasında sıfırları atlayabiliriz.
Bu teknik, model sıkıştırma yoluyla iyileştirmeler sağlar. Gelecekte, bu teknik için çerçeve desteği gecikme iyileştirmeleri sağlayacaktır. Minimum doğruluk kaybıyla model sıkıştırmada 6 kata kadar iyileştirme gördük.
Teknik, konuşma tanıma ve metinden konuşmaya gibi çeşitli konuşma uygulamalarında değerlendirilmekte ve çeşitli görsel ve çeviri modellerinde denenmiştir.
API Uyumluluk Matrisi
Kullanıcılar, aşağıdaki API'lerle budama uygulayabilir:
- Model oluşturma: Yalnızca Sıralı ve İşlevsel modellerle
tf.keras
- TensorFlow sürümleri: 1.14+ ve 2.x sürümleri için TF 1.x.
- TF 2.X paketine sahip
tf.compat.v1
ve TF 1.X paketine sahiptf.compat.v2
desteklenmez.
- TF 2.X paketine sahip
- TensorFlow yürütme modu: hem grafik hem de istekli
- Dağıtılmış eğitim: yalnızca grafik yürütme ile
tf.distribute
Aşağıdaki alanlarda destek eklemek yol haritamızda yer almaktadır:
Sonuçlar
Görüntü Sınıflandırma
modeli | Seyrek Olmayan İlk 1 Doğruluk | Rastgele Seyrek Doğruluk | rastgele seyreklik | Yapılandırılmış Seyrek Doğruluk | Yapılandırılmış Seyreklik |
---|---|---|---|---|---|
InceptionV3 | %78.1 | %78,0 | %50 | %75.8 | 2'ye 4 |
%76.1 | %75 | ||||
%74,6 | %87.5 | ||||
MobilnetV1 224 | %71.04 | %70.84 | %50 | %67.35 | 2'ye 4 |
MobilnetV2 224 | %71.77 | %69.64 | %50 | %66,75 | 2'ye 4 |
Modeller Imagenet üzerinde test edildi.
Tercüme
modeli | Seyrek olmayan BLEU | Seyrek BLEU | Kıtlık |
---|---|---|---|
GNMT TR | 26.77 | 26.86 | %80 |
26.52 | %85 | ||
26.19 | %90 | ||
GNMT DE-EN | 29.47 | 29.50 | %80 |
29.24 | %85 | ||
28.81 | %90 |
Modeller, geliştirme seti olarak news-test2013 ve test seti olarak news-test2015 ile birlikte WMT16 Almanca ve İngilizce veri setini kullanır.
Anahtar kelime tespit modeli
DS-CNN-L, uç cihazlar için oluşturulmuş bir anahtar kelime tespit modelidir. ARM yazılımının örnek deposunda bulunabilir.
modeli | Seyrek Olmayan Doğruluk | Yapılandırılmış Seyrek Doğruluk (2'ye 4 model) | Rastgele Seyrek Doğruluk (hedef seyrekliği %50) |
---|---|---|---|
DS-CNN-L | 95.23 | 94.33 | 94.84 |
Örnekler
Keras ile Prune eğitimine ek olarak, aşağıdaki örneklere bakın:
- Budama ile MNIST el yazısı rakam sınıflandırma görevinde bir CNN modeli eğitin: kod
- Budama ile IMDB duyarlılık sınıflandırma görevinde bir LSTM eğitin: kod
Arka plan için bkz. Budamak veya budamamak: model sıkıştırma için budamanın etkinliğini araştırmak [ kağıt ].