Rumah  >  Artikel  >  Peranti teknologi  >  Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian saraf

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian saraf

WBOY
WBOYke hadapan
2023-07-02 08:37:25850semak imbas

Kami tahu bahawa pengkuantitian pengaktifan, pemberat dan kecerunan kepada 4-bit adalah sangat berharga untuk mempercepatkan latihan rangkaian saraf. Tetapi kaedah latihan 4-bit sedia ada memerlukan format nombor tersuai yang tidak disokong oleh perkakasan kontemporari. Dalam artikel ini, Tsinghua Zhu Jun et al mencadangkan kaedah latihan Transformer yang menggunakan algoritma INT4 untuk melaksanakan semua pendaraban matriks.

Sama ada model dilatih dengan cepat atau tidak berkait rapat dengan keperluan nilai pengaktifan, berat, kecerunan dan faktor lain.

Latihan rangkaian saraf memerlukan jumlah pengiraan tertentu, dan menggunakan algoritma ketepatan rendah (latihan pengkuantitian penuh atau latihan FQT) dijangka meningkatkan kecekapan pengkomputeran dan ingatan. FQT menambah pengkuantiti dan nyahkuantisasi pada graf pengiraan ketepatan penuh asal dan menggantikan operasi titik terapung yang mahal dengan operasi titik terapung ketepatan rendah yang murah.

Penyelidikan tentang FQT bertujuan untuk mengurangkan ketepatan berangka latihan sambil mengurangkan pengorbanan kelajuan dan ketepatan penumpuan. Ketepatan berangka yang diperlukan dikurangkan daripada FP16 kepada FP8, INT32+INT8 dan INT8+INT5. Latihan FP8 dilakukan pada GPU Nvidia H100 dengan enjin Transformer, yang membolehkan pecutan menakjubkan latihan Transformer berskala besar.

Baru-baru ini, ketepatan berangka latihan telah dikurangkan kepada 4 bit. Sun et al berjaya melatih beberapa rangkaian kontemporari dengan pengaktifan/penimbang INT4 dan kecerunan FP4 Chmiel et al mencadangkan format nombor logaritma tersuai yang meningkatkan lagi ketepatan. Walau bagaimanapun, kaedah latihan 4-bit ini tidak boleh digunakan secara langsung untuk pecutan kerana ia memerlukan format nombor tersuai, yang tidak disokong pada perkakasan kontemporari.

Terdapat cabaran pengoptimuman yang besar dalam latihan pada tahap rendah seperti 4 bit Pertama, pengkuantiti perambatan hadapan yang tidak boleh dibezakan akan menjadikan graf fungsi kehilangan tidak sekata, dan pengoptimum berasaskan kecerunan boleh tersekat dengan mudah. minimum tempatan. Kedua, kecerunan hanya boleh dikira kira-kira pada ketepatan rendah ini kecerunan tidak tepat akan melambatkan proses latihan malah membawa kepada latihan yang tidak stabil atau mencapah.

Artikel ini mencadangkan algoritma latihan INT4 baharu untuk Transformer rangkaian saraf yang popular. Operasi linear mahal yang digunakan untuk melatih Transformer semuanya boleh ditulis dalam bentuk pendaraban matriks (MM). Formalisme MM membolehkan penyelidik mereka bentuk pengkuantiti yang lebih fleksibel. Pengkuantiti ini lebih baik menghampiri pendaraban matriks FP32 melalui pengaktifan, berat dan struktur kecerunan tertentu dalam Transformer. Pengkuantiti dalam artikel ini juga mengambil kesempatan daripada kemajuan baharu dalam bidang algebra linear berangka stokastik. . . Untuk menyekat outlier ini, pengkuantiti Hadamard dicadangkan, yang digunakan untuk mengkuantisasi matriks pengaktifan yang diubah. Transformasi ini ialah matriks Hadamard pepenjuru blok, yang menyebarkan maklumat yang dibawa oleh outlier ke entri matriks berhampiran outlier, dengan itu mengecilkan julat berangka outlier.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian sarafUntuk perambatan belakang, kajian ini mengambil kesempatan daripada kesederhanaan struktur kecerunan pengaktifan. Penyelidikan menunjukkan bahawa kecerunan sesetengah token adalah sangat besar, tetapi pada masa yang sama, kecerunan kebanyakan token lain adalah sangat kecil, malah sisa terkuantiti kecerunan yang lebih besar adalah lebih kecil. Oleh itu, daripada mengira kecerunan kecil ini, sumber pengiraan digunakan untuk mengira baki kecerunan yang lebih besar.

Menggabungkan teknik pengkuantitian perambatan ke hadapan dan belakang, artikel ini mencadangkan algoritma yang menggunakan INT4 MM untuk semua operasi linear dalam Transformer. Kajian ini menilai algoritma untuk melatih Transformer mengenai pelbagai tugas, termasuk pemahaman bahasa semula jadi, menjawab soalan, terjemahan mesin dan klasifikasi imej. Algoritma yang dicadangkan mencapai ketepatan yang setanding atau lebih tinggi berbanding usaha latihan 4-bit sedia ada. Tambahan pula, algoritma ini serasi dengan perkakasan kontemporari (seperti GPU) kerana ia tidak memerlukan format nombor tersuai (seperti FP4 atau format logaritma). Dan kuantisasi prototaip + pengendali INT4 MM yang dicadangkan oleh penyelidikan adalah 2.2 kali lebih cepat daripada garis dasar FP16 MM, meningkatkan kelajuan latihan sebanyak 35.1%.

Propagasi ke hadapan

Semasa proses latihan, penyelidik menggunakan algoritma INT4 untuk mempercepatkan semua operator linear dan menetapkan semua operator bukan linear dengan intensiti pengiraan rendah kepada format FP16. Semua operator linear dalam Transformer boleh ditulis dalam bentuk pendaraban matriks. Untuk tujuan demonstrasi, mereka menganggap kelajuan pendaraban matriks mudah seperti berikut.

Gambar

Kes penggunaan utama untuk pendaraban matriks jenis ini ialah lapisan bersambung sepenuhnya.

Kuantiti Saiz Langkah Terpelajar

Latihan dipercepatkan mesti menggunakan operasi integer untuk mengira perambatan ke hadapan. Oleh itu, para penyelidik menggunakan pengkuantiti saiz langkah yang dipelajari (LSQ). Sebagai kaedah pengkuantitian statik, skala pengkuantitian LSQ tidak bergantung pada input dan oleh itu lebih murah daripada kaedah pengkuantitian dinamik. Sebaliknya, kaedah pengkuantitian dinamik memerlukan pengiraan skala pengkuantitian secara dinamik pada setiap lelaran.

Diberi matriks FP X, LSQ mengkuantiskan X menjadi integer melalui formula berikut (2).

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian sarafGambar

Mengaktifkan outlier

Hanya menggunakan LSQ kepada FQT (latihan terkuantisasi sepenuhnya, akibat pengaktifan 4-bit pengurangan sepenuhnya) akibat pengaktifan 4-bit pengurangan sepenuhnya dalam ketepatan. Seperti yang ditunjukkan dalam Rajah 1 (a) di bawah, terdapat beberapa istilah terpencil yang diaktifkan, yang magnitudnya jauh lebih besar daripada sebutan lain.

Dalam kes ini, saiz langkah s_X ialah pertukaran antara kebutiran pengkuantitian dan julat nilai yang boleh diwakili. Jika s_X besar, outlier boleh diwakili dengan baik pada kos mewakili kebanyakan istilah lain secara kasar. Jika s_X kecil, istilah di luar julat [−Q_Ns_X, Q_Ps_X] mesti dipotong.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian saraf

Hadamard Quantization

Penyelidik mencadangkan untuk menggunakan Hadamard quantizer (HQ) untuk menyelesaikan masalah outlier dengan idea utamanya adalah untuk mengkuantisasikan matriks ruang yang lebih kecil.

Outlier dalam matriks pengaktifan boleh membentuk struktur peringkat ciri. Outlier ini biasanya dikelompokkan di sepanjang beberapa dimensi, iaitu, hanya beberapa lajur dalam X yang jauh lebih besar daripada yang lain. Sebagai penjelmaan linear, penjelmaan Hadamard boleh menyebarkan penyimpangan antara istilah lain. Khususnya, transformasi Hadamard H_k ialah matriks 2^k × 2^k.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian saraf

Untuk menyekat outlier, penyelidik mengukur versi X dan W yang diubah.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian saraf

Dengan menggabungkan matriks terkuantis, penyelidik memperoleh perkara berikut.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian saraf

di mana transformasi songsang membatalkan satu sama lain, dan MM boleh dilaksanakan seperti berikut.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian sarafGambar

Backpropagation

Penyelidik menggunakan operasi INT4 untuk mempercepatkan rambatan belakang lapisan linear. Operator linear HQ-MM yang ditakrifkan dalam Persamaan (3) mempunyai empat input, iaitu pengaktifan X, berat W, dan langkah s_X dan s_W. Memandangkan kecerunan keluaran ∇_YL berkenaan dengan fungsi kehilangan L, mereka perlu mengira kecerunan empat input ini.

Kekurangan struktur kecerunan

Penyelidik mendapati bahawa matriks kecerunan ∇_Y selalunya sangat jarang semasa proses latihan. Struktur sparsity adalah sedemikian rupa sehingga beberapa baris (iaitu token) ∇_Y mempunyai sebutan yang besar, manakala kebanyakan baris lain hampir dengan vektor sifar semua. Mereka memplot histogram norma setiap baris ∥(∇_Y)_i:∥ untuk semua baris dalam Rajah 2 di bawah.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian sarafGambar

Bit Split dan Pensampelan Skor Purata

Penyelidik membincangkan cara mereka bentuk pengkuantiti kecerunan untuk memanfaatkan kezaliman struktur untuk mengira MM dengan tepat semasa perambatan belakang. Idea peringkat tinggi ialah kecerunan banyak baris adalah sangat kecil, jadi kesan pada kecerunan parameter juga kecil, tetapi banyak pengiraan dibazirkan. Selain itu, baris besar tidak boleh diwakili dengan tepat oleh INT4.

Untuk memanfaatkan kesederhanaan ini, penyelidik mencadangkan pemisahan bit, yang membahagikan kecerunan setiap token kepada 4bit yang lebih tinggi dan 4bit yang lebih rendah. Kemudian kecerunan dengan maklumat terbanyak dipilih melalui persampelan skor purata, yang merupakan teknik persampelan kepentingan RandNLA.

Hasil Eksperimen

Kajian ini menilai algoritma latihan INT4 tentang pelbagai tugas, termasuk penalaan halus model bahasa, terjemahan mesin dan klasifikasi imej. Kajian ini melaksanakan algoritma HQ-MM dan LSS-MM yang dicadangkan menggunakan CUDA dan cutlass2. Selain hanya menggunakan LSQ sebagai lapisan pembenaman, kami menggantikan semua pengendali linear titik terapung dengan INT4 dan mengekalkan ketepatan penuh pengelas lapisan terakhir. Dan, dengan berbuat demikian, penyelidik menggunakan seni bina lalai, pengoptimum, penjadual dan hiperparameter untuk semua model yang dinilai.

Ketepatan model tertumpu. Jadual 1 di bawah menunjukkan ketepatan model tertumpu pada setiap tugasan.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian sarafGambar

Penalaan halus model bahasa. Berbanding dengan LSQ+LUQ, algoritma yang dicadangkan dalam kajian ini meningkatkan ketepatan purata sebanyak 5.5% pada model bert-base dan 25% pada model bert-large.

Pasukan penyelidik juga menunjukkan keputusan lanjut algoritma pada set data SQUAD, SQUAD 2.0, Adversarial QA, CoNLL-2003 dan SWAG. Pada semua tugasan, kaedah ini mencapai prestasi yang lebih baik berbanding LSQ+LUQ. Berbanding dengan LSQ+LUQ, kaedah ini masing-masing mencapai peningkatan sebanyak 1.8% dan 3.6% pada SQUAD dan SQUAD 2.0. Dalam QA lawan yang lebih sukar, kaedah ini mencapai peningkatan 6.8% dalam skor F1. Pada SWAG dan CoNLL-2003, kaedah ini meningkatkan ketepatan masing-masing sebanyak 6.7% dan 4.2%.

Terjemahan mesin. Kajian juga menggunakan kaedah yang dicadangkan untuk pra-latihan. Kaedah ini melatih model [51] berasaskan Transformer untuk terjemahan mesin pada set data En-De WMT 14. Kadar kemerosotan BLEU bagi

HQ+LSS ialah kira-kira 1.0%, iaitu lebih kecil daripada 2.1% Ultra-rendah dan lebih tinggi daripada 0.3% yang dilaporkan dalam kertas LUQ. Namun begitu, HQ+LSS masih menunjukkan prestasi yang setanding dengan kaedah sedia ada pada tugas pra-latihan ini, dan ia menyokong perkakasan kontemporari.

Klasifikasi imej. Kaji memuatkan pusat pemeriksaan ViT terlatih pada ImageNet21k dan memperhalusinya pada CIFAR-10, CIFAR-100 dan ImageNet1k.

Berbanding dengan LSQ+LUQ, kaedah penyelidikan meningkatkan ketepatan ViT-B/32 dan ViT-L/32 masing-masing sebanyak 1.1% dan 0.2%. Pada ImageNet1k, kaedah ini meningkatkan ketepatan sebanyak 2% pada ViT-B/32, 2.6% pada ViT-L/32 dan 0.2% pada ViT-L/32 berbanding LSQ+LUQ.

Pasukan penyelidik menguji lagi keberkesanan algoritma pada model DeiT-Small pra-latihan pada ImageNet1K, di mana HQ+LSS masih boleh menumpu kepada tahap ketepatan yang sama berbanding LSQ+LUQ sambil menjadi lebih mesra perkakasan .

Kajian Ablasi

Kami menjalankan kajian ablasi untuk menunjukkan secara bebas keberkesanan kaedah ke hadapan dan ke belakang pada set data CoLA yang mencabar. Untuk mengkaji keberkesanan pengkuantiti yang berbeza pada perambatan ke hadapan, mereka menetapkan perambatan balik kepada FP16. Keputusan ditunjukkan dalam Rajah 3(a) di bawah.

Untuk perambatan belakang, para penyelidik membandingkan pengkuantiti minimax ringkas, LUQ, dan LSS mereka sendiri, dan menetapkan perambatan ke hadapan kepada FP16. Keputusan ditunjukkan dalam Rajah 3(b) di bawah Walaupun lebar bit lebih tinggi daripada 2, LSS mencapai keputusan yang setanding atau lebih baik sedikit daripada LUQ.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian sarafPictures

komputasi dan kecekapan memori

Penyelidik membandingkan cadangan mereka sendiri HQ-MM (HQ), LSS untuk mengira kecerunan berat badan (LSSweight), dan LSS untuk mengira kecerunan pengaktifan (LSSACT ) throughput, purata throughput (INT4) mereka dan pelaksanaan Tensor Core FP16 GEMM (FP16) yang disediakan oleh cutlass pada GPU NVIDIA RTX 3090 dalam Rajah 4 di bawah, yang mempunyai daya pemprosesan puncak 142 FP16 TFLOP dan 568 INT4 TFLOP.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian sarafPictures

Para penyelidik juga membandingkan hasil latihan FP16 PyTorch AMP dan algoritma latihan INT4 mereka sendiri untuk melatih model bahasa seperti BERT dan GPT pada 8 GPU NVIDIA A100. Mereka mempelbagaikan saiz lapisan tersembunyi, saiz lapisan bersambung penuh pertengahan dan saiz kelompok dan memplotkan kelajuan untuk latihan INT4 dalam Rajah 5 di bawah.

Hasilnya menunjukkan bahawa algoritma latihan INT4 mencapai sehingga 35.1% pecutan untuk model seperti BERT dan sehingga 26.5% pecutan untuk model seperti GPT.

Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian sarafGambar

Atas ialah kandungan terperinci Latihan model seperti GPT dipercepatkan sebanyak 26.5%. Tsinghua Zhu Jun dan yang lain menggunakan algoritma INT4 untuk mempercepatkan latihan rangkaian saraf. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam