Önemsiz ağırlıkları kırpın

Bu belge, kullanım durumunuza nasıl uyduğunu belirlemenize yardımcı olmak için model budama hakkında bir genel bakış sağlar.

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 sahip tf.compat.v2 desteklenmez.
  • 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 ].