4090單卡跑滿血版DeepSeek-R1!清華團隊開源專案再破大模型推理門檻!

點選下方卡片,關注“CVer”公眾號

AI/CV重磅乾貨,第一時間送達

新增微訊號:CVer2233,小助手會拉你進群!
掃描下方二維碼,加入CVer學術星球可以獲得最新頂會/頂刊上的論文ideaCV從入門到精通資料,及最前沿應用!發論文/搞科研/漲薪,強烈推薦!

轉載自:量子位

DeepSeek-R1火遍海內外,但推理伺服器頻頻宕機,專享版按GPU小時計費的天價成本更讓中小團隊望而卻步。
而市面上所謂“本地部署”方案,多為引數量縮水90%的蒸餾版,背後原因是671B引數的MoE架構對視訊記憶體要求極高——即便用8卡A100也難以負荷。因此,想在本地小規模硬體上跑真正的DeepSeek-R1,被認為基本不可能。
但就在近期,清華大學KVCache.AI團隊聯合趨境科技釋出的KTransformers開源專案公佈更新:
支援24G視訊記憶體在本地執行DeepSeek-R1、V3的671B滿血版。預處理速度最高達到286 tokens/s,推理生成速度最高能達到14 tokens/s
其實早在DeepSeek-V2 時代,這個專案就因“專家解除安裝”技術而備受關注——它支援了236B的大模型在僅有24GB視訊記憶體的消費級顯示卡上流暢執行,把視訊記憶體需求砍到10分之一。

HuggingFace 的開源負責人的點贊
隨著DeepSeek-R1的釋出,社群的需求迅速激增,在GitHub蓋起上百樓的issue,呼籲對其進行支援。
版本更新發布後,不少開發者也紛紛用自己的3090顯示卡和200GB記憶體進行實測,藉助與Unsloth最佳化的組合,Q2_K_XL模型的推理速度已達到9.1 tokens/s,真正實現了千億級模型的“家庭化”。
此外,KTransformers團隊還公佈了v0.3預覽版的效能指標,將透過整合Intel AMX指令集,CPU預填充速度最高至286 tokens/s,相比llama.cpp快了近28倍。對於那些需要處理上萬級Token上下文的長序列任務(比如大規模程式碼庫分析)來說,相當於能夠從“分鐘級等待”瞬間邁入“秒級響應”,徹底釋放CPU的算力潛能。
另外,KTransformers還提供了相容Hugginface Transformers的API與ChatGPT式Web介面,極大降低了上手難度。同時,其基於YAML的“模板注入框架”能夠靈活切換量化策略、核心替換等多種最佳化方式。
目前,KTransformers在localLLaMa社群持續位居熱榜第一,有上百條開發者的討論。
專案背後的技術細節,團隊也給出了詳細介紹。

利用MoE架構的稀疏性

DeepSeek-R1/V3均採用了MoE(混合專家)架構,這種架構的核心是將模型中的任務分配給不同的專家模組,每個專家模組專注於處理特定型別的任務。MoE結構的模型具有很強的稀疏性,在執行推理任務的時候,每次只會啟用其中一部分的模型引數。
因此,MoE架構需要大量的儲存空間,但是並不需要很多的計算資源。
基於此,團隊採用了GPU/CPU的異構計算劃分策略:僅將非Shared部分的稀疏MoE矩陣放在CPU/DRAM上並使用llamafile提供的高速運算元處理,剩餘稠密部分放在GPU上使用Marlin運算元處理。
在這樣的情況下,同樣使用4bit量化,GPU上的引數只需要24GB的視訊記憶體環境,這樣的消耗只需要一張4090就能滿足。
此外透過這樣的組合,還能夠大幅度提升整個推理的效能,達到286 token/s的預填充和14 token/s的生成速度,比llama.cpp快28倍。
具體到技術實現中,團隊採用了基於計算強度的offload策略、高效能的CPU和GPU運算元、CUDA Graph加速的多種方式來加速推理速度。

基於計算強度的offload策略

在Attention的核心,DeepSeek引入了一種新的MLA運算元,它能夠充分利用顯示卡算力,能夠很大程度提升效率。然而,MLA運算子在官方開源的v2版本中,是將MLA展開成MHA進行的計算,這個過程不僅擴大了KV cache大小,還降低了推理效能。
為了真正發揮MLA的效能,在KTransformers推理框架中,團隊將矩陣直接吸收到q_proj和out_proj權重中。因此,壓縮表示不需要解壓縮來計算Attention。
這種調整顯著減少了KV快取大小,並增加了該運算子的算術強度,這非常顯著地優化了GPU計算能力的利用率。
在計算中,MLA和Expert的計算強度相差數千倍。因此,團隊透過計算強度來決定劃分策略,優先將計算強度高的放入GPU(MLA > Shared Expert > Routed Expert),直到GPU放不下為止。

引入CPU和GPU的高效能運算元

在CPU運算元中,團隊使用llamafile作為CPU核心,使用expert並行和其他最佳化,組成高效能運算元框架CPUInfer。此外增加多執行緒、任務排程、負載均衡、NUMA感知等最佳化。
在GPU運算元的使用上,團隊引入Marlin運算元作為GPU計算的核心,它能夠非常高效地進行量化後的矩陣計算,和torch這些計算量化後的矩陣乘法的庫相比,使用Marlin運算元完成在GPU上面的計算大概可以達到3.87倍的理想加速效果。

CUDA Graph的改進和最佳化

為了平衡推理效能和框架本身的易用性/可擴充套件性,基於Python構建KTransformers框架,同時使用CUDA Graph降低Python呼叫開銷是一個必然的選擇。
KTransformers中使用CUDA Graph過程中儘可能地減少了CPU/GPU通訊造成的斷點,在CUDA Graph中摻雜和CPU異構運算元通訊,最終實現一次decode僅有一個完整的CUDA Graph呼叫的結果。

靈活高效的推理實驗平臺

值得關注的是,KTransformers不止是一個固定的推理框架,也不只能推理DeepSeek的模型,它可以相容各式各樣的MoE模型和運算元,能夠整合各種各樣的運算元,做各種組合的測試。
此外還同時提供了Windows、Linux的平臺的支援,方便執行。
當大模型不斷往上卷,KTransformers用異構計算開啟一條新的推理路徑。基於此,科研工作者無需鉅額預算也能夠探索模型本質。

GitHub 地址:https://github.com/kvcache-ai/ktransformers

具體技術細節指路:https://zhuanlan.zhihu.com/p/714877271

何愷明在MIT授課的課件PPT下載


在CVer公眾號後臺回覆:何愷明,即可下載本課程的所有566頁課件PPT!趕緊學起來!

ECCV 2024 論文和程式碼下載


在CVer公眾號後臺回覆:ECCV2024,即可下載ECCV 2024論文和程式碼開源的論文合集

CVPR 2024 論文和程式碼下載


在CVer公眾號後臺回覆:CVPR2024,即可下載CVPR 2024論文和程式碼開源的論文合集
Mamba、多模態和擴散模型交流群成立
掃描下方二維碼,或者新增微訊號:CVer2233,即可新增CVer小助手微信,便可申請加入CVer-Mamba、多模態學習或者擴散模型微信交流群。另外其他垂直方向已涵蓋:目標檢測、影像分割、目標跟蹤、人臉檢測&識別、OCR、姿態估計、超解析度、SLAM、醫療影像、Re-ID、GAN、NAS、深度估計、自動駕駛、強化學習、車道線檢測、模型剪枝&壓縮、去噪、去霧、去雨、風格遷移、遙感影像、行為識別、影片理解、影像融合、影像檢索、論文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF、3DGS、Mamba等。
一定要備註:研究方向+地點+學校/公司+暱稱(如Mamba、多模態學習或者擴散模型+上海+上交+卡卡),根據格式備註,可更快被透過且邀請進群

▲掃碼或加微訊號: CVer2233,進交流群
CVer計算機視覺(知識星球)來了!想要了解最新最快最好的CV/DL/AI論文速遞、優質實戰專案、AI行業前沿、從入門到精通學習教程等資料,歡迎掃描下方二維碼,加入CVer計算機視覺(知識星球),已彙集上萬人!

掃碼加入星球學習
▲點選上方卡片,關注CVer公眾號
整理不易,請贊和在看


相關文章