Rumah > Artikel > Peranti teknologi > LLM pertama yang menyokong pengkuantitian titik terapung 4-bit ada di sini, menyelesaikan masalah penggunaan LLaMA, BERT, dsb.
Mampatan model bahasa besar (LLM) sentiasa menarik perhatian ramai, dan kuantisasi selepas latihan (Post-training Quantization) adalah salah satu algoritma yang biasa digunakan Walau bagaimanapun, kebanyakan kaedah PTQ sedia ada adalah kuantisasi integer, dan apabila nombornya daripada bit kurang daripada 8, ketepatan model akan jatuh banyak selepas pengkuantitian. Berbanding dengan kuantisasi Integer (INT), kuantisasi Titik Terapung (FP) boleh mewakili pengedaran ekor panjang dengan lebih baik, jadi semakin banyak platform perkakasan mula menyokong kuantisasi FP. Artikel ini memberikan penyelesaian kepada kuantifikasi FP model besar. Artikel diterbitkan di EMNLP 2023.
Untuk memahami artikel ini, anda mesti mempunyai pengetahuan asas terlebih dahulu tentang Format Titik Terapung dan Kuantiti Titik Terapung Pertama, Nombor Titik Terapung boleh dinyatakan dengan formula berikut:
s mewakili bit tanda ), m mewakili bit mantissa, dan e mewakili bit eksponen. p ialah nilai antara 0 dan 2^e - 1, digunakan untuk menunjukkan selang eksponen mana nombor semasa harus dibahagikan, d mengambil nilai 0 atau 1, digunakan untuk menunjukkan bit mantissa ke-i. b ialah pincang, nilai integer yang digunakan untuk melaraskan selang eksponen.
Dalam bahagian seterusnya, kami akan menerangkan cara pengkuantitian titik terapung berfungsi. Pertama, nilai input mesti melalui langkah yang dipanggil "skala dan klip." Langkah ini mula-mula menjepit nilai input kepada julat maksimum yang boleh diwakili oleh nombor titik terapung (±Qmaks. Formula pengiraan khusus adalah seperti berikut:
Anda boleh melihatnya serupa dengan kuantisasi integer, FP). kuantisasi juga akan menambah -Faktor skala ketepatan penuh (faktor skala) untuk menskalakan input kepada selang yang sesuai. Apabila mengira pendaraban matriks, faktor penskalaan dikira secara berasingan daripada pendaraban matriks bit rendah, jadi ia tidak menyebabkan overhed yang besar. Selepas memasukkan faktor penskalaan ketepatan penuh ini, tensor terkuantisasi yang berbeza boleh dipotong kepada selang nilai maksimum dan minimum yang berbeza dengan sewajarnya. Dalam penggunaan sebenar, selang pengkuantitian yang diperlukan akan ditentukan berdasarkan julat nilai tensor input, dan kemudian bias yang sepadan akan diperoleh menggunakan formula (4). Ambil perhatian bahawa bias dalam persamaan (4) boleh digunakan sebagai faktor penskalaan untuk nilai sebenar, lihat persamaan (2)(3).
Langkah seterusnya dalam kuantifikasi titik terapung adalah untuk menetapkan nilai dalam selang kuantisasi yang ditentukan kepada selang kuantisasi yang sepadan Proses ini dipanggil perbandingan dan kuantisasi:
menggambarkan rajah di atas. secara intuitif Dalam proses pengkuantitian, nilai input semasa dikuantisasi ke dalam selang pengkuantitian yang berbeza selepas dibandingkan dengan Formula 5.
Selepas mendapat pengaktifan dan berat terkuantisasi, faktor penskalaan di sini dikira terlebih dahulu seperti yang dinyatakan di atas, dan pendaraban matriks cekap berikut dicapai untuk melengkapkan pecutan pendaraban matriks:
ini artikel menunjukkan Ketepatan pengkuantitian FP berkait rapat dengan penetapan bit eksponen dan selang pengkuantitian.
Dalam kertas sebelum ini, telah disahkan bahawa terdapat perbezaan besar dalam ralat pengkuantitian antara format FP yang berbeza (iaitu, tetapan bit eksponen/bit mantissa bagi nombor titik terapung). Hanya apabila format FP yang sesuai dipilih, kuantisasi FP boleh mewakili taburan long-tail lebih baik daripada kuantisasi INT
🎜🎜🎜🎜Artikel ini mencadangkan penyelesaian, iaitu menggunakan algoritma pengkuantitian titik terapung berasaskan carian untuk menentukan tetapan bit eksponen dan bit mantissa yang paling sesuai bagi nombor titik terapung dan selang pengkuantitian sepadan
dalam cara carian yang komprehensif. Di samping itu, dalam pelbagai jenis model Transformer (Bert, LLaMA, ViT), terdapat satu lagi fenomena yang memberi kesan serius kepada kesukaran kuantifikasi: iaitu, susunan perbezaan magnitud antara saluran yang berbeza dalam pengaktifan model adalah sangat besar, dan saluran yang sama Susunan magnitud adalah sangat konsisten. Kajian terdahulu LLM.int8 dan SmoothQuant juga menemui fenomena yang sama, tetapi artikel ini menunjukkan bahawa fenomena ini bukan sahaja wujud dalam LLM, tetapi juga menemui pengagihan pengaktifan yang serupa dalam model Transformer lain (ditunjukkan di bawah, LLaMA, BERT dan DeIT-S) Fenomena:
Seperti yang anda lihat dari gambar, saluran yang luar biasa besar itu jauh lebih besar daripada saluran yang selebihnya, jadi dalam proses pengiraan tensor pengaktifan, ketepatan pengkuantitian akan ditentukan sebahagian besarnya oleh outlier ini menekan selang pengkuantitian nilai saluran lain, akhirnya mengurangkan kesan keseluruhan ke atas ketepatan pengkuantitian. Ini akan menyebabkan keputusan akhir pengkuantitian runtuh, terutamanya apabila bilangan bit menurun ke tahap tertentu. Perlu diingat bahawa hanya pengkuantitian dari segi tensor dan dari segi token boleh mengekstrak faktor penskalaan semasa pendaraban matriks yang cekap, manakala pengkuantitian mengikut saluran tidak menyokong pendaraban matriks yang cekap, seperti yang ditunjukkan dalam rajah di bawah.
Untuk menyelesaikan masalah dan mengekalkan pendaraban matriks yang cekap pada masa yang sama, artikel ini menggunakan sejumlah kecil set data pembetulan untuk pra-pengiraan nilai maksimum setiap saluran yang diaktifkan dan mengira penskalaan faktor. Faktor penskalaan kemudiannya dibahagikan kepada nombor nyata untuk setiap tensor didarab dengan kuasa 2 untuk setiap saluran. Kuasa 2 ini boleh diwakili oleh sisihan eksponen dalam FP. Keseluruhan proses boleh dinyatakan dengan formula berikut:
Selanjutnya, selepas penentukuran selesai, bias eksponen setiap saluran tidak akan berubah lagi, jadi ia boleh dikira bersama dengan pengkuantitian berat. , integrasikan bias eksponen setiap saluran ini ke dalam pemberat terkuantasi untuk meningkatkan ketepatan pengkuantitian. Proses lengkapnya adalah seperti berikut:
Selepas pra-offset, dapat diperhatikan bahawa kedudukan offset ketepatan penuh setiap saluran dalam fungsi pengaktifan asal menjadi faktor penskalaan sebenar berasaskan tensor, Pada masa yang sama, pincang integer terurai dialihkan ke kedudukan pincang integer asal dalam pemberat Untuk butiran, lihat formula 4
Oleh itu, kaedah ini (pre-shifted exponent bias) boleh mencapai hasil yang lebih baik mengekalkan prinsip pendaraban matriks yang cekap. Untuk meningkatkan ketepatan pengkuantitian, paparan intuitif kaedah ditunjukkan dalam rajah di bawah:
Akhir sekali, artikel ini menunjukkan kaedah Kuantisasi Titik Terapung (FPQ) Pada LLaMA , model BERT dan ViTs, pengkuantitian 4-bit telah mencapai lebih banyak daripada hasil SOTA. Khususnya, artikel ini menunjukkan bahawa model LLaMA-13B terkuantisasi 4-bit mencapai skor purata 63.1 pada tugas inferens sampel sifar, iaitu hanya 5.8 mata lebih rendah daripada model ketepatan penuh dan mempunyai jumlah pelicinan yang lebih tinggi daripada sebelumnya. Kaedah SOTA 12.7, yang kini merupakan salah satu daripada beberapa skim pengkuantitian 4-bit yang boleh dilaksanakan.
Atas ialah kandungan terperinci LLM pertama yang menyokong pengkuantitian titik terapung 4-bit ada di sini, menyelesaikan masalah penggunaan LLaMA, BERT, dsb.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!