Informasi kontak saya
Surat[email protected]
2024-08-19
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Kolom AIxiv adalah kolom tempat Machine Heart menerbitkan konten akademis dan teknis. Dalam beberapa tahun terakhir, kolom Heart of the Machine AIxiv telah menerima lebih dari 2.000 laporan, mencakup laboratorium terkemuka dari universitas dan perusahaan besar di seluruh dunia, yang secara efektif mendorong pertukaran dan diseminasi akademis. Jika Anda memiliki karya luar biasa yang ingin Anda bagikan, silakan berkontribusi atau hubungi kami untuk pelaporan. Email pengiriman: [email protected]; [email protected]
Di bidang kecerdasan buatan, peningkatan parameter model sering kali berarti peningkatan kinerja. Namun, seiring dengan berkembangnya skala model, kebutuhan daya komputasi dan memori perangkat terminal juga meningkat. Teknologi kuantisasi bit rendah telah menjadi salah satu teknologi utama yang memungkinkan model besar berjalan secara efisien pada perangkat dengan sumber daya terbatas karena teknologi ini dapat secara signifikan mengurangi biaya penyimpanan dan komputasi serta meningkatkan efisiensi inferensi. Namun, jika perangkat keras tidak mendukung mode data terkuantisasi bit rendah, maka keuntungan dari kuantisasi bit rendah tidak akan terwujud.
Untuk mengatasi masalah ini, Microsoft Research Asia telah meluncurkan kompiler data baru Ladder dan algoritma T-MAC, yang memungkinkan perangkat keras yang saat ini hanya mendukung perhitungan presisi simetris untuk langsung menjalankan perkalian matriks presisi campuran. Hasil pengujian menunjukkan bahwa Ladder dapat mencapai kecepatan maksimum 14,6 kali lipat dalam mendukung tipe data khusus yang awalnya tidak didukung oleh GPU; T-MAC memungkinkan data skala besar berjalan pada CPU pada Surface AI PC yang dilengkapi dengan Qualcomm Snapdragon X Elite terbaru chipset. Throughput model dua kali lebih cepat dari NPU akselerator khusus. Selain itu, para peneliti juga merancang arsitektur perangkat keras LUT Tensor Core. Desain yang disederhanakan ini memungkinkan perangkat keras untuk secara langsung mendukung berbagai perhitungan presisi campuran bit rendah, sehingga memberikan ide-ide baru untuk desain perangkat keras kecerdasan buatan.
Model-model besar semakin banyak digunakan pada perangkat-perangkat akhir seperti telepon pintar, laptop, dan robot untuk menyediakan layanan intelijen tingkat lanjut dan respons real-time. Namun, model besar yang berisi ratusan juta parameter memberikan tuntutan yang sangat tinggi pada memori dan daya komputasi perangkat terminal, sehingga membatasi penerapannya secara luas. Teknologi kuantisasi bit rendah dapat secara signifikan memperkecil ukuran model dan mengurangi permintaan sumber daya komputasi. Teknologi ini telah menjadi cara yang efektif untuk menerapkan model besar di sisi perangkat dan mencapai inferensi yang efisien.
Dengan berkembangnya teknologi kuantisasi bit rendah, tipe data semakin terdiversifikasi, seperti int4, int2, int1 dan data bit rendah lainnya, membuat model besar semakin banyak menggunakan perkalian matriks presisi campuran dengan bobot bit rendah dan bobot bit tinggi. perhitungan dalam inferensi (perkalian matriks presisi campuran, mpGEMM). Namun, unit komputasi perangkat keras yang ada seperti CPU dan GPU biasanya hanya mendukung mode komputasi simetris dan tidak kompatibel dengan perkalian matriks presisi campuran ini.
Apa perbedaan perkalian matriks presisi campuran dengan perkalian matriks tradisional?
Dalam perkalian matriks tradisional, nilai di kedua ujung yang terlibat dalam operasi adalah simetris, seperti FP16*FP16, int8*int8. Namun kuantisasi bit rendah pada model besar merusak simetri ini, membuat salah satu ujung perkalian menjadi bit tinggi dan ujung lainnya menjadi bit rendah, seperti int8*int1 atau int8*int2 diimplementasikan dalam model BitNet 1-bit, dan floating point perkalian campuran dengan bilangan bulat FP16*int4.
Untuk memanfaatkan sepenuhnya keunggulan kuantisasi bit rendah, memungkinkan perangkat keras untuk secara langsung mendukung perkalian matriks presisi campuran, dan memastikan pengoperasian model besar dengan kecepatan tinggi dan efektif pada perangkat sisi akhir, para peneliti dari Microsoft Research Asia memfokuskan pada operator komputasi CPU dan GPU yang ada serta inovasi arsitektur perangkat keras:
Tangga: konversi tipe data khusus tanpa kehilangan menjadi tipe data yang didukung perangkat keras
Saat ini, akselerator mutakhir mengintegrasikan pengoperasian unit komputasi bit rendah, seperti FP32, FP16, dan bahkan FP8, ke dalam arsitektur generasi baru. Namun, karena dibatasi oleh area chip dan biaya perangkat keras yang tinggi, setiap akselerator hanya dapat menyediakan jenis unit komputasi terbatas untuk tipe data standar. Misalnya, GPU NVIDIA V100 TENSOR CORE hanya mendukung FP16, sedangkan A100 telah menambahkan dukungan untuk dukungan int2, int4, int8. , namun tidak mencakup format data yang lebih baru seperti FP8 atau OCP-MXFP. Selain itu, terdapat kesenjangan antara iterasi cepat model besar dan lambatnya peningkatan perangkat keras, sehingga banyak tipe data baru tidak dapat didukung oleh perangkat keras, yang pada gilirannya memengaruhi akselerasi dan pengoperasian model besar.
Para peneliti di Microsoft Research Asia menemukan bahwa meskipun akselerator perangkat keras tidak memiliki instruksi komputasi untuk tipe data khusus, sistem memorinya dapat mengubahnya menjadi blok data buram dengan lebar tetap untuk menyimpan tipe data arbitrer. Pada saat yang sama, sebagian besar tipe data khusus dapat dikonversi tanpa kehilangan ke tipe data standar dengan bit lebih tinggi yang didukung oleh unit komputasi perangkat keras yang ada. Misalnya, tensor NF4 dapat dikonversi ke FP16 atau FP32 untuk melakukan operasi floating point.
Berdasarkan temuan tersebut, peneliti mengusulkan aSebuah metode untuk mendukung semua tipe data khusus dengan memisahkan penyimpanan dan perhitungan data, dan mengembangkan kompiler data Ladder untuk menjembatani kesenjangan antara tipe data khusus yang muncul dan format presisi bawaan yang didukung oleh perangkat keras saat ini.
Ladder mendefinisikan sistem tipe data, termasuk abstraksi untuk konversi lossless antar tipe data. Tangga dapat mewakili berbagai tipe data yang didukung oleh algoritma dan perangkat keras, dan mendefinisikan aturan konversi antar tipe data. Saat menangani aplikasi algoritme bit rendah, Ladder menerjemahkan data bit rendah ke dalam format eksekusi paling efisien pada perangkat keras saat ini melalui serangkaian pengoptimalan, termasuk optimalisasi komputasi dan penyimpanan - memetakan algoritme untuk mencocokkan instruksi komputasi, dan Data dalam format berbeda disimpan di berbagai tingkat unit penyimpanan untuk mencapai operasi yang paling efisien.
Gambar 1: Arsitektur sistem tangga
Evaluasi kinerja inferensi DNN yang berjalan pada GPU NVIDIA A100, NVIDIA V100, NVIDIA RTX A6000, NVIDIA RTX 4090, dan AMD Instinct MI250 menunjukkan bahwa Ladder melampaui kompiler DNN canggih yang ada dalam mendukung tipe data dan mendukung kinerja GPU baik pada tipe data kustom yang awalnya tidak didukung, dengan kecepatan maksimum hingga 14,6 kali.
Ladder adalah sistem pertama yang secara sistematis mendukung representasi data presisi bit rendah dalam tipe data khusus saat menjalankan DNN pada akselerator perangkat keras modern.Hal ini memberi peneliti model metode pengoptimalan tipe data yang lebih fleksibel, dan juga memungkinkan pengembang arsitektur perangkat keras untuk mendukung tipe data yang lebih luas tanpa mengubah perangkat keras.
T-MAC: Perhitungan perkalian matriks presisi campuran bit rendah universal tanpa perkalian
Untuk memungkinkan perangkat keras yang ada mendukung mode data yang berbeda dan perkalian matriks presisi campuran, saat menerapkan model besar di sisi akhir, pendekatan yang umum adalah dengan melakukan kuantisasi terbalik pada model bit rendah. Namun, ada dua masalah utama dengan pendekatan ini: pertama, dari perspektif kinerja, overhead konversi dalam proses dekuantisasi dapat mengimbangi peningkatan kinerja yang disebabkan oleh kuantisasi bit rendah. Kedua, dari perspektif pengembangan, pengembang perlu menargetkan desain ulang yang berbeda; tata letak data dan kernel perhitungan untuk presisi campuran. Para peneliti di Microsoft Research Asia percaya bahwa kunci untuk menerapkan model besar terkuantisasi bit rendah pada perangkat terletak pada cara mendobrak penerapan perkalian matriks tradisional berdasarkan karakteristik bit rendah.
Untuk tujuan ini, para peneliti telah mengusulkan dari tingkat sistem dan algoritmaT-MAC, sebuah metode berdasarkan tabel pencarian (LUT, Tabel Pencarian), membantu model besar dengan kuantisasi bit rendah mencapai inferensi yang efisien pada CPU.Ide inti T-MAC adalah memanfaatkan karakteristik bahwa salah satu ujung perkalian matriks presisi campuran adalah bit yang sangat rendah (seperti 1 bit atau 2 bit). Hasil keluarannya hanya 2 pangkat 1 dan 2 pangkat 2. Hasil keluaran yang lebih kecil ini dapat dihitung terlebih dahulu dan disimpan dalam tabel. Selama pengoperasian, hasilnya hanya perlu dibaca dari tabel, menghindari kebutuhan akan perhitungan berulang sangat mengurangi jumlah operasi perkalian dan penjumlahan.
Secara khusus,T-MAC mengubah perkalian sentris tipe data tradisional menjadi operasi tabel pencarian berbasis bit, memungkinkan solusi perkalian matriks presisi campuran yang terpadu dan dapat diskalakan yang mengurangi ukuran tabel dan meminimalkan biaya akses acak dalam unit memori cepat tabel berkurang.Inovasi ini membuka jalan untuk menerapkan model besar terkuantisasi bit rendah pada perangkat edge dengan sumber daya terbatas.
Gambar 2: Diagram skema T-MAC
Dalam pengujian terhadap model bahasa besar Llama terkuantisasi bit rendah dan BitNet 1-bit, T-MAC menunjukkan keunggulan kinerja yang signifikan. Pada Surface Laptop 7 yang dilengkapi Qualcomm Snapdragon terbaru, kecepatan pembangkitan model Llama 4bit 7B dapat mencapai 20 token per detik, yang jauh lebih cepat daripada kecepatan rata-rata membaca manusia. Dibandingkan dengan kerangka Llama.cpp asli, ini 4 hingga 5 kali lebih cepat dan bahkan dua kali lebih cepat dari akselerator NPU khusus.
Bahkan pada perangkat berkinerja rendah seperti Raspberry Pi 5, T-MAC memungkinkan model 3B BitNet-b1.58 mencapai tingkat pembangkitan 11 token per detik. T-MAC juga memiliki keunggulan daya yang signifikan, mencapai tingkat pembangkitan yang sama pada perangkat dengan sumber daya terbatas dan hanya memerlukan 1/4 hingga 1/6 jumlah inti dari Llama.cpp asli.
Hasil ini menunjukkan bahwa T-MAC memberikan solusi praktis yang membuatnya lebih efisien untuk menerapkan model bahasa besar pada perangkat edge menggunakan CPU tujuan umum tanpa bergantung pada GPU, sehingga memungkinkan model besar untuk diterapkan pada perangkat dengan sumber daya terbatas mempromosikan penerapan model besar dalam skenario yang lebih luas.
LUT Tensor Core: Mendorong akselerator perangkat keras generasi berikutnya dengan dukungan asli untuk perkalian matriks presisi campuran
T-MAC dan Ladder menerapkan dukungan optimal untuk perkalian matriks presisi campuran pada arsitektur CPU dan GPU yang ada. Meskipun inovasi tingkat perangkat lunak ini secara signifikan meningkatkan efisiensi komputasi, inovasi tersebut masih belum seefisien akselerator perangkat keras yang dapat langsung mengimplementasikan tabel pencarian khusus. Para peneliti percaya bahwa pendekatan yang paling ideal adalah mendesain ulang akselerator perangkat keras sehingga CPU, GPU, dll. dapat mendukung perkalian matriks presisi campuran. Namun, tujuan ini menghadapi tiga tantangan utama:
Untuk mengatasi tantangan ini, para peneliti di Microsoft Research Asia merancangLUT Tensor Core, mikroarsitektur GPU Tensor Core yang menggunakan tabel pencarian untuk secara langsung melakukan perkalian matriks presisi campuran.Di satu sisi, desain berdasarkan tabel pencarian menyederhanakan operasi perkalian menjadi operasi pra-perhitungan tabel, dan hasilnya dapat langsung dicari di tabel untuk meningkatkan efisiensi perhitungan. Di sisi lain, pendekatan ini juga menyederhanakan persyaratan perangkat keras. Hanya memerlukan register untuk penyimpanan tabel dan multiplexer untuk pencarian, tanpa memerlukan pengganda dan penambah. Pada saat yang sama, LUT Tensor Core mencapai fleksibilitas dalam akurasi bobot melalui desain bit-serial, dan menggunakan kuantisasi tabel untuk mencapai fleksibilitas dalam akurasi aktivasi.
Selain itu, untuk berintegrasi dengan mikroarsitektur GPU dan tumpukan perangkat lunak yang ada, para peneliti memperluas set instruksi MMA yang ada di GPU, menambahkan serangkaian instruksi LMMA, dan merancang tumpukan perangkat lunak yang mirip dengan cuBLAS untuk diintegrasikan ke dalam GPU yang ada beberapa kerangka kerja DNN. Para peneliti juga merancang kompiler untuk perencanaan eksekusi end-to-end pada GPU dengan LUT Tensor Cores. Pendekatan inovatif ini memungkinkan adopsi LUT Tensor Cores dengan lancar dan cepat.
Gambar 3: Ikhtisar mikroarsitektur LUT Tensor Core
Pengujian pada model Llama dan BitNet menunjukkan bahwa LUT Tensor Core dapat memberikan kecepatan inferensi hingga 6,93 kali lipat dan hanya mencakup 38,7% dari luas Tensor Core tradisional. Dengan akurasi model yang hampir sama, hal ini setara dengan 20,7 kali kepadatan komputasi dan 19,1 kali peningkatan efisiensi energi. Seiring dengan meningkatnya skala dan kompleksitas model kecerdasan buatan berukuran besar, LUT Tensor Core membantu mengembangkan potensi model bahasa besar berukuran kecil dan mendorong penerapan kecerdasan buatan dalam skenario baru.
“Metode tabel pencarian telah membawa perubahan dalam paradigma komputasi. Di masa lalu, kami mengandalkan operasi perkalian dan akumulasi matriks, namun di era model besar, berkat teknologi kuantisasi bit rendah, tabel pencarian Dibandingkan dengan aritmatika titik mengambang tradisional atau perkalian matriks, metode tabel pencarian lebih ringan dan efisien dalam perhitungan, dan lebih mudah untuk diperluas pada tingkat perangkat keras. Metode ini dapat mencapai kepadatan transistor yang lebih tinggi dan memberikan throughput yang lebih besar per unit bidang chip, sehingga mendorong pengembangan arsitektur perangkat keras. Inovasi." kata Cao Ting, kepala peneliti di Microsoft Research Asia.
Efek jangka panjang dari kuantisasi bit rendah: menghadirkan kemungkinan-kemungkinan baru pada kecerdasan yang diwujudkan
Teknologi kuantisasi bit rendah tidak hanya mengoptimalkan efisiensi pengoperasian model besar pada perangkat sisi akhir, namun juga memberikan ruang baru untuk perluasan parameter model (Scale up) dengan mengurangi "volume" satu parameter. Kemampuan perluasan parameter ini memberikan model fleksibilitas dan kemampuan ekspresif yang lebih besar. Seperti yang ditunjukkan oleh model BitNet, model ini dimulai dari model bit rendah dan secara bertahap diperluas ke pelatihan skala besar.
Teknologi inovatif Microsoft Research Asia seperti T-MAC, Ladder, dan LUT Tensor Core memberikan solusi pengoperasian berkinerja tinggi untuk berbagai model besar terkuantisasi bit rendah, memungkinkan model ini berjalan secara efisien di berbagai perangkat dan mendorong penelitian ilmiah untuk merancang dan mengoptimalkan model besar dari perspektif bit rendah. Beberapa dari teknologi ini telah berperan dalam model pencarian besar seperti pencarian Bing Microsoft dan bisnis periklanannya.Dengan berkurangnya memori dan sumber daya komputasi, penerapan model bit rendah yang besar pada sistem cerdas seperti robot juga akan dimungkinkan, sehingga perangkat ini dapat mencapai persepsi dinamis dan interaksi real-time dengan lingkungan dengan lebih baik.
Saat ini, T-MAC dan Ladder telah bersumber terbuka di GitHub. Pengembang terkait dipersilakan untuk menguji aplikasi dan mengeksplorasi lebih banyak kemungkinan teknologi kecerdasan buatan dengan Microsoft Research Asia.