量子位 | 公眾號 QbitAI
上交大IPADS實驗室 投稿
原本需要一張16萬元的80G A100干的活,現(xiàn)在只需要一張不到2萬元的24G 4090就夠了!
上海交大IPADS實驗室推出的開源推理框架PowerInfer,讓大模型推理速度加快了11倍。
而且不用量化,就用FP16精度,也能讓40B模型在個人電腦上運行;如果加入量化,2080 Ti也能流暢運行70B模型。
結(jié)合大模型的獨特特征,通過CPU與GPU間的混合計算,PowerInfer能夠在顯存有限的個人電腦上實現(xiàn)快速推理。
相比于llama.cpp,PowerInfer實現(xiàn)了高達11倍的加速,讓40B模型也能在個人電腦上一秒能輸出十個token。
我們最熟悉的ChatGPT,一方面有時會因為訪問量過大而宕機,另一方面也存在數(shù)據(jù)安全問題。
開源模型能較好地解決這兩個問題,但如果沒有高性能的顯卡,運行速度往往十分感人:

而PowerInfer的出現(xiàn),剛好解決了這個痛點。
PowerInfer一經(jīng)發(fā)布就引起熱烈反響,不到24小時就獲得了500+星標,其中還有一顆來自llama.cpp的作者Gerganov。

目前,PowerInfer的源碼和論文均已公開,下面就一起看看它的加速效果究竟有多強。
推理速度最高11倍
在搭載x86 CPU和NVIDIA GPU的消費級硬件平臺上,PowerInfer以參數(shù)量從7B到175B的一系列LLM模型為基準,對PowerInfer的端到端推理速度進行了測試,并和同平臺上性能最好的推理框架llama.cpp進行了對比。
對于FP16精度的模型,在搭載了13代Intel Core i9和單張RTX 4090的高端PC(PC-High)上,PowerInfer平均實現(xiàn)了7.23倍的速度提升,其中在Falcon 40B上實現(xiàn)了高達11.69倍的速度提升。
在所有測試用例上,PowerInfer平均達到了8.32 tokens/s,在OPT 30B和Falcon 40B上最高分別達到16.06 tokens/s和12.94 tokens/s。
借助PowerInfer,當今的消費級平臺可以流暢運行30-40B級別的LLM,并以可以接受的速度運行70B級別的LLM。

△ PowerInfer在不同長度下平均生成token速度,縱坐標為加速比,柱狀圖上方數(shù)字代表每秒鐘能生成的token數(shù)
模型量化是端側(cè)LLM推理非常常用的技術(shù),PowerInfer也支持了INT4量化模型的推理。
PowerInfer分別在高端PC(PC-High)和搭載單張RTX 2080Ti的中低端PC(PC-Low)上測試了一系列INT4量化模型的推理速度。
在PC-High上,PowerInfer能夠高速運行40-70B規(guī)模的模型,最高達到了29.09 tokens/s的推理速度,并且實現(xiàn)了平均2.89倍,最高4.28倍的速度提升。
同時,在消費級硬件上運行OPT-175B這種規(guī)模的模型也成為可能。
在PC-Low這種中低端PC上,PowerInfer可以流暢運行30-70B規(guī)模的模型,并實現(xiàn)平均5.01倍,最高8.00倍的速度提升,這主要得益于INT4量化后模型大部分熱神經(jīng)元得以放置在顯存中。

△ PowerInfer在INT4量化模型中的推理速度,縱坐標為加速比,柱狀圖上方數(shù)字代表了每秒鐘能生成的token數(shù)量
最后,PowerInfer對比了PC-High上運行PowerInfer相比于云端頂級計算卡A100運行SOTA框架vLLM的端到端推理速度,測試模型為FP16精度的OPT-30B和Falcon-40B(ReLU)。
當輸入長度為64時,PowerInfer對A100的速度差距從93%-94%縮小到了28%-29%;在輸入長度為1的純生成場景中,這一差距會被進一步縮小到低至18%。
這代表著PowerInfer借助稀疏激活和CPU/GPU混合推理,極大地彌合了消費級顯卡到頂尖服務端計算卡的推理速度差距。

△PowerInfer在4090上與vLLM在A100的性能對比
那么,PowerInfer是如何實現(xiàn)消費級硬件上的高速推理的呢?
充分利用模型和硬件特點
PowerInfer實現(xiàn)高速推理的秘訣,在于充分利用了稠密模型存在的高局部性的稀疏激活,并與CPU和GPU的運算特點進行了充分結(jié)合。
何謂“稀疏激活”?
最近Mixtral MoE大模型引爆了整個AI圈,稀疏模型重新進入大家的視野。
一個有趣的事實是:像OPT、LLaMA(ReLU)這樣被視為稠密模型的LLM,同樣存在稀疏激活的特征。
什么是稠密模型的稀疏激活呢?
和MoE模型中一個輸入token只需要激活FFN layer其中一個或者兩個專家模塊類似,以OPT模型的稠密FFN層為例,只需要激活一小部分(實驗顯示約10%)神經(jīng)元即可保證輸出的正確性。
其他的神經(jīng)元雖然參與了計算,但并沒有對輸出產(chǎn)生明顯貢獻。
換句話說,稠密模型中的每一個神經(jīng)元都是一個專家!
△ 左圖來自Alexander Clark論文(aRXiv編號:2101.03961)
MoE模型可以在專家FFN層之前通過路由模塊將輸入分發(fā)給其中一個或者兩個專家進行計算,那么稠密模型中的稀疏激活又該如何路由或者在計算之前就知道哪些專家神經(jīng)元會對結(jié)果產(chǎn)生貢獻呢?
答案是為稠密模型增加路由預測模塊。
在模型開始服務前,PowerInfer首先會對模型進行離線分析,通過將模型在通用數(shù)據(jù)集中進行推理獲取每一層輸入與激活神經(jīng)元之間的對應關系,進而為稠密模型每一層訓練一個小的預測路由模塊來預測每一個輸入會激活的神經(jīng)元,只計算路由激活的神經(jīng)元(專家)。
在多個下游任務的測試中,PowerInfer的路由模塊幾乎沒有引入額外的精度損失。
稀疏激活帶來的推理局部性
稀疏激活的另一個有趣事實是,盡管對于不同的輸入token,激活的神經(jīng)元分布存在差異;但如果在足夠多的數(shù)據(jù)上進行推理,并將每次激活的分布疊加,PowerInfer發(fā)現(xiàn)少部分神經(jīng)元總體上被激活的概率更高。
也就是說,統(tǒng)計意義上大模型神經(jīng)元的激活符合Power Law分布(Power Law分布是一種統(tǒng)計規(guī)律,表示少數(shù)事件的發(fā)生頻率遠高于大量其他事件)。
如下圖(a)所示,對于OPT-30B和LLaMA(ReGLU)-70B兩個模型里的某一層FFN網(wǎng)絡,統(tǒng)計意義上26%和43%的神經(jīng)元分別貢獻了80%的激活。
而在整個模型的尺度上,如下圖(b)所示,17%和26%的神經(jīng)元貢獻了80%的激活。

因此,當只考慮對最終激活有貢獻的運算時,LLM具有推理局部性:對權(quán)重的訪問傾向于集中在一定的區(qū)域,而不是均勻分布在所有的神經(jīng)元上。
在推理運算中它顯現(xiàn)為程序的局部性:對內(nèi)存空間的訪問傾向于集中在一定的區(qū)域,而不是均勻分布在整個內(nèi)存空間。
在常見的個人電腦中,GPU具有較少的顯存和更強的計算能力,適合處理頻繁訪問且計算強度高的任務;而CPU擁有更大的內(nèi)存容量但相對較弱的算力,適合處理少量訪問且計算強度低的任務。
因此,理想情況下,一小部分經(jīng)常訪問的神經(jīng)元應該存儲在顯存中,相比之下更大、訪問頻率更低的神經(jīng)元更適合存儲在內(nèi)存中,由CPU進行計算。
這啟發(fā)了PowerInfer基于局部性特征進行CPU/GPU混合推理系統(tǒng)的設計。
CPU/GPU混合推理設計
根據(jù)上述神經(jīng)元的Power Law和由此產(chǎn)生的局部性,PowerInfer通過提前靜態(tài)分析每一個神經(jīng)元的冷熱性,將少量的熱神經(jīng)元加載在GPU顯存上,剩余的冷神經(jīng)元加載到CPU的內(nèi)存中。
以神經(jīng)元為粒度的模型混合加載,會出現(xiàn)一層內(nèi)有些神經(jīng)元在GPU上,有些神經(jīng)元在CPU上。
為此,PowerInfer設計了細粒度的CPU/GPU混合推理引擎。
以下圖為例,對于某一層的輸入,PowerInfer會首先預測該輸入會激活神經(jīng)元為3,4,5。
然后CPU、GPU會分別根據(jù)預測信息,執(zhí)行位于其內(nèi)存中的神經(jīng)元的計算。
具體以下圖的例子來說,CPU上會計算第四個神經(jīng)元,GPU上會計算第三個、第五個神經(jīng)元,然后再GPU上對兩邊的計算結(jié)果進行合并。

△PowerInfer混合計算的方式
PowerInfer的整體架構(gòu)
總體而言,PowerInfer利用基于稠密模型的稀疏激活及其引入的局部性特性,開發(fā)出了一種創(chuàng)新的CPU/GPU混合推理引擎。
在接入一個大型語言模型(LLM)時,PowerInfer首先在離線階段對模型的預測路由模塊進行訓練,并深入分析模型的激活特征。
同時,結(jié)合目標硬件的帶寬和容量等關鍵信息,計算出最佳的神經(jīng)元放置策略。
在此基礎上,PowerInfer會根據(jù)這些計算結(jié)果,將神經(jīng)元優(yōu)化地分布在內(nèi)存或顯存中。
在在線推理階段,CPU和GPU分別處理存儲在其內(nèi)存中的神經(jīng)元,隨后在GPU上對這些獨立計算的結(jié)果進行高效合并。

△ PowerInfer整體架構(gòu)圖
總結(jié)與展望
對于端側(cè)用戶而言,PowerInfer的高效推理框架打開了新的可能性。
首先,它使得個人電腦用戶能夠在本地運行先進的大型語言模型,而無需昂貴的專業(yè)硬件。
這不僅促進了人工智能應用的普及化,也為愛好者、研究人員和小型企業(yè)提供了前所未有的機會。
在云端部署方面,PowerInfer同樣存在巨大的潛力。
現(xiàn)有的云端CPU也有強大的AMX計算單元支持,通過利用CPU、GPU間的異構(gòu)特征,可以樂觀地認為PowerInfer能夠使用更少的高端計算卡,做到更高的服務吞吐。
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請謹慎對待。投資者據(jù)此操作,風險自擔。
海報生成中...
海藝AI的模型系統(tǒng)在國際市場上廣受好評,目前站內(nèi)累計模型數(shù)超過80萬個,涵蓋寫實、二次元、插畫、設計、攝影、風格化圖像等多類型應用場景,基本覆蓋所有主流創(chuàng)作風格。
9月9日,國際權(quán)威市場調(diào)研機構(gòu)英富曼(Omdia)發(fā)布了《中國AI云市場,1H25》報告。中國AI云市場阿里云占比8%位列第一。
IDC今日發(fā)布的《全球智能家居清潔機器人設備市場季度跟蹤報告,2025年第二季度》顯示,上半年全球智能家居清潔機器人市場出貨1,2萬臺,同比增長33%,顯示出品類強勁的市場需求。