成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CPU反超NPU,llama.cpp生成速度翻5倍!LLM端側部署新范式T-MAC開源

人工智能 新聞
T-MAC是一種創新的基于查找表(LUT)的方法,專為在CPU上高效執行低比特大型語言模型(LLMs)推理而設計,無需權重反量化,支持混合精度矩陣乘法(mpGEMM),顯著降低了推理開銷并提升了計算速度。

為增強設備上的智能性,在邊緣設備部署大型語言模型(LLMs)成為了一個趨勢,比如微軟的Windows 11 AI + PC。

目前部署的大語言模型多會量化到低比特。然而,低比特LLMs在推理過程中需要進行低精度權重和高精度激活向量的混合精度矩陣乘法(mpGEMM)。現有的系統由于硬件缺乏對mpGEMM的原生支持,不得不將權重反量化以進行高精度計算。這種間接的方式導致了顯著的推理開銷,并且無法隨著比特數進一步降低而獲得加速。

為此,微軟亞洲研究院、中國科學技術大學、中國科學院大學的研究人員聯合開發了T-MAC。T-MAC采用基于查找表(LUT)的計算范式,無需反量化,直接支持混合精度矩陣乘,其高效的推理性能以及其統一且可擴展的特性為在資源受限的邊緣設備上實際部署低比特LLMs鋪平了道路。

圖片

代碼:https://github.com/microsoft/T-MAC

論文:https://www.arxiv.org/pdf/2407.00088

此外,當前大模型的部署普遍依賴于專用加速器,如NPU和GPU等,而T-MAC可以擺脫專用加速器的依賴,僅利用CPU部署LLMs,推理速度甚至能夠超過同一片上的專用加速器,使LLMs可以部署在各類包括PC、手機、樹莓派等邊緣端設備。T-MAC現已開源。

在CPU上高效部署低比特大語言模型

T-MAC的關鍵創新在于采用基于查找表(LUT)的計算范式,而非傳統的乘累加(MAC)計算范式。T-MAC 利用查找表直接支持低比特計算,從而消除了其他系統中必須的反量化(dequantization)操作,并且顯著減少了乘法和加法操作的數量。經過實驗,T-MAC展現出了卓越的性能:在配備了最新高通Snapdragon X Elite芯片組的Surface AI PC 上,3B BitNet-b1.58模型的生成速率可達每秒48個token,2bit 7B llama模型的生成速率可達每秒30個token,4bit 7B llama模型的生成速率可達每秒20個token。這甚至超越了NPU的性能!當部署llama-2-7b-4bit模型時,盡管使用NPU可以生成每秒10.4個token,但CPU在T-MAC的助力下,僅使用兩核便能達到每秒12.6個token,最高甚至可以飆升至每秒22個token。這些都遠超人類的平均閱讀速度,相比于原始的llama.cpp框架提升了4至5倍。

即使在較低端的設備如Raspberry Pi 5上,T-MAC針對3B BitNet-b1.58也能達到每秒11個token的生成速率。T-MAC也具有顯著的功耗優勢:達到相同的生成速率,T-MAC所需的核心數僅為原始llama.cpp的1/4至1/6,降低能耗的同時也為其它應用留下計算資源。

值得注意的是,T-MAC的計算性能會隨著比特數的降低而線性提高,這一現象在基于反量化去實現的GPU和NPU中是難以觀察到的。但T-MAC能夠在2比特下實現單核每秒10個token,四核每秒28個token,大大超越了NPU的性能。

圖片圖1 BitNet on T-MAC vs llama.cpp on Apple M2

圖片

圖2 在不同端側設備CPU(Surface Laptop 7, NVIDIA AGX Orin, Apple M2-Ultra)的各核數下T-MAC和llama.cpp的token生成速度可達llama.cpp的4-5倍。達到相同的生成速率,T-MAC所需的核心數僅為原始llama.cpp的1/4至1/6

矩陣乘不需乘,只需查表 (LUT)

對于低比特參數 (weights),T-MAC將每一個比特單獨進行分組(例如,一組4個比特),這些比特與激活向量相乘,預先計算所有可能的部分和,然后使用LUT進行存儲。

之后,T-MAC采用移位和累加操作來支持從1到4的可擴展位數。通過這種方法,T-MAC拋棄了CPU上效率不高的FMA(乘加)指令,轉而使用功耗更低效率也更高的TBL/PSHUF(查表)指令。

圖片

圖3 混合精度GEMV基于現有反量化的實現范式vs T-MAC基于查找表的新范式

以比特為核心的計算,取代以數據類型為核心的計算

傳統的基于反量化的計算,實際上是以數據類型為核心的計算,這種方式需要對每一種不同的數據類型單獨定制。

每種激活和權重的位寬組合,如W4A16(權重int4激活float16) 和W2A8,都需要特定的權重布局和計算內核。

舉個例子,W3的布局需要將2位和另外1位分開打包,并利用不同的交錯或混洗方法進行內存對齊或快速解碼。然后,相應的計算內核需要將這種特定布局解包到硬件支持的數據類型進行執行。

而T-MAC通過從比特的視角觀察低比特矩陣乘計算,只需為單獨的一個比特設計最優的數據結構,然后通過堆疊的方式擴展到更高的2/3/4比特。

同時,對于不同精度的激活向量(float16/float32/int8),僅有構建表的過程需要發生變化,在查表的時候不再需要考慮不同的數據結構。

圖4 以比特為核心的查表計算混合精度GEMV

同時,傳統基于反量化的方法,從4-比特降低到3/2/1-比特時,盡管內存占用更少,但是計算量并未減小,而且由于反量化的開銷不減反增,性能反而可能會更差。

但T-MAC的計算量隨著比特數降低能夠線性減少,從而在更低比特帶來更好加速,為最新的工作BitNet,EfficientQAT等發布的1-比特/2-比特模型提供了高效率的部署方案。

圖5 使用不同端側設備CPU的單核,T-MAC在4到1比特的混合精度GEMV算子相較llama.cpp加速3-11倍。T-MAC的GEMM耗時能隨著比特數減少線性減少,而基于反量化的llama.cpp無法做到(1比特llama.cpp的算子性能由其2比特實現推算得到)

高度優化的算子實現

基于比特為核心的計算具有許多優勢,但將其實現在CPU上仍具有不小的挑戰:

(1)與激活和權重的連續數據訪問相比,表的訪問是隨機的。表在快速片上內存中的駐留對于最終的推理性能尤為重要;

(2)然而,片上內存是有限的,查找表(LUT)方法相比傳統的mpGEMV增大了片上內存的使用。這是因為查找表需要保存激活向量與所有可能的位模式相乘的結果。這比激活本身要多得多。

圖6 T-MAC與llama.cpp在計算數據流上的不同

為此,微軟亞洲研究院的研究員們深入探究了基于查表的計算數據流,為這種計算范式設計了高效的數據結構和計算流程,其中包括:

1. 將LUT存入片上內存,以利用CPU上的查表向量指令(TBL/PSHUF)提升隨機訪存性能。

2. 改變矩陣axis計算順序,以盡可能提升放入片上內存的有限LUT的數據重用率。

3. 為查表單獨設計最優矩陣分塊(Tiling)方式,結合autotvm搜索最優分塊參數

4. 參數weights的布局優化

a)weights重排,以盡可能連續訪問并提升緩存命中率

b)weights交錯,以提升解碼效率

5. 對Intel/ARM CPU 做針對性優化,包括

a)寄存器重排以快速建立查找表

b)通過取平均數指令做快速8-比特累加

研究員們在一個基礎實現上,一步步應用各種優化,最終相對于SOTA低比特算子獲得顯著加速:

圖7:在實現各種優化后,T-MAC 4-比特算子最終相對于llama.cpp 獲得顯著加速

責任編輯:張燕妮 來源: 新智元
相關推薦

2023-07-10 13:46:58

PythonLlama.cppLLM

2025-01-20 07:58:51

2019-09-17 14:16:57

工具代碼開發

2023-08-17 16:07:16

模型優化

2023-07-26 00:34:45

JavaOracle模式

2025-04-29 07:47:27

2023-06-30 09:00:00

Falcon LLM開源

2022-04-26 15:24:03

開源框架

2012-10-30 14:08:59

Titan超級計算機NVIDIA

2025-03-07 10:02:10

2023-09-27 23:21:34

2024-12-13 14:03:44

模型訓練AI

2025-05-21 13:52:39

LLM模型

2024-03-28 12:53:00

AI數據

2020-07-08 11:35:59

云計算5G技術

2021-01-13 15:16:45

谷歌架構開發者

2024-12-17 12:30:00

2012-08-06 13:28:25

Wi-Fi

2024-09-18 09:40:00

大模型LLMAI

2009-03-30 14:12:38

LinuxUnladenSwallow
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品1区 | 亚州激情 | 亚洲在线中文字幕 | 久久久久久久一级 | 美女视频黄的 | 成人在线电影在线观看 | 精品国产乱码久久久久久图片 | 亚洲国产成人av好男人在线观看 | 天天天天操 | 国产精品一区二区在线 | 免费国产精品久久久久久 | 日韩欧美手机在线 | 日韩精品1区2区3区 爱爱综合网 | 国产ts人妖系列高潮 | 日韩一区二区免费视频 | 日韩精品成人网 | 91精品一区二区三区久久久久 | 亚洲国产欧美精品 | 翔田千里一区二区 | 日韩中文字幕2019 | 免费黄色片在线观看 | 男女爱爱福利视频 | 日日草夜夜草 | 日本免费一区二区三区视频 | 国产成人精品一区二区 | 狠狠操电影 | 亚洲免费毛片 | 中文天堂在线一区 | 亚洲成人黄色 | 国产成人精品一区二区三区四区 | 波多野结衣一区二区 | 日本精品一区二区三区在线观看视频 | 久久久91 | 亚洲视频中文字幕 | 国产精品区二区三区日本 | 91精品国产综合久久国产大片 | 成人中文字幕在线观看 | 国产精品久久久久久久久久软件 | 成人免费在线视频 | 亚洲精品一区中文字幕乱码 | 日韩欧美在线观看一区 |