在人工智能領(lǐng)域,模型參數(shù)的增多往往意味著性能的提升。但隨著模型規(guī)模的擴(kuò)大,其對終端設(shè)備的算力與內(nèi)存需求也日益增加。低比特量化技術(shù),由于可以大幅降低存儲和計算成本并提升推理效率,已成為實現(xiàn)大模型在資源受限設(shè)備上高效運(yùn)行的關(guān)鍵技術(shù)之一。然而,如果硬件設(shè)備不支持低比特量化后的數(shù)據(jù)模式,那么低比特量化的優(yōu)勢將無法發(fā)揮。
為了解決這一問題,微軟亞洲研究院推出了全新的數(shù)據(jù)編譯器 Ladder 和算法 T-MAC,使當(dāng)前只支持對稱精度計算的硬件能夠直接運(yùn)行混合精度矩陣乘法。測試結(jié)果表明,Ladder 在支持 GPU 原本不支持的自定義數(shù)據(jù)類型方面,最高提速可達(dá)14.6倍;T-MAC 在搭載了最新高通 Snapdragon X Elite 芯片組的 Surface AI PC 上,使 CPU 上運(yùn)行的大模型吞吐率比專用加速器 NPU 快兩倍。此外,研究員們還設(shè)計了 LUT Tensor Core 硬件架構(gòu),這種精簡設(shè)計使硬件能夠直接支持各種低比特混合精度計算,為人工智能硬件設(shè)計提供了新思路。
大模型已經(jīng)越來越多地被部署在智能手機(jī)、筆記本電腦、機(jī)器人等端側(cè)設(shè)備上,以提供先進(jìn)的智能及實時響應(yīng)服務(wù)。但包含上億參數(shù)的大模型對終端設(shè)備的內(nèi)存和計算能力提出了極高的要求,也因此限制了它們的廣泛應(yīng)用。低比特量化技術(shù)因其能顯著壓縮模型規(guī)模,降低對計算資源的需求,成為了大模型在端側(cè)部署和實現(xiàn)高效推理的有效手段。
隨著低比特量化技術(shù)的發(fā)展,數(shù)據(jù)類型日益多樣化,如 int4、int2、int1 等低比特數(shù)據(jù),使得大模型在推理中越來越多地采用低比特權(quán)重和高比特權(quán)重計算的混合精度矩陣乘法(mixed-precision matrix multiplication,mpGEMM)。然而,現(xiàn)有的 CPU、GPU 等硬件計算單元通常只支持對稱計算模式,并不兼容這種混合精度的矩陣乘法。
混合精度矩陣乘法與傳統(tǒng)的矩陣乘法有何不同?
在傳統(tǒng)的矩陣乘法中,參與運(yùn)算的兩端數(shù)值是對稱的,例如 FP16*FP16、int8*int8。但大模型的低比特量化打破了這種對稱性,使乘法的一端是高比特,另一端是低比特,例如在 1-bit 的 BitNet 模型中實現(xiàn)的 int8*int1 或 int8*int2,以及浮點(diǎn)數(shù)與整數(shù)的混合乘法 FP16*int4。
為了充分發(fā)揮低比特量化的優(yōu)勢,讓硬件設(shè)備能夠直接支持混合精度矩陣乘法,確保大模型在端側(cè)設(shè)備上的高速有效運(yùn)行,微軟亞洲研究院的研究員們針對現(xiàn)有 CPU、GPU 計算算子和硬件架構(gòu)進(jìn)行創(chuàng)新:
- 推出了數(shù)據(jù)類型編譯器 Ladder,支持各種低精度數(shù)據(jù)類型的表達(dá)和相互轉(zhuǎn)換,將硬件不支持的數(shù)據(jù)類型無損轉(zhuǎn)換為硬件支持的數(shù)據(jù)類型指令,在傳統(tǒng)計算模式下,使得硬件能夠支持混合精度的 DNN(深度神經(jīng)網(wǎng)絡(luò))計算;
- 研發(fā)了全新算法 T-MAC,基于查找表(Lookup Table,LUT)的方法,實現(xiàn)了硬件對混合精度矩陣乘法的直接支持,軟件層面,在 CPU 上的計算相比傳統(tǒng)計算模式取得了更好的加速;
- 提出了新的硬件架構(gòu) LUT Tensor Core,為下一代人工智能硬件設(shè)計打開了新思路。
