Mengukur Model NLP DistilBERT Humor

Dec 13 2022
Beralih dari FP32 ke INT8 untuk Inferensi Lebih Cepat dengan Optimum Intel dan Intel Neural Compressor
Kuantisasi adalah teknik kompresi model yang membantu mengurangi waktu inferensi. Kuantisasi dari tipe 32-bit floating-point (FP32) ke 8-bit integer (INT8) meningkatkan kinerja hanya dengan sedikit penurunan akurasi.
Foto oleh Tengyart di Unsplash

Kuantisasi adalah teknik kompresi model yang membantu mengurangi waktu inferensi. Kuantisasi dari tipe 32-bit floating-point (FP32) ke 8-bit integer (INT8) meningkatkan kinerja hanya dengan sedikit penurunan akurasi. Umumnya, ukuran model dapat menyusut 4–5x, dan waktu inferensi dapat dikurangi lebih dari 3x ( sumber ).

Pertama-tama kita harus mengimpor beberapa pustaka lagi untuk kuantisasi, termasuk neural_compressordan optimum.intel:

Saya menyetel torchperangkat ke cpu:

Kita sekarang dapat menerapkan kuantisasi. Lihat contoh klasifikasi teks di optimum.intel repositori GitHub untuk mempelajari lebih lanjut. Mari memuat model yang telah dilatih sebelumnya:

Saya menyiapkan pelatih untuk menggunakan IncTraineratau kelas Intel® Neural Compressor Trainer:

Semuanya sekarang siap untuk menjalankan kuantisasi. Perhatikan bahwa saya menggunakan file konfigurasi yang disebut quantization.yml diunduh dari repositori optimum.intel GitHub . Anda dapat mengubah parameter konfigurasi dalam file ini untuk menyesuaikan bagaimana model dikuantisasi. Di sini, saya menerapkan kuantisasi dinamis pasca-pelatihan, sebuah teknik yang tidak memerlukan pelatihan ulang, tetapi biasanya mengorbankan sedikit akurasi:

Kami kemudian dapat melanjutkan dan menjalankan kuantisasi dengan optimizer.fit():

Sekarang kami memiliki model yang dioptimalkan, kami dapat membandingkannya dengan model dasar:

Kita dapat menyimpan model terkuantisasi ke disk, dan menyediakan model FP32 dan INT8 yang baru dikuantisasi:

Model INT8 disimpan ke disk

Menjalankan evaluasi dengan model FP32, didapatkan:

Dan untuk INT8:

Akurasi kurang lebih sama tetapi model INT8 1,5x lebih cepat dari model FP32. Kode lengkapnya dapat ditemukan di GitHub di sini .

Anda dapat menginstal Intel Neural Compressor mandiri atau sebagai bagian dari Intel AI Analytics Toolkit . Untuk mempelajari lebih lanjut tentang solusi perangkat keras dan perangkat lunak AI Intel, kunjungi di sini .