IT之家 2 月 15 日消息,現(xiàn)階段用戶使用 DeepSeek-R1 的主要途徑無外乎云服務及“本地部署”,但官網(wǎng)服務器頻頻宕機、個人部署多為參數(shù)量縮水 90% 的蒸餾版。因此,一般用戶要想在普通硬件上運行起真正的 DeepSeek-R1 滿血版可以說很難很難,而租賃服務器的成本就算是開發(fā)者也倍感壓力。
清華大學 KVCache.AI 團隊與趨境科技聯(lián)合發(fā)布 KTransformers(IT之家注:發(fā)音為 Quick Transformers)開源項目本周宣布迎來重大更新,成功破解千億級大模型本地部署難題,突破標志著大模型推理從“云端壟斷”走向“普惠化”的重要一步。
如圖所示,KTransformers 團隊于 2 月 10 日成功在 24 GB 顯存 + 382 GB 內存的 PC 上實現(xiàn)本地運行 DeepSeek-R1、V3 的 671B 滿血版,速度提高 3~28 倍。
今日, KTransformers 宣布支持更長的上下文(24GB 單卡支持 4~8K),并實現(xiàn) 15% 加速(每秒最多 16 個 Tokens)。
據(jù)官方介紹,KTransformers 是一個靈活的、以 Python 為中心的框架,其設計核心是可擴展性、通過用一行代碼實現(xiàn)和注入一個優(yōu)化模塊,用戶就能訪問兼容 Transformers 的界面、符合 OpenAI 和 Ollama 標準的 RESTful API,甚至是類似 ChatGPT 的簡化網(wǎng)頁用戶界面。
該技術首次支持在單張 24GB 顯存的消費級顯卡(如 RTX 4090D)上運行 DeepSeek-R1 / V3 的 671B 參數(shù)滿血版,預處理速度最高達 286 tokens/s,推理生成速度達 14 tokens/s,徹底改寫了 AI 大模型依賴昂貴云服務器的歷史格局。
DeepSeek-R1 基于混合專家(MoE)架構,其核心是將任務分配給不同專家模塊,每次推理僅激活部分參數(shù)。團隊創(chuàng)新性地將非共享稀疏矩陣卸載至 CPU 內存處理,結合高速算子優(yōu)化,顯存需求從傳統(tǒng) 8 卡 A100 的 320GB 壓縮至單卡 24GB。
借助于 KTransformers ,普通用戶只需 24G 顯存即可在本地運行 DeepSeek-R1、V3 的 671B 滿血版。預處理速度最高達到 286 tokens/s,推理生成速度最高能達到 14 tokens/s。
針對 MoE 架構的特點,KTransformers 團隊通過 Marlin GPU 算子實現(xiàn)量化矩陣計算,效率較傳統(tǒng)方案提升 3.87 倍;再加上 CPU 端突破,采用 llamafile 實現(xiàn)多線程并行,結合英特爾 AMX 指令集優(yōu)化,CPU 預填充速度較 llama.cpp 提升 28 倍,長序列任務響應時間從分鐘級縮短至秒級。
此外,他們通過減少 CPU / GPU 通信斷點,實現(xiàn)單次解碼僅需一次完整的 CUDA Graph 調用,生成速度優(yōu)化至 14 tokens/s,功耗僅 80W,整機成本約 2 萬元,僅為傳統(tǒng) 8 卡 A100 方案的 2%。
經(jīng)過開發(fā)者實測,使用 RTX 3090 顯卡和 200GB 內存配置,結合 Unsloth 優(yōu)化,Q2_K_XL 模型推理速度達 9.1 tokens/s,實現(xiàn)千億級模型的“家庭化”運行。
必須要說明的是,KTransformers 并非一個單純的推理框架,也不限于 DeepSeek 模型,它可以兼容各式各樣的 MoE 模型和算子,能夠集成各種各樣的算子,做各種組合的測試,同時還提供了 Windows、Linux 的平臺的支持,感興趣的用戶可自行嘗試。
當然,要想使用 KTransformers 也有一點硬性條件,而不是說只要有一張 RTX 4090 就能無障礙運行。先決條件要保證:
CPU:英特爾至強 Gold 6454S 1T DRAM(2 個 NUMA 節(jié)點)
GPU:RTX 4090D(24G VRAM)
內存:標準 DDR5-4800 服務器 DRAM(1 TB)
CUDA 12.1 或更高版本
任務類型 | KTrans V0.3 (6 位專家) | KTrans V0.2 (8 位專家) | llama.cpp (FP16) |
8K 上下文預填充 | 207.20 tokens/s | 195.62 tokens/s | 7.43 tokens/s |
短文本解碼 | 13.69 tokens/s | 8.73 tokens/s | 4.51 tokens/s |
長序列吞吐量 | 19.8GB / 秒 | 15.2GB / 秒 | 4.8GB / 秒 |
對于 Linux-x86_64 系統(tǒng),您需要 gcc、g++ 和 cmake 使用以下命令進行安裝:
sudo apt-get updatesudo apt-get install gcc g++ cmake ninja-build
這里強烈建議使用 Conda 創(chuàng)建一個包含 Python 3.11 的虛擬環(huán)境。使用以下命令創(chuàng)建并激活環(huán)境:
conda create --name ktransformers python=3.11 conda activate ktransformers # 您可能需要運行 'conda init’
安裝 PyTorch、packaging、ninja、cpufeature 和 numpy:
pip install torch packaging ninja cpufeature numpy
安裝 KTransformers
pip install ktransformers --no-build-isolation
快速使用
python -m ktransformers.local_chat --model_path <your model path> --gguf_path <your gguf path> --prompt_file <your prompt txt file> --cpu_infer 65 --max_new_tokens 1000<when you see chat, then press enter to load the text prompt_file>
參數(shù)解釋:
model_path:模型路徑。gguf_path: gguf 文件路徑。
prompt_file:包含提示文本的文件路徑。
cpu_infer 65:指定用于推理的 CPU 核心數(shù)。如果使用雙路 CPU,因此設置為 65。
max_new_tokens 1000:設置生成 token 的最大數(shù)量。
參考資料
GitHub 地址:https://github.com/ kvcache-ai / ktransformers
本地化 671B DeepSeek-Coder-V3 / R1 教程:https://github.com/ kvcache-ai / ktransformers / blob / main / doc / en / DeepseekR1_V3_tutorial.md