KTransformers:把 671B MoE 模型塞进 24GB 显卡的异构推理框架

AI
开源
大模型推理
MoE
清华
2026/9/30
·

阅读时间: 大约 12 分钟

KTransformers:把 671B MoE 模型塞进 24GB 显卡的异构推理框架

KTransformers 的异构切分示意:MLA 注意力(约 5B/128K 上下文,高算术强度)与 Norm/Linear/共享专家(约 17B,中强度)放在单张 GPU 上;占参数量绝大部分的 Routed Experts(约 654B,低算术强度,256 个路由专家中每次仅激活 8 个)卸载到 CPU

DeepSeek-V3/R1 这类 671B 参数的 MoE(混合专家)模型,官方推理通常需要多张旗舰显卡组成的集群。而 KTransformers 给出了另一条路:在单张 24GB 显存的消费级显卡 + 一台内存足够大的 x86 工作站上把它跑起来。这个项目由清华大学 MADSys Lab 主导,论文发表于 ACM SOSP 2025,是近年”压榨家用硬件跑大模型”路线里学术成色较高的一个。本文基于其官方文档站、GitHub 仓库与论文引用信息做一手梳理。

一、背景:MoE 模型的显存壁垒

MoE 模型把 FFN(前馈网络)拆成几十上百个”专家”,每次推理只激活其中少数几个。这种设计让总参数量冲到几百 B,但每次实际计算量却小得多。问题在于:尽管每次只激活 8 个专家,所有专家的权重都必须常驻内存,否则切带来回换页的延迟会让推理完全不可用。

DeepSeek-V3 总参数 671B,按 FP16 算权重就要约 1.3TB,靠 GPU 显存装下成本极高。KTransformers 的切入点正是这里:既然 MoE 里绝大部分参数是”每次只碰一点点、算术强度又低”的路由专家,为什么不把它们挪到内存大、显存便宜的 CPU 侧,而把真正吃算力的部分留在 GPU?

二、它是什么:CPU-GPU 异构推理/微调框架

根据官方文档,KTransformers 是一个”专注于通过 CPU-GPU 异构计算实现大语言模型高效推理与微调的研究项目”,目前对外提供两大能力:推理(kt-kernel)与基于 LLaMA-Factory 的 SFT 微调。仓库 kvcache-ai/ktransformers 创建于 2024 年 7 月,Python 编写,Apache-2.0 协议。它不是一个开箱即用的生产服务,更接近一套经过研究验证、并已被 SGLang 集成的优化内核。

三、技术机制:按”算术强度”切分模型

上面这张官方图讲清了它的核心思想。它把一个 Transformer 层按算子特性分成三类:

  • MLA 注意力模块(左侧):包含 KV Cache、MLA、以及被融合的 Q/KV/输出线性层。这部分算术强度高、计算密集,而且 KV Cache 对带宽敏感,放在 GPU 上。图中标注约 5B(对 128K 上下文而言)。
  • Norm + Linear + 共享专家(中间):约 17B,算术强度中等,同样留在 GPU。
  • Routed Experts(右侧):约 654B,算术强度低——这正是 MoE 的特点,每次 256 个专家里只激活 8 个。这部分被卸载到 CPU,由 CPU 侧的量化内核负责计算。

配合的工程手段包括:CPU 侧 INT4/INT8 量化权重、GPU 侧 GPTQ、NUMA 感知的内存管理、以及”热专家放 GPU、冷专家放 CPU”的专家调度。CPU 内核针对 Intel AMX、AVX512/AVX2 做了优化,后续还支持了 AMD ROCm、Intel Arc GPU 与华为昇腾 NPU。

KTransformers 官方"硬件资源与模型瓶颈匹配"示意:左侧为 A100 GPU(80GB 显存、约 2TB/s 带宽,高带宽但显存昂贵)与 Xeon SPR + DDR5(8×64GB DRAM、8×40GB/s 带宽,带宽便宜、容量大);右侧说明 Dense Attention 是 GPU compute-bound(高 FLOPs/byte,吃 Tensor Core),而 Sparse MoE Experts 是 CPU memory-bound(many bytes/token,Top-k 门控每次只选少数专家,权重放在 CPU DRAM)

这张官方图把”为什么这么切”讲得最透:GPU(以 A100 为例)胜在算力与显存带宽,但显存昂贵;CPU 的 DDR5 胜在容量与单价,单通道带宽低但总容量大。于是”计算密集、高 FLOPs/byte”的 Dense Attention 交给 GPU 的 Tensor Core,而”访存密集、many bytes/token、每次只读少数专家权重”的 Sparse MoE 交给 CPU 内存。本质上是让每种算子待在最匹配它硬件特性的那一侧,而不是让 CPU 硬扛全部计算。

四、关键数据:能跑多快

下列数字均来自官方文档与 GitHub(统计时点 2026-09-30):

指标数值来源/口径
仓库 Star约 19,547GitHub API
Fork约 1,582GitHub API
单卡门槛DeepSeek-V3/R1 在单张 24GB 显存 + 约 382GB 内存运行官方 2025-02-10 更新
提速相对朴素 CPU 推理最高约 3~28 倍官方更新日志原文
长上下文24GB 显存下 DeepSeek-V3/R1 支持到约 139K官方 2025-03-05 更新
推理吞吐DeepSeek-R1-0528 (FP8):8×L20 + Xeon Gold 6454S,总吞吐 227.85 tok/s,输出 87.58 tok/s(8 路并发)官方性能示例
微调速度DeepSeek-V3/R1:约 80GB 总占用、3.7 it/s(4×RTX 4090);Qwen3-30B-A3B:约 24GB、8+ it/s(单张 RTX 4090)官方 SFT 文档
微调对比官方称比 ZeRO-Offload 在其基准 MoE SFT 负载上快约 6~12 倍官方文档

KTransformers × LLaMA-Factory 微调集成架构:上层为 LLaMA-Factory 的全流程(数据预处理 → 选模型 → 训练调优 → 推理部署 → 评估),训练算法覆盖 Full / LoRA / LoRA+;在有限 GPU 下,KTransformers 与 Hugging Face、Unsloth 一起作为 LoRA 后端引擎,推理部署侧则与 SGLang、vLLM 对接

官方把微调能力做成了与 LLaMA-Factory 的集成:在有限 GPU 下,KTransformers 充当 LoRA/全参微调的后端引擎,推理部署侧再对接 SGLang、vLLM。这也解释了上表中”DeepSeek-V3/R1 约 80GB 总占用就能微调”的来源——专家权重下沉到 CPU/GPU 混合后端,而不是全部塞进 GPU。

需要特别说明:3~28 倍这个数字是”相对 baseline”的倍数,官方并未在首页给出 baseline 的具体配置;87.58 tok/s 是 8 路并发下的输出吞吐,不等于单请求的交互速度——单条请求在消费级硬件上往往只能达到每秒数个到十几个 token。读这些数字时必须看清楚是”总吞吐”还是”输出吞吐”、是”单路”还是”并发”。

五、评测方法与口径的坑

  1. “单卡 24GB 能跑”不等于”单卡够用”。它同时要求约 382GB 系统内存(CPU 侧装专家权重)和支持 AMX/AVX512 的服务器级 CPU。把它理解成”一张游戏显卡 + 一台大内存工作站”的组合,而不是普通台式机。
  2. 速度高度依赖 CPU 指令集。在没有 AMX、只有 AVX2 的消费级 CPU 上,官方明确标注是”support”而非高性能档;消费级 CPU 跑 671B 模型的单路速度对交互式体验仍然偏慢。
  3. 6~12 倍微调提速是”benchmarked MoE SFT workloads”口径,官方称只在其测试配置下成立,跨模型、跨硬件不可直接外推。
  4. 项目定位是研究/实验。官方在更新里大量出现”Day0 支持""实验性支持”字样,且已集成进 SGLang 用于 serving,但异构栈的调试复杂度远高于纯 GPU 推理。

六、适用与不适用场景

  • 适合:有大内存 x86 服务器(或带 AMX/昇腾 NPU 的机器)、想用远少于多卡集群的预算体验/微调超大 MoE 模型、做学术复现或边缘/私有化部署验证的团队。它对”显存不够但内存和 CPU 核很多”的硬件配比尤其友好。
  • 不适合:追求稳定生产 SLA、低延迟在线服务、或手头只有普通消费级 CPU 的用户。这种场景直接上多卡 GPU 或商用推理服务更省心。

七、它意味着什么

KTransformers 的价值不在于发明了新模型,而在于把”MoE 模型参数巨大但实际激活稀疏”这一结构性特点,翻译成了一套可落地的 CPU-GPU 切分工程。它和此前写过的 Mooncake(面向云端 KVCache 池化的分布式推理)是两条不同路线:Mooncake 解决的是数据中心内多机多卡的资源池化,KTransformers 解决的是单机内”用内存和 CPU 算力换 GPU 显存”。前者服务规模化集群,后者服务被显存门槛挡住的个人与小团队。对后者而言,KTransformers 证明了在消费级显卡上触碰数百 B 模型不再是幻想——但这份”能跑起来”离”跑得舒服、跑得稳”,中间还隔着 CPU 指令集、内存带宽和工程稳定性好几道坎。

参考来源