Dokumen ini memberikan ikhtisar tentang pemangkasan model untuk membantu Anda menentukan kesesuaiannya dengan kasus penggunaan Anda.
- Untuk menyelami contoh ujung ke ujung, lihat contoh Pemangkasan dengan Keras .
- Untuk menemukan API yang Anda butuhkan dengan cepat untuk kasus penggunaan Anda, lihat panduan komprehensif pemangkasan .
- Untuk mempelajari penerapan pemangkasan untuk inferensi pada perangkat, lihat Pemangkasan untuk inferensi pada perangkat dengan XNNPACK .
- Untuk melihat contoh pruning struktural, jalankan tutorial Structural pruning dengan 2 x 4 sparsity .
Ringkasan
Pemangkasan bobot berdasarkan besaran secara bertahap meniadakan bobot model selama proses pelatihan untuk mencapai sparity model. Model yang jarang lebih mudah dikompres, dan kita dapat melewati angka nol selama inferensi untuk peningkatan latensi.
Teknik ini membawa perbaikan melalui kompresi model. Di masa mendatang, dukungan kerangka kerja untuk teknik ini akan memberikan peningkatan latensi. Kami telah melihat peningkatan hingga 6x dalam kompresi model dengan kehilangan akurasi yang minimal.
Teknik ini sedang dievaluasi dalam berbagai aplikasi ucapan, seperti pengenalan ucapan dan text-to-speech, dan telah dicoba di berbagai model visi dan terjemahan.
Matriks Kompatibilitas API
Pengguna dapat menerapkan pemangkasan dengan API berikut:
- Pembuatan model:
tf.keras
hanya dengan model Sequential dan Functional - Versi TensorFlow: TF 1.x untuk versi 1.14+ dan 2.x.
-
tf.compat.v1
dengan paket TF 2.X dantf.compat.v2
dengan paket TF 1.X tidak didukung.
-
- Mode eksekusi TensorFlow: grafik dan bersemangat
- Pelatihan terdistribusi:
tf.distribute
hanya dengan eksekusi grafik
Ada di peta jalan kami untuk menambahkan dukungan di bidang-bidang berikut:
Hasil
Klasifikasi Gambar
Model | Akurasi Top-1 yang Tidak Jarang | Akurasi Jarang Acak | Keterpisahan Acak | Akurasi Jarang Terstruktur | Keterbatasan Terstruktur |
---|---|---|---|---|---|
AwalV3 | 78,1% | 78,0% | 50% | 75,8% | 2 kali 4 |
76,1% | 75% | ||||
74,6% | 87,5% | ||||
MobilenetV1 224 | 71,04% | 70,84% | 50% | 67,35% | 2 kali 4 |
MobilenetV2 224 | 71,77% | 69,64% | 50% | 66,75% | 2 kali 4 |
Model diuji pada Imagenet.
Terjemahan
Model | BLEU yang tidak jarang | BLEU jarang | Keterbatasan |
---|---|---|---|
GNMT EN-DE | 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% |
Model menggunakan dataset Jerman dan Inggris WMT16 dengan news-test2013 sebagai dev set dan news-test2015 sebagai test set.
Model pencarian kata kunci
DS-CNN-L adalah model pencarian kata kunci yang dibuat untuk perangkat edge. Itu dapat ditemukan di repositori contoh perangkat lunak ARM.
Model | Akurasi tidak jarang | Akurasi Jarang Terstruktur (pola 2 kali 4) | Akurasi Jarang Acak (target sparsity 50%) |
---|---|---|---|
DS-CNN-L | 95.23 | 94.33 | 94,84 |
Contoh
Selain tutorial Prune dengan Keras , lihat contoh berikut:
- Latih model CNN pada tugas klasifikasi digit tulisan tangan MNIST dengan pemangkasan: kode
- Latih LSTM pada tugas klasifikasi sentimen IMDB dengan pemangkasan: kode
Untuk latar belakang, lihat Memangkas, atau tidak memangkas: mengeksplorasi kemanjuran pemangkasan untuk kompresi model [ kertas ].