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