berita

Hanya parameter 3,8B yang diaktifkan, dan kinerjanya sebanding dengan model 7B yang sama!Pelatihan fine tuning dapat digunakan, dari Microsoft

2024-07-18

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Crecy berasal dari Kuil Aofei
    Qubit |. Akun publik QbitAI

Hanya 60% parameter yang perlu diaktifkan, ini dapat mencapai kinerja yang sebanding dengan model padat yang diaktifkan sepenuhnya.

Sebuah studi baru dari Microsoft Research Asia mengimplementasikan model tersebutAktivasi yang sangat jarang, secara signifikan mengurangi biaya penalaran.

Dan ini memiliki beragam penerapan, baik itu pelatihan dari awal, pelatihan berkelanjutan, atau penyesuaian, ini dapat memberikan dukungan yang efektif.



Metode tersebut disebutQ-Jarang, mencapai ketersebaran model di tingkat neuron, dan lebih terperinci dibandingkan metode lain. Dengan overhead penalaran yang sama, kinerja dan tingkat ketersebaran lebih baik.

Dalam namanya, Q mengacu pada Kuantisasi, yang berarti selain model biasa, jugaKompatibel dengan teknik kuantifikasi, cocok untuk model berbagai metode kuantifikasi.

Penulis lebih lanjut menyatakan bahwa jika Q-Sparse dikombinasikan dengan teknologi kuantifikasi model, pengurangan biaya dan peningkatan efisiensi yang lebih besar dapat dicapai.

Selain itu, saat mempelajari Q-Sparse, tim juga melakukan eksplorasi mendalam tentang hubungan antara ukuran parameter, tingkat ketersebaran, dan kinerja model, dan menemukan“Hukum Penskalaan” untuk optimasi inferensi model

Beberapa netizen menilai teknologi ini memang bagus dan lebih baik dari ReLU.



Yang lain mengaktifkan mode harapan, mengatakan bahwa akan sangat bagus jika ROCm (AMD) dapat mendukung teknologi ini lebih cepat daripada Nvidia.



Terapkan sparsifikasi menggunakan fungsi Top-K

Operasi inti yang dilakukan oleh Q-Sparse adalahTerapkan fungsi sparsifikasi Top-K ke tensor masukan

Secara khusus, arsitektur Transformer menggunakan lapisan linier nn.Linear (perkalian matriks) untuk proyeksi pada lapisan perhatian dan lapisan umpan maju, yang dapat dinyatakan sebagai Y=X·W^T. (di mana X adalah tensor masukan, W mewakili bobotnya, dan Y adalah tensor keluaran)

Di Q-Sparse, untuk tensor aktivasi masukan X, nilai absolutnya |X| terlebih dahulu dihitung dan diurutkan.Temukan elemen K dengan nilai absolut terbesar di antara mereka

K di sini adalah hyperparameter preset yang menentukan derajat sparsifikasi.

Q-Sparse kemudian akan membuat tensor topeng biner M dengan bentuk yang sama seperti X. Untuk posisi yang bersesuaian dengan elemen K dengan nilai absolut terbesar dalam suatu deret | adalah 0.

Kemudian, lakukan operasi perkalian Hadamard (perkalian berdasarkan elemen) pada tensor masukan X dan tensor mask M untuk mendapatkan tensor renggang.X_jarang

Selama proses propagasi maju, tensor sparse X_sparse akan menggantikan tensor input asli X untuk berpartisipasi dalam penghitungan selanjutnya (seperti perkalian matriks).

Karena sebagian besar elemen di X_sparse telah disetel ke nol, jumlah kebutuhan bandwidth komputasi dan memori dapat dikurangi secara signifikan.



Selama backpropagation, Q-Sparse menggunakanestimator pass-through(Straight-Through Estimator, STE) untuk menghitung gradien fungsi Top-K.

Dalam metode pelatihan tradisional, biasanya perlu menghitung gradien fungsi kerugian pada parameter jaringan, dan menggunakan metode penurunan gradien untuk memperbarui parameter guna meminimalkan kerugian.

Namun, ketika ada beberapa operasi yang tidak dapat dibedakan seperti kuantisasi dan Top-K dalam jaringan, penghitungan gradien akan menemui masalah, karena gradien keluaran dari operasi ini ke masukan adalah 0 di sebagian besar titik, sehingga mengakibatkan ketidakmampuan untuk menyebarkan gradien secara efektif.

STE menghindari masalah gradien hilang dengan meneruskan gradien secara langsung ke tensor sebelum sparsifikasi.

Pada propagasi mundur secara umum, gradien fungsi kerugian L ke x adalah ∂L/∂x=∂L/∂y⋅∂y/∂x, namun tidak dapat dihitung secara langsung karena tidak terdiferensiasi.

Solusi STE adalah dengan hanya menghitung gradien fungsi kerugian pada tensor renggang y, lalu menyalinnya langsung ke tensor asli x, yaitu langsung menggunakan ∂L/∂y sebagai estimasi ∂L/∂x.


△ Perbandingan gradien dengan/tanpa STE

Untuk lapisan feedforward, Q-Sparse menggunakanFungsi ReLU kuadratAlih-alih fungsi aktivasi ReLU konvensional, operasi persegi dapat lebih meningkatkan ketersebaran aktivasi (⊙ mewakili produk Hadamard).



Selain itu, untuk beradaptasi dengan model kuantisasi, Q-Sparse terlebih dahulu akan mengkuantisasi tensor masukan sebelum menerapkan ketersebaran Top-K untuk memastikan bahwa operasi ketersebaran kompatibel dengan representasi kuantisasi.



Diantaranya, ε adalah konstanta kecil yang digunakan untuk menghindari penyebut menjadi nol.

Khususnya, untuk bobot terkuantisasi 1-bit, Q-Sparse menggunakan fungsi kuantisasi berikut, dengan α adalah nilai absolut rata-rata dari tensor bobot W.



Parameter aktivasi 60% mencapai efek yang sama

Eksperimen komparatif menunjukkan bahwa Q-Sparse secara signifikan lebih baik daripada metode ReLU sebelumnya dalam hal tingkat ketersebaran dan kinerja model.



Mengenai efek spesifik Q-Sparse, penulis mengevaluasi kinerjanya pada tiga tugas: pelatihan awal, pelatihan lanjutan, dan penyesuaian.

Berlatih dari awalModel yang digunakan dalam percobaan adalah Llama. Hasilnya menunjukkan bahwa pada model 700M dan 7B, Q-Sparse yang menggunakan 70% top-K (yaitu, 40% dari tingkat ketersebaran keseluruhan) dapat mencapai kerugian pelatihan yang sebanding dengan padat. garis dasar.



melanjutkan pelatihanTujuannya adalah untuk merenggangkan model padat, dan objek percobaan di sini adalah Mistral-7B.

Hasilnya, ketika parameter aktivasi adalah 2,9B dan 3,8B, skor model di ARC, MMLU, dan kumpulan data lainnya tidak turun secara signifikan.



adamencari setelanDalam percobaan, untuk model Qwen-7B dan Mistral-7B, Q-Sparse menunjukkan hasil yang serupa dengan pelatihan lanjutan, menggunakan sekitar 60% parameter aktivasi untuk mencapai kinerja yang sangat mendekati model padat.



Hasil ini berarti bahwa, dengan performa yang sama, dibandingkan model padat,Model aktivasi jarang dapat secara signifikan mengurangi parameter aktivasi selama inferensi, sehingga mengurangi jumlah FLOPS yang dikonsumsi.

Untuk model kuantitatif, tim menerapkan Q-Sparse pada model BitNet b1.58 yang dikembangkan sendiri dan melakukan pelatihan dan evaluasi pada beberapa kumpulan data.

Terlihat bahwa pada skala 700M dan 7B, kecepatan konvergensi dan nilai fungsi kerugian akhir model terkuantisasi menggunakan Q-Sparse sebanding dengan model terkuantisasi tanpa Q-Sparse (BitNet b1.58).

Hal ini menunjukkan bahwa Q-SparseDapat diintegrasikan dengan mulus ke dalam model kuantitatif, tanpa mempengaruhi pelatihan dan konvergensi model secara signifikan.

Oleh karena itu, penulis yakin bahwa menggabungkan Q-Sparse dengan teknologi kuantisasi dapat lebih meningkatkan efisiensi model bahasa besar pada tahap inferensi.



Temukan “Hukum Penskalaan” baru untuk pengoptimalan inferensi

Selain mengevaluasi performa model tersebut saat menggunakan aktivasi renggang, penulis juga mengeksplorasi hubungan antara performa model, skala, dan tingkat ketersebaran, serta membuat beberapa penemuan baru.

Hukum penskalaan kinerja model aktivasi renggang: Penulis menemukan bahwa, mirip dengan model padat, kinerja model aktivasi renggang juga mengikuti hubungan penskalaan hukum pangkat.

Secara khusus, mengingat tingkat ketersebaran S, nilai fungsi kerugian L(N,S) model ketika konvergen dapat didekati dengan rumus berikut:



Diantaranya, N adalah jumlah parameter model; E adalah konstanta yang mewakili hilangnya model pada jarak tak terhingga; A(S) adalah faktor penskalaan yang terkait dengan tingkat ketersebaran S.

Hukum penskalaan ini menunjukkan bahwa,mencairkanjarangPerforma model aktivasi meningkat seiring bertambahnya ukuran model, namun laju peningkatan secara bertahap melambat



Pada saat yang sama, penulis menemukan bahwa performa model juga akan dipengaruhi oleh tingkat ketersebaran.

Seperti disebutkan di bagian hubungan antara skala parameter dan kinerja, A(S) adalah faktor skala yang terkait dengan tingkat ketersebaran S, yang dapat diperkirakan dengan rumus berikut:



dimana B dan C adalah konstanta, dan β adalah parameter yang mengontrol laju peluruhan eksponensial.

Rumus ini menunjukkan bahwa ketika tingkat ketersebaran S meningkat (model menjadi lebih jarang), artinyaTingkat ketersebaran yang lebih tinggi menyebabkan penurunan kinerja, tingkat penurunannya eksponensial.



Berdasarkan temuan di atas, penulis memperoleh tingkat ketersebaran optimal S* untuk inferensi, yang dapat meminimalkan nilai fungsi kerugian model ketika anggaran (operasi floating point selama inferensi) konstan.

Untuk model presisi penuh (FP32), tingkat sparsity optimal adalah sekitar 45,58%; sedangkan tingkat sparsity optimal untuk model presisi rendah (seperti 1,58-bit) lebih tinggi, sekitar 61,25%.



Penulis mengamati bahwa seiring bertambahnya ukuran model, kesenjangan kinerja antara model aktivasi jarang dan model padat secara bertahap menyempit.

Hal ini dapat dijelaskan dari hukum penskalaan: ketika ukuran model N cenderung tak terhingga, nilai fungsi kerugian model aktivasi renggang cenderung L(∞,S)=E, sedangkan nilai fungsi kerugian model padat cenderung L (∞,0 )=E.

Artinya, pada skala yang sangat besar, model aktivasi sparse dapat mencapai performa yang sebanding dengan model padat, sehingga memberikan referensi yang berguna untuk merancang dan melatih model aktivasi sparse skala besar.

Alamat makalah: https://arxiv.org/abs/2407.10969