Pengoptimalan Kolaboratif

Dikelola oleh Arm ML Tooling

Dokumen ini memberikan ikhtisar tentang API eksperimental untuk menggabungkan berbagai teknik guna mengoptimalkan model pembelajaran mesin untuk penerapan.

Gambaran

Optimasi kolaboratif adalah proses menyeluruh yang mencakup berbagai teknik untuk menghasilkan model yang, pada penerapan, menunjukkan keseimbangan terbaik dari karakteristik target seperti kecepatan inferensi, ukuran model, dan akurasi.

Ide optimasi kolaboratif adalah untuk membangun teknik individu dengan menerapkannya satu demi satu untuk mencapai efek optimasi yang terakumulasi. Berbagai kombinasi pengoptimalan berikut dimungkinkan:

Masalah yang muncul ketika mencoba untuk menyatukan teknik-teknik ini adalah bahwa menerapkan satu biasanya menghancurkan hasil dari teknik sebelumnya, merusak manfaat keseluruhan dari menerapkan semuanya secara bersamaan; misalnya, pengelompokan tidak mempertahankan sparity yang diperkenalkan oleh API pemangkasan. Untuk mengatasi masalah ini, kami memperkenalkan teknik optimasi kolaboratif eksperimental berikut:

Ini menyediakan beberapa jalur penerapan yang dapat digunakan untuk mengompresi model pembelajaran mesin dan memanfaatkan akselerasi perangkat keras pada waktu inferensi. Diagram di bawah ini menunjukkan beberapa jalur penerapan yang dapat dieksplorasi dalam mencari model dengan karakteristik penerapan yang diinginkan, di mana simpul daun adalah model siap-penyebaran, yang berarti mereka terkuantisasi sebagian atau seluruhnya dan dalam format tflite. Isi hijau menunjukkan langkah-langkah di mana pelatihan ulang/penyesuaian diperlukan dan batas merah putus-putus menyoroti langkah-langkah pengoptimalan kolaboratif. Teknik yang digunakan untuk mendapatkan model pada node tertentu ditunjukkan pada label yang sesuai.

collaborative optimization

Jalur penyebaran langsung, hanya kuantisasi (pasca-pelatihan atau QAT) dihilangkan pada gambar di atas.

Idenya adalah untuk mencapai model yang dioptimalkan sepenuhnya pada tingkat ketiga dari pohon penerapan di atas; namun, salah satu tingkat pengoptimalan lainnya dapat terbukti memuaskan dan mencapai trade-off latensi/akurasi inferensi yang diperlukan, dalam hal ini tidak diperlukan pengoptimalan lebih lanjut. Proses pelatihan yang direkomendasikan adalah secara iteratif melalui tingkat pohon penerapan yang berlaku untuk skenario penerapan target dan melihat apakah model memenuhi persyaratan latensi inferensi dan, jika tidak, gunakan teknik pengoptimalan kolaboratif yang sesuai untuk mengompresi model lebih jauh dan ulangi sampai model dioptimalkan sepenuhnya (dipangkas, dikelompokkan, dan dikuantisasi), jika diperlukan.

Gambar di bawah menunjukkan plot densitas kernel bobot sampel yang melalui jalur pengoptimalan kolaboratif.

collaborative optimization density plot

Hasilnya adalah model penerapan terkuantisasi dengan jumlah nilai unik yang berkurang serta sejumlah besar bobot jarang, tergantung pada ketersebaran target yang ditentukan pada waktu pelatihan. Selain keunggulan kompresi model yang signifikan, dukungan perangkat keras tertentu dapat memanfaatkan model yang jarang dan berkelompok ini untuk mengurangi latensi inferensi secara signifikan.

Hasil

Di bawah ini adalah beberapa hasil akurasi dan kompresi yang kami peroleh saat bereksperimen dengan jalur optimasi kolaboratif PQAT dan CQAT.

Pelatihan sadar kuantisasi (PQAT) yang melestarikan ketersebaran

Model item Dasar Model yang Dipangkas (50% sparity) Model QAT Model PQAT
DS-CNN-L Akurasi FP32 Top1 95,23% 94,80% (INT palsu8) 94,721% (INT palsu8) 94,128%
Kuantisasi bilangan bulat penuh INT8 94,48% 93,80% 94,72% 94,13%
Kompresi 528.128 → 434.879 (17,66%) 528.128 → 334.154 (36,73%) 512,224 → 403.261 (21,27%) 512,032 → 303.997 (40,63%)
Mobilenet_v1-224 Akurasi 1 Teratas FP32 70,99% 70,11% (INT palsu8) 70,67% (INT palsu8) 70,29%
Kuantisasi bilangan bulat penuh INT8 69,37% 67,82% 70,67% 70,29%
Kompresi 4.665.520 → 3.880.331 (16,83%) 4.665.520 → 2.939.734 (37.00%) 4.569.416 → 3.808.781 (16,65%) 4.569.416 → 2.869.600 (37,20%)

Pelatihan sadar kuantisasi (CQAT) yang melestarikan cluster

Model item Dasar Model Berkelompok Model QAT Model CQAT
Mobilenet_v1 di CIFAR-10 Akurasi FP32 Top1 94,88% 94,48% (INT Palsu8) 94,80% (INT palsu8) 94,60%
Kuantisasi bilangan bulat penuh INT8 94,65% 94,41% 94,77% 94,52%
Ukuran 3,00 MB 2,00 MB 2.84 MB 1,94 MB
Mobilenet_v1 di ImageNet Akurasi 1 Teratas FP32 71,07% 65,30% (INT palsu8) 70,39% (INT Palsu8) 65,35%
Kuantisasi bilangan bulat penuh INT8 69,34% 60,60% 70,35% 65,42%
Kompresi 4.665.568 → 3.886.277 (16,7%) 4.665.568 → 3.035.752 (34,9%) 4.569.416 → 3.804.871 (16,7%) 4.569.472 → 2.912.655 (36,25%)

Contoh

Untuk contoh end-to-end dari teknik optimasi kolaboratif dijelaskan di sini, silakan merujuk ke CQAT , PQAT , sparsity-melestarikan pengelompokan , dan PCQAT misalnya notebook.