Dokumen ini memberikan gambaran umum tentang pemangkasan model untuk membantu Anda menentukan kesesuaiannya dengan kasus penggunaan Anda.
- Untuk mendalami contoh end-to-end, lihat contoh Pemangkasan dengan Keras .
- Untuk menemukan API yang Anda perlukan untuk kasus penggunaan Anda dengan cepat, lihat panduan komprehensif pemangkasan .
- Untuk mempelajari penerapan pemangkasan untuk inferensi pada perangkat, lihat Pemangkasan untuk inferensi pada perangkat dengan XNNPACK .
- Untuk melihat contoh pemangkasan struktural, jalankan tutorial Pemangkasan struktural dengan sparsity 2 kali 4 .
Ringkasan
Pemangkasan bobot berdasarkan besaran secara bertahap menghilangkan bobot model selama proses pelatihan untuk mencapai ketersebaran model. Model renggang lebih mudah dikompres, dan kita dapat melewatkan angka nol selama inferensi untuk peningkatan latensi.
Teknik ini membawa peningkatan melalui kompresi model. Di masa depan, dukungan kerangka kerja untuk teknik ini akan memberikan peningkatan latensi. Kami telah melihat peningkatan hingga 6x dalam kompresi model dengan sedikit kehilangan akurasi.
Teknik ini sedang dievaluasi dalam berbagai aplikasi ucapan, seperti pengenalan ucapan dan text-to-speech, dan telah diujicobakan pada berbagai model visi dan terjemahan.
Matriks Kompatibilitas API
Pengguna dapat menerapkan pemangkasan dengan API berikut:
- Pembuatan model:
keras
hanya dengan model Sekuensial dan Fungsional - 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 dalam peta jalan kami untuk menambahkan dukungan di bidang-bidang berikut:
Hasil
Klasifikasi Gambar
Model | Akurasi Top-1 yang Tidak Jarang | Akurasi Jarang Acak | Ketersebaran Acak | Akurasi Jarang Terstruktur | Ketersebaran 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 di Imagenet.
Terjemahan
Model | BLEU yang tidak jarang | BLEU jarang | ketersebaran |
---|---|---|---|
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% |
Modelnya 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 yang Tidak Jarang | Akurasi Jarang Terstruktur (pola 2 kali 4) | Akurasi Jarang Acak (target ketersebaran 50%) |
---|---|---|---|
DS-CNN-L | 95.23 | 94.33 | 94,84 |
Contoh
Selain tutorial Pangkas dengan Keras , lihat contoh berikut:
- Latih model CNN pada tugas klasifikasi digit tulisan tangan MNIST dengan kode pemangkasan:
- Latih LSTM pada tugas klasifikasi sentimen IMDB dengan pemangkasan: kode
Untuk latar belakang, lihat Untuk memangkas, atau tidak memangkas: mengeksplorasi kemanjuran pemangkasan untuk kompresi model [ makalah ].