Dalam era kecerdasan data, pengkomputeran merupakan satu keperluan dan titik kesakitan Ciri yang paling penting ialah satu perkataan - besar.
Pisah "besar" kepada tiga ciri, termasuk:
Ini termasuk kerumitan data dan algoritma, dan data, algoritma dan kuasa pengkomputeran adalah tiga elemen era pintar kerumitan dua yang pertama akhirnya akan dibawa oleh kuasa pengkomputeran.
Ini telah menyebabkan permintaan industri untuk kuasa pengkomputeran berkembang pesat dalam kedua-dua ruang dan masa, seperti tsunami.
GPU mempunyai cara untuk membahagikan tsunami kepada beribu-ribu titisan di angkasa, memendekkan laluan air dalam masa, menyelaraskan cawangan laluan dalam struktur, dan menukar skala besar tugas dipecahkan kepada tugas berskala kecil lapisan demi lapisan, membawa permintaan kuasa pengkomputeran besar-besaran dengan mudah dan menjadi asas kuasa pengkomputeran era pintar.
Sebagai tindak balas kepada tiga ciri di atas, GPU menggunakan tiga kaedah: selari, gabungan dan penyederhanaan untuk mempercepatkan pada peringkat operator berdasarkan daya pemprosesan, memori video dan penunjuk lain.
Metodologi utama pecutan GPU juga sesuai untuk perindustrian model besar.
Dengan peningkatan dan kemajuan cip asas, kuasa pengkomputeran, data dan infrastruktur lain, industri AI global secara beransur-ansur beralih daripada kecerdasan pengiraan kepada kecerdasan persepsi dan kognitif kecerdasan. Oleh itu, pembahagian industri buruh dan sistem kerjasama "cip, kemudahan kuasa pengkomputeran, rangka kerja AI & model algoritma, dan senario aplikasi" telah dibentuk. Sejak 2019, model besar AI telah meningkatkan dengan ketara keupayaan untuk membuat generalisasi penyelesaian masalah, dan "model besar + model kecil" secara beransur-ansur menjadi laluan teknologi arus perdana dalam industri, memacu pecutan keseluruhan pembangunan industri AI global.
Tidak lama dahulu, DataFun mengadakan acara perkongsian mengenai "Pelan Hala Tuju Teknologi Model Besar AI dan Amalan Pelaksanaan Perindustrian". Teknologi latihan model dan penyelesaian inferens, aplikasi terjemahan mesin berbilang bahasa, pembangunan dan pelaksanaan model bahasa berskala besar, dsb., membawa perkongsian menarik laluan teknologi model besar AI dan amalan pelaksanaan industri.
Apabila mereka melaksanakan model besar dalam industri, mereka sebahagian besarnya menggunakan kaedah selari, gabungan dan penyederhanaan, dan juga diperluaskan daripada tahap latihan dan inferens kepada tahap pemodelan algoritma.
Kaedah selari ialah kaedah menukar ruang dengan masa . Khususnya, untuk pengiraan yang melibatkan kumpulan data yang besar, setiap langkah pengiraan mengambil masa yang agak lama. GPU menggunakan pengkomputeran selari, iaitu, data tanpa kebergantungan pengiraan diselaraskan sebanyak mungkin, dan kelompok besar dibahagikan kepada kelompok kecil untuk mengurangkan masa menunggu GPU melahu bagi setiap langkah pengiraan dan meningkatkan daya pemprosesan pengkomputeran. Untuk benar-benar melengkapkan latihan model besar, rangka kerja perisian berkecekapan tinggi diperlukan untuk menjadikan latihan sangat cekap dari segi pengiraan pada satu GPU, satu nod atau malah pada kluster berskala besar. Oleh itu, NVIDIA membangunkan rangka kerja latihan Megatron.
Megatron menggunakan kaedah pengoptimuman seperti keselarian model dan keselarian jujukan untuk melatih model besar Transformer dengan cekap, dan boleh melatih model dengan trilion parameter.
Pada peringkat pemodelan algoritma, Terjemahan Huoshan dan Baidu terutamanya meneroka kaedah pemodelan seperti model MoE.
1. Model paralelisme
Sejajaran saluran paip ialah selari antara lapisan (bahagian atas gambar), yang membahagikan lapisan berbeza kepada GPU berbeza untuk pengiraan. Komunikasi dalam mod ini hanya berlaku di sempadan lapisan, dan bilangan komunikasi dan jumlah data komunikasi adalah kecil, tetapi ia akan memperkenalkan masa menunggu ruang GPU tambahan.
Selarian tensor ialah selari dalam lapisan (bahagian bawah gambar), yang membahagikan pengiraan lapisan kepada GPU yang berbeza. Mod ini lebih mudah untuk dilaksanakan, mempunyai kesan yang lebih baik pada matriks yang besar, dan boleh mencapai pengimbangan beban antara GPU dengan lebih baik, tetapi bilangan komunikasi dan jumlah data adalah agak besar.
Untuk menggunakan sepenuhnya sumber GPU, Megatron membahagikan setiap kumpulan latihan kepada kelompok mikro yang lebih kecil.
Memandangkan tiada pergantungan data antara kelompok mikro yang berbeza, mereka boleh menampung masa menunggu satu sama lain, dengan itu meningkatkan penggunaan GPU dan dengan itu meningkatkan prestasi latihan keseluruhan.
Tensor membahagikan pengiraan setiap operator kepada GPU berbeza secara selari Untuk lapisan matriks, terdapat dua jenis: potong silang dan menegak cara memotong.
Seperti yang ditunjukkan dalam rajah, Megatron memperkenalkan dua kaedah pembahagian ini dalam bahagian perhatian dan MLP blok Transformer.
Dalam mod selari Tensor, langkah ke hadapan dan ke belakang setiap lapisan Transformer memerlukan sejumlah empat komunikasi All-reduce isipadu mengurangkan adalah besar, jadi keselarian Tensor lebih sesuai untuk kegunaan dalaman satu kad.
Menggabungkan paralelisme Pipeline dan Tensor parallelism, Megatron boleh mengembangkan latihan 170 bilion model parameter pada 32 GPU kepada 1 trilion pada model skala Parametrik 3072 GPU.
Selarian tensor sebenarnya tidak memisahkan Layer-norm dan Dropout, jadi kedua-dua operator ini direplikasi antara setiap GPU.
Walau bagaimanapun, operasi ini sendiri tidak memerlukan banyak pengiraan, tetapi ia menduduki banyak memori video aktif.
Untuk tujuan ini, Megatron telah mencadangkan kaedah pengoptimuman selari Jujukan. Faedah selari Jujukan ialah ia tidak meningkatkan volum komunikasi dan boleh mengurangkan penggunaan memori video dengan banyak
Memandangkan Layer-norm dan Dropout adalah bebas di sepanjang dimensi jujukan, ia boleh dibahagikan mengikut dimensi Jujukan.
Selepas menggunakan Sequence parallelism, untuk model berskala sangat besar, penggunaan memori masih sangat besar. Oleh itu, Megatron memperkenalkan teknologi pengiraan semula pengaktifan.
Pendekatan Megatron adalah untuk mencari beberapa operator yang memerlukan sedikit pengiraan tetapi menggunakan jumlah memori video yang besar, seperti Softmax, Dropout dan operator lain dalam Attention Mengaktifkan dan mengira semula operator ini boleh mengurangkan memori video dengan ketara overhed pengiraan tidak meningkat banyak.
Gabungan selari Jujukan dan pengiraan semula pengaktifan terpilih boleh mengurangkan penggunaan memori video kepada kira-kira 1/5 daripada asal. Berbanding dengan penyelesaian asal pengiraan semula semua pengaktifan secara langsung, memori video hanya dua kali ganda, dan overhed pengkomputeran berkurangan dengan ketara Apabila skala model meningkat, bahagian overhed pengkomputeran akan berkurangan secara beransur-ansur. Apabila model berskala trilion dicapai, kos pengiraan semula hanya menyumbang kira-kira 2% daripada jumlah keseluruhan.
MoE semakin mendapat populariti dalam industri kerana konsep reka bentuknya yang ringkas dan kebolehskalaan perhatian.
Model KPM mencadangkan idea reka bentuk untuk membahagikan model besar kepada beberapa model kecil. Setiap sampel hanya perlu mengaktifkan sebahagian daripada model pakar untuk pengiraan, sekali gus menjimatkan sumber pengkomputeran.
Model besar padat yang paling biasa digunakan ialah BERT, T5 dan GPT-3, dan yang paling biasa digunakan jarang Model MoE ialah T5+MoE, MoE menjadi trend dalam pembinaan model besar.
Boleh dikatakan KPM menggabungkan idea pengkomputeran selari pada peringkat pemodelan algoritma.
Kepelbagaian model besar dicerminkan dalam banyak aspek, sebagai tambahan kepada perkara yang sudah kita kenali, seperti kecenderungan induktif yang lebih lemah dari mekanisme perhatian dan kapasiti model Besar, data model besar, dsb., dan kaedah pemodelan tugas juga boleh dioptimumkan.
Untuk penterjemahan gunung berapi, idea asas KPM ialah menukar lebar dengan kedalaman, kerana semakin dalam model, semakin banyak lapisan pengkomputeran, dan semakin lama masa inferens.
Sebagai contoh, untuk model Transformer dengan 4 lapisan Pengekod dan 4 lapisan Penyahkod, setiap pengiraan mesti melalui pengiraan kesemua 8 FFN. Jika ia adalah model pakar campuran, FFN boleh diletakkan selari, akhirnya mengurangkan separuh laluan pengiraan dan dengan itu masa inferens.
Di bawah masa inferens yang sama, iaitu apabila kedalaman model adalah serupa, kerana KPM boleh meningkatkan lebar model, kesan akhir mesin terjemahan akan Juga ditambah baik.
Untuk tugasan terjemahan pelbagai bahasa dalam 24 bahasa Afrika dan bahasa Inggeris dan Perancis, Terjemahan Volcano telah membangunkan Transformer 128 lapisan, model MoE dengan 24 lapisan pakar, mencapai hasil terjemahan yang lebih baik daripada seni bina tradisional.
Tetapi "model pakar" di KPM Jarang mungkin agak tersalah nama, kerana untuk satu ayat, contohnya, pakar yang setiap Token melalui mempunyai Mungkin berbeza.
Oleh itu Terjemahan Gunung Berapi telah membangunkan Hard Gate MoE, supaya pakar yang diluluskan oleh ayat ditentukan oleh bahasa Ini menjadikan struktur model lebih mudah, dan hasil eksperimen juga menunjukkan kesan terjemahannya lebih baik.
Dalam penerokaan selari pemodelan algoritma, Baidu turut mengguna pakai rangka kerja model penyebaran pakar hibrid dalam model besar generasi rentas mod yang dipertingkatkan pengetahuan ERNIE-ViLG 2.0.
Mengapa kita perlu menggunakan model pakar untuk model resapan?
Malah, ia adalah kerana keperluan pemodelan model adalah berbeza pada peringkat penjanaan yang berbeza. Sebagai contoh, pada peringkat awal, model memberi tumpuan kepada pembelajaran menjana imej semantik daripada hingar Gaussian, dan pada peringkat akhir, model memfokuskan pada memulihkan butiran imej daripada imej bising.
Malah, versi awal pengekodan automatik dan autoregresi bersepadu ERNIE 3.0, yang boleh menggabungkan dua kaedah pemodelan pada perwakilan semantik umum untuk tugas penjanaan dan pemahaman tugasan tertentu.
Idea asas untuk menyepadukan pengekodan auto dan autoregresi sebenarnya serupa dengan metodologi pemodelan model pakar.
Khususnya, berdasarkan perwakilan universal, tugas pemahaman sesuai untuk struktur rangkaian pengekodan automatik, dan tugas penjanaan sesuai untuk acuan rangkaian autoregresif . Di samping itu, pemodelan jenis ini sering mempelajari perwakilan umum yang lebih baik.
Selain itu, dalam model ERNIE-UniX2, Baidu Dengan menyepadukan paradigma pra-latihan seperti pembelajaran kontrastif dan model bahasa, tugas pemahaman dan penjanaan pelbagai bahasa dan pelbagai mod disatukan.
Selepas melatih model KPM, penggunaan inferens juga merupakan pautan yang sangat mementingkan kecekapan.
Apabila memilih penyelesaian penggunaan untuk inferens model berskala ultra besar, keputusan pertama untuk menggunakan satu kad akan berdasarkan skala parameter model, struktur model, memori GPU dan rangka kerja inferens, serta trade-off antara ketepatan model dan prestasi inferens masih merupakan penaakulan Doka. Jika memori video tidak mencukupi, mampatan model atau penyelesaian inferens berbilang kad akan dipertimbangkan.
Inferens berbilang kad termasuk Keselarian Tensor, Keselarian Paip, Keselarian Pakar dan mod lain.
Menggunakan mod yang berbeza untuk model yang sangat besar KPM akan menghadapi cabaran yang berbeza. Antaranya, model Tensor selari dan padat model MoE adalah serupa.
Jika anda memilih mod selari Pakar, Pakar setiap Lapisan KPM akan dibahagikan kepada GPU berbeza, yang mungkin menyebabkan masalah pengimbangan beban, mengakibatkan A besar bilangan GPU melahu, akhirnya menghasilkan daya pemprosesan keseluruhan yang rendah. Ini adalah perkara penting untuk ditumpukan dalam penaakulan Doka MoE.
Untuk keselarian Tensor dan paralelisme Pipeline, selain mengurangkan komunikasi antara kad melalui penalaan halus, kaedah yang lebih langsung ialah meningkatkan lebar jalur antara kad. Apabila menggunakan paralelisme Pakar untuk model KPM menyebabkan masalah pengimbangan beban, ia boleh dianalisis dan dioptimumkan melalui Pemprofilan.
Penyelesaian inferens berbilang kad meningkatkan overhed komunikasi dan mempunyai kesan tertentu pada kependaman inferens model.
Gabungan adalah untuk menyelesaikan percanggahan semula jadi yang dihadapi dalam pengkomputeran selari Kaedah, pengkomputeran selari dan pengkomputeran bersiri adalah dua mod pengkomputeran asas. Apabila menggunakan pengkomputeran selari, kesukaran yang paling biasa ialah bilangan kebergantungan bersiri yang besar dan masalah pendudukan memori perantaraan yang terhasil, dan memori GPU biasanya menjadi salah satu kesesakan prestasi perkakasan untuk latihan dan inferens model besar.
Untuk masalah pergantungan bersiri dalam pengkomputeran besar-besaran, kaedah yang paling penting ialah memendekkan laluan titisan, iaitu mengurangkan proses tinggal pertengahan . Khususnya, gabungan operator digunakan untuk menggabungkan operator yang tertibnya mempunyai hubungan pergantungan berjujukan untuk mengurangkan penggunaan memori video.
Paduan operator bukan sahaja dilaksanakan di peringkat pengkomputeran, tetapi juga di peringkat reka bentuk operator.
Jika proses ke hadapan dan belakang dipisahkan dalam selari Paip, memori video akan muncul Juga banyak masalah penghunian.
Oleh itu, Megatron telah mencadangkan model baharu paralelisme Pipeline, 1F1B Setiap GPU melaksanakan proses ke hadapan dan belakang bagi setiap kumpulan mikro secara berselang-seli untuk melepaskan memori video yang didudukinya seawal mungkin, dengan itu mengurangkan memori video. penggunaan.
1F1B tidak boleh mengurangkan masa gelembung Untuk mengurangkan lagi masa gelembung, Megatron telah mencadangkan mod 1F1B bersilang . Maksudnya, setiap GPU pada asalnya bertanggungjawab untuk pengiraan empat lapisan berturut-turut, tetapi kini ia bertanggungjawab untuk pengiraan dua lapisan berturut-turut, yang hanya separuh daripada yang asal, jadi masa gelembung juga telah menjadi separuh daripada yang asli.
Apabila melakukan pengiraan GPU, setiap proses pengiraan boleh dimasukkan ke dalam Kernel GPU dan diletakkan Ia dilaksanakan pada GPU dan adalah berurutan. Demi fleksibiliti, pengendali reka bentuk perpustakaan pengendali tradisional untuk menjadi sangat asas, jadi bilangan yang sangat besar adalah bahawa ia mengambil banyak memori video kerana ia perlu menyimpan sejumlah besar perwakilan tersembunyi perantaraan , ini memerlukan lebar jalur tinggi yang agak tinggi, yang akhirnya boleh menyebabkan kelewatan atau kehilangan prestasi.
Terjemahan Gunung Berapi menyepadukan pengendali pendaraban bukan matriks lain berdasarkan antara muka pendaraban CuBLAS, termasuk Softmax, LayerNorm, dsb.
Selain membandingkan gabungan pengendali am, Huoshan Translation juga menyasarkan beberapa operator tertentu seperti Beam Search, yang tidak dapat menggunakan GPU dengan baik paralelisme. Optimumkan kebergantungan pengiraannya untuk mencapai pecutan.
Pada empat model Transformer arus perdana, gabungan pengendali LightSeq mencapai sehingga 8 kali pecutan berdasarkan PyTorch.
Pemudahan ialah kaedah pecutan yang agak mudah dan intuitif saluran paip bercabang dengan cara yang halus . Khususnya, untuk kerumitan pengiraan yang tinggi, kerumitan pengendali dipermudahkan sambil memastikan prestasi, dan akhirnya jumlah pengiraan dikurangkan.
Inferens satu kad model berskala sangat besar secara amnya melibatkan pemampatan model.
Skim pemampatan model biasa ialah kuantisasi, penyulingan dan pemangkasan. Pengkuantitian adalah salah satu skim pemampatan model yang paling biasa digunakan dalam industri. Walaupun pengiraan kuantitatif menggunakan ketepatan yang lebih rendah, ia boleh mengekalkan magnitud parameter model, dan dalam beberapa kes mungkin lebih baik memastikan ketepatan keseluruhan model.
Pada masa ini terdapat dua kaedah kuantifikasi, satu. Satu adalah kuantisasi selepas latihan, dan satu lagi adalah latihan sedar kuantisasi. Yang terakhir biasanya mengekalkan ketepatan model lebih baik daripada yang pertama.
Selepas pengkuantitian selesai, rangka kerja pecutan inferens seperti TensorRT atau FasterTransformer boleh digunakan untuk mempercepatkan lagi inferens model yang sangat besar.
LightSeq menggunakan kuantisasi int8 benar dalam kuantisasi proses latihan, iaitu operasi kuantisasi dilakukan sebelum pendaraban matriks, dan operasi kuantisasi songsang dilakukan selepas pendaraban matriks. Tidak seperti pengkuantitian pseudo pada masa lalu, operasi pengkuantitian dan penyahkuansian dilakukan sebelum pendaraban matriks untuk membolehkan model menyesuaikan diri dengan kerugian dan turun naik yang disebabkan oleh pengkuantitian. Yang terakhir tidak membawa pecutan dalam pengiraan sebenar, tetapi boleh meningkatkan kelewatan atau meningkatkan penggunaan memori. Pengkuantitian int8 sebenar juga membawa kesan pecutan yang baik dalam aplikasi praktikal.
Kaedah pemampatan model kedua ialah penyulingan. Penyulingan boleh menggunakan strategi yang berbeza untuk memampatkan model yang sangat besar untuk senario aplikasi yang berbeza Dalam sesetengah kes, penyulingan boleh memberikan model yang sangat besar keupayaan generalisasi yang lebih baik.
Penyelesaian pemampatan model terakhir ialah pemangkasan. Pemangkasan boleh dibahagikan kepada pemangkasan model penuh dan pemangkasan lapisan separa Untuk model yang sangat besar, adalah sangat penting untuk memahami lapisan utama model Ia adalah perlu untuk mengelakkan pemangkasan bahagian ini yang mempunyai kesan yang paling besar pada ketepatan juga boleh digunakan untuk model KPM yang jarang.
Penyelidikan dan pelaksanaan model besar telah menjadi trend pada tahun 2022 akan lebih banyak penyelidikan mengenai model bahasa berskala besar dan Terdapat lebih daripada 10,000 kertas kerja mengenai Transformers, peningkatan tujuh kali ganda daripada semasa Transformers mula-mula dicadangkan lima tahun lalu. Selain itu, model besar juga mempunyai pelbagai aplikasi, seperti penjanaan imej, sistem pengesyoran, terjemahan mesin, dan juga sains hayat, penjanaan kod, dsb.
OpenAI juga menerbitkan dua kertas kerja pada 2020, menunjukkan bahawa prestasi model pada asasnya sama seperti tiga Terdapat tiga faktor utama yang dikaitkan dengannya, iaitu kuasa pengkomputeran, saiz set data, dan kuantiti parameter model Ketiga-tiga penunjuk ini boleh meramalkan kesan model.
Richard Sutton pernah berkata bahawa dalam tempoh 70 tahun pembangunan AI, trend berulang ialah komputer tujuan umum yang boleh menggunakan pengkomputeran dengan cekap. pendekatan sumber akan sentiasa menjadi pemenang akhir.
Menurut "Undang-undang Pemenang" Richard Sutton, pembelajaran mendalam telah menang dalam dekad yang lalu dari segi serba boleh.
Tetapi pada masa kini, cabaran latihan model besar adalah jelas. Ambil GPT-3 sebagai contoh Jika anda menggunakan ketepatan campuran asal semasa latihan, anda perlu menyimpan parameter dan kecerunan semasa latihan serta parameter utama FP 32. Jika anda menggunakan pengoptimum Adam, anda juga perlu menyimpan. maklumat momentum kedua-dua pengoptimum , sejumlah 2.8 TB memori video akhirnya diperlukan, yang jauh melebihi kapasiti memori video satu kad dan memerlukan lebih daripada 35 A100s untuk membawanya.
Kertas kerja NVIDIA 2021 "Latihan Model Bahasa Skala Besar yang Cekap pada Kluster GPU Menggunakan Megatron-LM" memperoleh formula empirikal yang menunjukkan bahawa bilangan parameter dalam satu lelaran ialah 175 bilion. Model GPT-3 memerlukan 450 juta FLOP kuasa pengkomputeran. Jika keseluruhan kitaran latihan terdiri daripada 95,000 lelaran, 430 ZettaFLOP diperlukan. Dalam erti kata lain, A100 diperlukan untuk berlatih selama 16,000 hari, yang merupakan kesimpulan tanpa mengira kecekapan pengiraan.
Dalam erti kata lain, hanya mengumpul tiga penunjuk ini akan menjadi pembaziran sumber yang besar dalam era perindustrian model berskala besar.
DeepMind menyatakan dalam kertas kerja ChinChilla yang diterbitkan pada tahun 2022 bahawa sebenarnya, model besar seperti GPT-3, OPT dan PaLM pada dasarnya adalah model yang kurang sesuai. Jika berdasarkan sumber pengkomputeran yang sama, bilangan parameter model dikurangkan dan lebih banyak langkah dilatih, kesan model akhir akan menjadi lebih baik. Ini juga merupakan falsafah reka bentuk yang WeChat ikut dalam model bahasa skala besar WeLM.
Syarikat dalam industri pada asasnya mula melonggarkan fokus mereka daripada skala dan sebaliknya memfokuskan pada isu kecekapan apabila melaksanakan model besar.
Sebagai contoh, dari perspektif kecekapan pelaksanaan keseluruhan, hampir semua model yang dioptimumkan oleh Megatron mempunyai peningkatan daya pemprosesan sebanyak 30%, dan apabila saiz model meningkat, prestasi yang lebih tinggi boleh dicapai penggunaan GPU . Pada model GPT-3 175 bilion parameter, penggunaan GPU boleh mencapai 52.8%. Pada model dengan skala parameter lebih daripada 530 bilion, kadar penggunaan boleh mencapai 57%.
Dengan kata lain, menurut "Undang-undang Pemenang" Richard Sutton, kecekapan akan menjadi nada utama perindustrian model berskala besar.
Atas ialah kandungan terperinci Metodologi untuk perindustrian model besar semuanya tersembunyi dalam GPU. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!