• 首頁 > 云計算頻道 > 大模型

    手機流暢運行470億大模型:上交大發(fā)布LLM手機推理框架PowerInfer-2,提速29倍

    2024年06月12日 15:34:42   來源:量子位公眾號

      蘋果一出手,在手機等移動設備上部署大模型不可避免地成為行業(yè)關注焦點。

      然而,目前在移動設備上運行的模型相對較小(蘋果的是 3B,谷歌的是 2B),并且消耗大量內存,這在很大程度上限制了其應用場景。

      即使是蘋果,目前也需要與 OpenAI 合作,通過將云端 GPT-4o 大模型嵌入到操作系統(tǒng)中來提供能力更強的服務。

      這樣一來,蘋果的混合方案引起了非常多關于數(shù)據(jù)隱私的討論和爭議,甚至馬斯克都下場討論

      如果蘋果在操作系統(tǒng)層面集成 OpenAI,那么蘋果設備將被禁止在我的公司使用。這是不可接受的安全違規(guī)行為。

      既然終端側本地部署大模型的方案既讓手機用戶享受到 AI 強大的智能,又能保護好自己的隱私安全,為什么蘋果還要冒著侵犯隱私的風險選擇聯(lián)手 OpenAI 采用云端大模型呢?主要挑戰(zhàn)有兩點:

      手機內存不夠大:按照大模型的 Scaling Law 法則,模型參數(shù)越大,能力對應的也就越強,這就意味著能力更強的模型對內存的要求越高。

      手機算力不夠強:即使勉強把通過量化等手段把模型塞進手機了,推理速度也慢,適合的應用場景也就非常有限了。

      為了解決上述挑戰(zhàn),上海交大 IPADS 實驗室推出了面向手機的大模型推理引擎(目前論文已在 arxiv 公開):PowerInfer-2.0。

      PowerInfer-2.0 能夠在內存有限的智能手機上實現(xiàn)快速推理,讓 Mixtral 47B 模型在手機上達到11 tokens/s的速度。

      與熱門開源推理框架 llama.cpp 相比,PowerInfer-2.0 的推理加速比平均達到 25 倍,最高達 29 倍。

      為了充分釋放出 PowerInfer-2.0 框架的最大潛力,上海交大團隊還提出了配套的大模型優(yōu)化技術Turbo Sparse,相關論文近期也上傳了 arxiv,并且已經(jīng)在業(yè)內引起關注。

      另外值得一提的是,去年底上海交大團隊提出了針對 PC 場景的快速推理框架 PowerInfer-1.0,在 4090 等消費級顯卡的硬件上,實現(xiàn)了比 llama.cpp 高達 11 倍的推理加速,曾連續(xù)三天登頂 GitHub 趨勢榜,5 天獲得了 5k 的 GitHub star,目前已達到 7.1k star。

      相比 PC,手機的內存和算力受到的約束更多,那么這次的 PowerInfer-2.0 是如何針對手機場景加速大模型推理呢?

      動態(tài)神經(jīng)元緩存

      首先,針對手機運行內存(DRAM)不足的問題,PowerInfer-2.0 利用了稀疏模型推理時的一個特點:每次只需要激活一小部分神經(jīng)元,即 " 稀疏激活 "。沒有被激活的神經(jīng)元即使不參與 AI 模型的推理計算,也不會對模型的輸出質量造成影響。

      稀疏激活為降低模型推理的內存使用創(chuàng)造了新的機會。為了充分利用稀疏激活的特性,PowerInfer-2.0 把整個神經(jīng)網(wǎng)絡中的神經(jīng)元分成了冷、熱兩種,并在內存中基于 LRU 策略維護了一個神經(jīng)元緩存池。

      近期頻繁激活的 " 熱神經(jīng)元 " 被放置在運行內存中,而 " 冷神經(jīng)元 " 只有在被預測激活的時候,才會被拉進內存,大幅降低了內存使用量。

      其實冷熱神經(jīng)元分類,是繼承自 PowerInfer-1.0 已有的做法。

      而在去年 12 月,蘋果在面向端側的大語言模型推理方案 "LLM in a Flash" 中提出了和神經(jīng)元緩存類似的 " 滑動窗口 " 技術。但這些工作主要針對的都是 PC 環(huán)境,直接遷移到手機環(huán)境,還會遇到新的難題。

      首先手機平臺的硬件條件遠不及 PC,無論是算力、內存總量還是存儲帶寬,都與 PC 存在較大差距。

      其次,手機硬件平臺存在CPU、GPU、NPU 三種異構的計算單元,十分復雜。各大硬件平臺宣發(fā)時都會強調一個總算力,實際上是把 CPU、GPU、NPU 提供的算力加起來。然而真正跑起大模型來,能不能高效利用各種異構算力還是個問題。

      以神經(jīng)元簇為粒度的異構計算

      針對這一點,PowerInfer-2.0 進一步把粗粒度的大矩陣計算分解成細粒度的 " 神經(jīng)元簇 "。

      每個神經(jīng)元簇可以包含若干個參與計算的神經(jīng)元。對于不同的處理器,會根據(jù)處理器的特性來動態(tài)決定劃分出來的神經(jīng)元簇的大小。

      例如,NPU 擅長于做大矩陣的計算,那么可以把所有神經(jīng)元合并成一個大的神經(jīng)元簇,一起交給 NPU 計算,這樣就可以充分利用 NPU 的計算能力。而在使用 CPU 時,可以拆出多個細粒度的神經(jīng)元簇,分發(fā)給多個 CPU 核心一起計算。

      具體而言,PowerInfer-2.0 為模型推理的預填充階段(Prefill)和解碼階段(Decoding)分別設計了兩套神經(jīng)元簇的劃分方案:

      預填充階段會一次性輸入很多 token,基本上絕大部分神經(jīng)元都會被激活,因此選擇使用大神經(jīng)元簇交給 NPU 計算。CPU 此時也沒有閑著,在后臺為 NPU 執(zhí)行反量化模型權重的操作。

      解碼階段每次只有一個 token,具有較高的稀疏性,因此更加適合劃分成若干細粒度的神經(jīng)元簇,交給 CPU 靈活調度和執(zhí)行計算。

      神經(jīng)元簇這一概念除了能夠更好的適應手機的異構計算環(huán)境,還能天然地支持計算與存儲 I/O 的流水線并行執(zhí)行。

      PowerInfer-2.0 提出了分段神經(jīng)元緩存和神經(jīng)元簇級的流水線技術,在一個神經(jīng)元簇等待 I/O 的同時,可以及時地把另一個已經(jīng)準備好的神經(jīng)元簇調度到處理器上進行計算,從而充分隱藏了 I/O 的延遲。

      同時,這種基于神經(jīng)元簇的流水線打破了傳統(tǒng)推理引擎中逐矩陣計算的方式,可以允許來自不同參數(shù)矩陣的神經(jīng)元簇交錯執(zhí)行,達到最高的并行效率。

      I/O 加載神經(jīng)元的速度對于模型推理也至關重要。

      分段緩存會針對不同的權重類型采取不同策略(如注意力權重、預測器權重、前饋網(wǎng)絡權重)采取不同的緩存策略,提高緩存命中率,減少不必要的磁盤 I/O

      緩存還會使用 LRU 替換算法動態(tài)更新每個神經(jīng)元的實際冷熱情況,確保緩存中放著的都是最熱的神經(jīng)元。此外 PowerInfer-2.0 還針對手機 UFS 4.0 存儲的性能特點,設計了專門的模型存儲格式,提高讀取性能。

      最后再來看一下實測成績,使用一加 12 和一加 Ace 2 兩款測試手機,在內存受限的情況下,PowerInfer-2.0 的預填充速度都顯著高于 llama.cpp 與 LLM in a Flash(簡稱 "LLMFlash" ) :

      解碼階段同樣是 PowerInfer-2.0 占據(jù)很大優(yōu)勢。特別是對于 Mixtral 47B 這樣的大模型,也能在手機上跑出 11.68 tokens/s 的速度:

      而對于 Mistral 7B 這種可以放進手機運行內存的模型,PowerInfer-2.0 可以節(jié)約 40% 內存的情況下,達到與 llama.cpp 和 MLC-LLM 同水平甚至更快的解碼速度:

      PowerInfer-2.0 是一個模型 - 系統(tǒng)協(xié)同設計的方案,也就是需要模型中可預測稀疏性的配合。

      如何以低成本的形式調整模型以適配 PowerInfer-2.0 框架,也是一個重大挑戰(zhàn)。

      低成本高質量地大幅提升模型稀疏性

      傳統(tǒng)簡單的 ReLU 稀疏化會給模型原本的能力造成不小的影響。

      為了克服這個問題,上海交大 IPADS 聯(lián)合清華和上海人工智能實驗室提出一個低成本地稀疏化方法,不僅大幅提升模型的稀疏性,還能保持住模型原本的能力!

      首先,論文深入分析了模型稀疏化中的問題:

      在類 LLaMA 模型中中簡單引入 ReLU,雖然能引入一定程度的稀疏性,但稀疏度仍然有限。

      稀疏化過程由于訓練語料的不足和訓練 token 的不足導致模型精度下降的問題。

      為了提升模型的稀疏度,論文在 ReLU 基礎上提出dReLU 激活函數(shù),采用替換原有激活函數(shù)后繼續(xù)預訓練的方式增加模型稀疏性。

      將 SwiGLU 替換為 dReLU 一方面直觀地提高了輸出值中的零元素比例,另一方面能更有效地在稀疏化的過程中復用原本模型訓練完成的 gate 和 up 矩陣權重。

      為了克服模型能力下降的問題,團隊收集了包括網(wǎng)頁、代碼和數(shù)學數(shù)據(jù)集在內的多樣化繼續(xù)訓練語料庫。高質量、多樣化的訓練數(shù)據(jù)有助于模型在稀疏化后更好地保持和提升性能。

      最后,團隊訓練了 2 個 TurboSparse 大模型進行驗證,分別是 8x7B 和 7B 的大模型。得益于高質量的繼續(xù)訓練語料,TurboSparse 系列模型模型的精度甚至還能反超原版模型(具體見表 6)。

      而在稀疏度方面效果也非常顯著。相比于原本的 Mixtral 模型需要激活 13B 參數(shù)量,TurboSparse-Mixtral 只需要激活 4.3B 的參數(shù)量,激活的參數(shù)量是原本模型的三分之一。

      而關于稀疏化過程的成本問題,TurboSparse 論文中介紹,改造過程中模型需要繼續(xù)訓練 150B tokens,相比于預訓練(假設 3T tokens)還不到 5%,說明其成本是很低的。

      讓技術加速走出實驗室

      從推理框架和改造模型兩個角度出發(fā),上海交大團隊的成果實現(xiàn)了大語言模型在手機等資源受限場景下的快速推理。

      而且這套方案的潛力不止于手機,未來在車載設備、智能家居等方向還有更多應用前景。

      最后再正式介紹一下團隊。上海交通大學并行與分布式系統(tǒng)研究所(簡稱 IPADS),由陳海波教授領導,現(xiàn)有 13 名教師,100 多名學生。

      IPADS 長期從事計算機系統(tǒng)的研究,近 10 年在權威榜單 CSRankings 的 Operating Systems 領域排名全球前二,僅次于 MIT;上海交大也是排名前十中唯一上榜的亞洲高校。

      目前,上海交大 IPADS 已經(jīng)在 Huggingface 上開放了稀疏化的模型權重。在未來,如果 PowerInfer-2.0 能夠與手機廠商進一步緊密合作,相信可以加速相關技術走出實驗室,落地到各種真實場景。

      文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據(jù)此操作,風險自擔。

    即時

    新聞

    明火炊具市場:三季度健康屬性貫穿全類目

    奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。

    企業(yè)IT

    重慶創(chuàng)新公積金應用,“區(qū)塊鏈+政務服務”顯成效

    “以前都要去窗口辦,一套流程下來都要半個月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關材料,僅幾秒鐘,重慶市民曾某的賬戶就打進了21600元。

    3C消費

    華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,高能實力,創(chuàng)

    華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來實質性的幫助,雙十一期間低至2799元,性價比很高,簡直是創(chuàng)作者們的首選。

    研究

    中國信通院羅松:深度解讀《工業(yè)互聯(lián)網(wǎng)標識解析體系

    9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會——工業(yè)互聯(lián)網(wǎng)標識解析專題論壇在沈陽成功舉辦。