Rumah > Artikel > Peranti teknologi > Algoritma pemampatan 100 bilion model pertama SparseGPT ada di sini, mengurangkan kos kuasa pengkomputeran sambil mengekalkan ketepatan yang tinggi
Sejak kemunculan GPT-3 pada tahun 2020, populariti ChatGPT sekali lagi membawa model bahasa berskala besar generatif keluarga GPT ke dalam perhatian, dan mereka telah menunjukkan prestasi yang kukuh dalam pelbagai tugas.
Walau bagaimanapun, skala besar model itu juga membawa peningkatan dalam kos pengkomputeran dan peningkatan dalam kesukaran penggunaan.
Sebagai contoh, model GPT‑175B menduduki sekurang-kurangnya 320GB ruang storan dalam format separuh ketepatan (FP16) Semasa inferens, sekurang-kurangnya lima GPU A100 dengan 80 GB ruang penyimpanan diperlukan.
Mampatan model pada masa ini merupakan kaedah yang biasa digunakan untuk mengurangkan kos pengiraan model besar, tetapi setakat ini, hampir semua kaedah pemampatan GPT sedia ada memfokuskan kepada pengkuantitian (kuantisasi), iaitu mengurangkan ketepatan perwakilan berangka bagi satu pemberat.
Kaedah pemampatan model lain ialah pemangkasan, yang membuang elemen rangkaian daripada pemberat individu (pencantasan tidak berstruktur) kepada komponen berbutir lebih tinggi seperti matriks berat seluruh baris/lajur (pencantasan berstruktur ). Pendekatan ini berfungsi dengan baik dalam model bahasa penglihatan dan berskala lebih kecil, tetapi ia mengakibatkan kehilangan ketepatan, memerlukan latihan semula model yang meluas untuk memulihkan ketepatan, jadi kos menjadi semula apabila melibatkan model berskala besar seperti GPT . Walaupun terdapat beberapa kaedah pemangkasan satu pukulan yang boleh memampatkan model tanpa latihan semula, kaedah ini terlalu intensif secara pengiraan dan sukar untuk digunakan pada model dengan berbilion parameter.
Jadi untuk model besar bersaiz GPT-3, adakah terdapat cara untuk memangkasnya dengan tepat sambil mengekalkan kehilangan ketepatan yang minimum dan mengurangkan kos pengiraan?
Baru-baru ini, dua penyelidik dari Institut Sains dan Teknologi Austria (ISTA), Elias Frantar dan Dan Alistah, bekerjasama dalam kajian buat kali pertama menyasarkan skala model 10 hingga 100 bilion parameter Kaedah pemangkasan satu pukulan yang tepat SparseGPT dicadangkan.
Alamat kertas: https://arxiv.org/pdf/2301.00774.pdf
SparseGPT boleh memangkas model siri GPT kepada 50% jarang dalam satu langkah tanpa sebarang latihan semula. Model terbesar yang tersedia untuk umum, GPT-175B, mencapai pemangkasan ini hanya dalam beberapa jam menggunakan GPU tunggal.
Selain itu, SparseGPT juga sangat tepat dan boleh meminimumkan kehilangan ketepatan. Sebagai contoh, apabila melaksanakan SparseGPT pada model sumber terbuka terbesar pada masa ini OPT‑175B dan BLOOM‑176B, sparsity sebanyak 60% boleh dicapai sambil meminimumkan kehilangan ketepatan.
Penyelidikan ke atas model yang sangat besar telah sangat aktif sejak beberapa tahun kebelakangan ini, tetapi setakat ini, belum ada satu pun. dengan lebih daripada 10 bilion parameter Model ini mampu mencapai sparsification tinggi yang sangat tepat.
Kaedah sedia ada mempunyai keperluan kos pengiraan yang terlalu tinggi dengan mengambil OBC, kaedah pasca latihan yang paling tepat pada masa ini, sebagai contoh, ia mengambil masa lebih daripada 1 jam untuk model berbilion parameter. untuk melakukan pemampatan. Kaedah pasca latihan yang paling cepat diketahui, AdaPrune, juga mengambil masa beberapa minit untuk memangkas model bilion parameter, dan pada kadar ini, model pada skala GPT-3 dianggarkan memerlukan ratusan jam (minggu) pengiraan.
Kebanyakan kaedah pemangkasan sedia ada seperti pemangkasan magnitud beransur-ansur memerlukan latihan semula yang meluas selepas langkah pemangkasan untuk memulihkan ketepatan, manakala Model skala GPT biasanya memerlukan sejumlah besar pengiraan dan pelarasan parameter untuk latihan atau denda. -penalaan, yang menjadikan kaedah berasaskan latihan semula sukar digunakan. Oleh itu, menggunakan pendekatan pemangkasan progresif ini pada skala GPT tidak boleh dilaksanakan.
Kerja oleh pasukan ISTA ini mencadangkan kaedah SparseGPT, yang boleh menjalankan model dengan lebih daripada 100 bilion parameter pada satu GPU dalam beberapa jam, dan cukup tepat untuk memangkas model kepada 50 %-60% tahap sparsity tanpa merendahkan prestasi dengan ketara.
Teras SparseGPT ialah algoritma regresi jarang anggaran skala besar baharu yang boleh digeneralisasikan kepada corak separa berstruktur (2:4 dan 4:8) dan serasi dengan Compatible sedia ada dengan kaedah pengiraan berat.
Kebanyakan kaedah pemangkasan sedia ada, seperti pemangkasan magnitud progresif, memerlukan pemangkasan Langkah-langkah diikuti dengan latihan semula yang meluas untuk memulihkan ketepatan, dan model skala GPT selalunya memerlukan sejumlah besar pengiraan dan pelarasan parameter untuk latihan atau penalaan halus, yang menjadikan kaedah berasaskan latihan semula sukar digunakan. Oleh itu, menggunakan pendekatan pemangkasan progresif ini pada skala GPT tidak boleh dilaksanakan.
SparseGPT ialah kaedah pasca latihan untuk model skala GPT kerana ia tidak melakukan sebarang penalaan halus.
Pada masa ini terdapat banyak kaedah untuk mengukur pasca latihan model skala GPT, seperti ZeroQuant, LLM.int8() dan nuQmm, dsb., tetapi pengkuantitian pengaktifan mungkin sukar disebabkan kehadiran ciri yang tidak normal. GPTQ menggunakan anggaran tertib kedua untuk mengkuantumkan pemberat dengan tepat kepada 2‑4 bit, sesuai untuk model terbesar, dan apabila digabungkan dengan teras GPU yang cekap, boleh membawa kepada pecutan inferens 2‑5x.
Tetapi memandangkan GPTQ memfokuskan pada sparsifikasi dan bukannya kuantifikasi, SparseGPT ialah pelengkap kepada kaedah kuantifikasi, dan kedua-duanya boleh digunakan dalam kombinasi.
Selain itu, selain pemangkasan tidak berstruktur, SparseGPT juga sesuai untuk corak separa berstruktur, seperti format jarang n:m popular, yang boleh digunakan dalam nisbah 2 :4 pada GPU Ampere NVIDIA Mencapai pecutan.
Setelah menilai keberkesanan model mampatan SparseGPT, penyelidik mendapati bahawa untuk bahasa besar kesukaran sparsification model adalah berkadar dengan saiz model Berbanding dengan kaedah pemangkasan magnitud (Magnitud Pruning) yang sedia ada, menggunakan SparseGPT boleh mencapai tahap yang lebih jarang model sambil mengekalkan kehilangan ketepatan minimum.
Para penyelidik melaksanakan SparseGPT pada PyTorch dan menggunakan perpustakaan Transformers HuggingFace untuk memproses model dan set data, semuanya pada satu GPU NVIDIA A100 dengan memori 80GB. Di bawah keadaan percubaan sedemikian, SparseGPT boleh mencapai sparsifikasi lengkap model parameter 175 bilion dalam kira-kira 4 jam.
Para penyelidik menjarakkan lapisan Transformer secara berurutan, yang mengurangkan keperluan memori dengan ketara dan juga meningkatkan ketepatan pemprosesan semua lapisan secara selari dengan ketara. Semua eksperimen mampatan dilakukan sekali gus tanpa sebarang penalaan halus.
Objek penilaian adalah terutamanya model siri OPT, yang merangkumi satu set model daripada 125 juta hingga 175 bilion parameter, menjadikannya mudah untuk memerhati prestasi penskalaan pemangkasan berbanding saiz model . Selain itu, 176 bilion varian parameter BLOOM telah dianalisis.
Dari segi set data dan penunjuk penilaian, percubaan menggunakan kebingungan set ujian WikiText2 asal untuk menilai ketepatan kaedah pemampatan SparseGPT Pada masa yang sama, untuk meningkatkan kebolehtafsiran, beberapa metrik ketepatan ZeroShot. Selain itu, penilaian memfokuskan pada ketepatan model jarang berbanding garis dasar model padat, dan bukannya pada nombor mutlak.
Para penyelidik memangkas semua lapisan linear keseluruhan siri model OPT (tidak termasuk pembenaman dan pengepala standard) untuk mencapai 50% sparsity tidak berstruktur dan penuh 4:8 atau penuh 2:4 separa berstruktur jarang, hasilnya adalah seperti yang ditunjukkan di bawah.
Ia boleh dilihat bahawa ketepatan model yang dimampatkan menggunakan pemangkasan amplitud adalah lemah pada semua saiz, dan model menjadi lebih teruk Semakin besar nilai, semakin besar ketepatan berkurangan.
Trend model yang dimampatkan menggunakan SparseGPT adalah berbeza Di bawah 2.7 bilion parameter, kehilangan kebingungan adalah
Arah aliran umum ialah model yang lebih besar lebih berkemungkinan untuk dijilapkan pada tahap yang tetap Pada tahap kezaliman , penurunan ketepatan relatif model jarang berbanding model padat mengecut apabila saiz model bertambah. Penulis membuat spekulasi bahawa ini mungkin disebabkan oleh tahap parameterisasi mereka yang lebih tinggi dan imuniti bunyi yang lebih besar secara keseluruhan.
Berbanding dengan garis dasar model padat, pada skala maksimum, apabila menggunakan SparseGPT untuk memampatkan model kepada sparsity 4:8 dan 2:4, peningkatan kebingungan hanya 0.11 dan 0.39 masing-masing . Keputusan ini bermakna bahawa kita boleh mencapai kelajuan 2x ganda dalam amalan, dan GPU NVIDIA Ampere komersial sudah menyokong sparsity 2:4.
Pengarang mengkaji hubungan antara prestasi dua ratus bilion model, OPT-175B dan BLOOM-176B, dan tahap keterbatasan yang ditimbulkan dengan menggunakan SparseGPT Hasilnya ditunjukkan dalam rajah di bawah.
Dapat dilihat bahawa untuk model OPT-175B, pemangkasan amplitud boleh mencapai sehingga 10% jarang, padat Kemudian akan ada kehilangan ketepatan yang lebih besar. SparseGPT juga boleh mencapai 60% sparsity dengan peningkatan kebingungan.
Untuk model BLOOM-176B, manakala pemangkasan amplitud boleh mencapai 30% sparsity tanpa kehilangan ketepatan yang ketara, sebagai perbandingan, SparseGPT boleh mencapai sparsity 50%, peningkatan 1.66x ganda. Selain itu, pada 80% sparsity, kekeruhan model yang dimampatkan menggunakan SparseGPT masih kekal pada tahap yang munasabah, tetapi apabila pemangkasan amplitud mencapai 40% sparsity OPT dan 60% sparsity BLOOM, kebingungan sudah > 100.
Selain itu, SparseGPT mampu mengeluarkan kira-kira 100 bilion pemberat daripada model ini, dengan kesan terhad pada ketepatan model.
Akhir sekali, kajian ini menunjukkan buat pertama kalinya bahawa model pra-latihan berskala besar berdasarkan Transformer boleh dimampatkan kepada sparsity tinggi melalui pemangkasan berat sekali tanpa sebarang latihan semula dan kehilangan ketepatan kecil.
Perlu diambil perhatian bahawa pendekatan SparseGPT adalah setempat: selepas setiap langkah pemangkasan, ia melakukan kemas kini berat yang direka untuk mengekalkan hubungan input-output setiap lapisan. Kemas kini ini dikira tanpa sebarang global maklumat kecerunan. Oleh itu, tahap parameterisasi yang tinggi bagi model GPT berskala besar nampaknya membolehkan pendekatan ini mengenal pasti secara langsung model yang jarang tepat di kalangan "jiran" model pra-latihan padat.
Selain itu, kerana penunjuk ketepatan (perplexity) yang digunakan dalam eksperimen adalah sangat sensitif, output model jarang yang dijana nampaknya berkait rapat dengan output model padat.
Penyelidikan ini mempunyai kepentingan positif yang besar dalam mengurangkan had kuasa pengkomputeran model besar Satu hala tuju kerja masa hadapan ialah mengkaji mekanisme penalaan halus model besar untuk memulihkan ketepatan masa yang sama, Memperluas kebolehgunaan kaedah SparseGPT semasa latihan model akan mengurangkan kos pengiraan untuk melatih model besar.
Atas ialah kandungan terperinci Algoritma pemampatan 100 bilion model pertama SparseGPT ada di sini, mengurangkan kos kuasa pengkomputeran sambil mengekalkan ketepatan yang tinggi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!