APU 实现 token 自由:AMD Ryzen AI MAX+ 395 跑 DeepSeek V4 Flash,284B 模型跑出 32 tok/s
APU 实现 token 自由:AMD Ryzen AI MAX+ 395 跑 DeepSeek V4 Flash,284B 模型跑出 32 tok/s 昨天,开发者 Sandro 在 X 上晒了个猛活儿:在一块 AMD Ryzen AI MAX+ 395(Strix Halo APU)上,把 D
💡 你将学到
APU 实现 token 自由:AMD Ryzen AI MAX+ 395 跑 DeepSeek V4 Flash,284B 模型跑出 32 tok/s 昨天,开发者 Sandro 在 X 上晒了个猛活儿:在一块 AMD Ryzen AI MAX+ 395(Strix Halo APU)上,把 D
APU 实现 token 自由:AMD Ryzen AI MAX+ 395 跑 DeepSeek V4 Flash,284B 模型跑出 32 tok/s
昨天,开发者 Sandro 在 X 上晒了个猛活儿:在一块 AMD Ryzen AI MAX+ 395(Strix Halo APU)上,把 DeepSeek V4 Flash 跑到了 32 tok/s。
2840 亿参数的大模型,不用独立显卡,CPU 和集成显卡共用 128GB 统一内存,就这么跑起来了。
这到底是个什么水平?
DeepSeek V4 Flash 是 DeepSeek 今年 4 月底发布的 MoE 模型,总参数量 284B,每次推理只激活 13B 参数。它用了 256 个路由专家加 1 个共享专家,每层只激活 6 个,上下文窗口 100 万 token,跑分能打三倍于它体量的模型。
这个规模的模型,正常路子要么上云端 API,要么堆多卡。但这次走的是第三条路。
Lucebox 的优化三板斧
先看模型怎么塞进去的。Lucebox 团队用自研的 ROCmFPX 量化把模型压到了 102.3GB,相当于每参数约 2.88 bits。这不是一个固定的量化格式,而是一族:路由专家门控和 up 矩阵用 ROCmFP2(2.5 bits/参数),专家 down 投影用 ROCmFP3,敏感层保留 ROCmFP4 或更高精度。混合精度做完,再加上 11.3GB 的 DSpark 草稿模型,一套东西刚好塞进 Strix Halo 的 128GB 统一内存,还留了约 14GB 给操作系统和运行时。
再看推理怎么加速的。Lucebox 写了 DeepSeek 专属的 HIP 解码路径,处理模型的超连接、稀疏注意力和路由计算。纯自回归模式已经能跑到 25.31 tok/s。在此基础上叠 DSpark 推测解码:一个小型三层草稿模型先快速预测接下来几个 token,284B 的目标模型再一次性验证 4 个位置(含当前种子)。正确提案一步提交,第一个错误由目标模型修复。这个 q=4 模式把解码推到了 32.0 tok/s,比自回归快了 26.4%。
内核层面也有优化。q=4 验证路径里,每个 packed 密集权重只解码一次,一次性应用到所有 4 个验证列,而不是解码四次。这个改动单独贡献了 2.1%-2.3% 的性能提升。另外,Geometric 团队帮忙优化了 HIP 路由路径的 TOP-K 和 ARGSORT 内核,微基准测试中加速了 3.5 到 7 倍。
预填充也做了优化。用模型学到的索引器做稀疏预填充,限制压缩历史注意力范围,2K prompt 能达到 245 tok/s,8K 场景下 246.8 到 255.9 tok/s,24K 长文本也有 221.9 tok/s。作为对比,逐 token 精确预填充只有 22.5-23 tok/s,稀疏模式直接快了 10 倍以上。
四块老显卡,不如一块 APU
TinyComputers.io 的 A.C. Jokela 用四块英伟达 Tesla P40 做了对比——合计 48 TFLOPS 算力,但连模型都加载不了。原因很底层:P40 是 Pascal 架构,不支持 FP8 和 FP4 原生计算,PyTorch 2.10+ 的 CUDA 内核编译目标最低是 compute capability 7.5,P40 只有 6.1。即使强行编译,Pascal 也没有 FP8 张量核心,任何 FP8 运算都得软件模拟,等于白送性能。加上四卡合计 96GB VRAM 分散在 PCIe 3.0 上,模型权重占 67.5GB 后还要算力缓存,CPU 卸载带来的 PCIe 瓶颈会直接把推理拖成幻灯片。
而 Strix Halo 的 RDNA 3.5 架构原生支持 FP8,CPU 和 GPU 共享 LPDDR5X 内存池,没有 PCIe 这个中间商。虽然 40 个计算单元的 Radeon 8060S 算力只有 P40 的四分之一,但它能跑,对手跑不了。
对比 Strix Halo 上此前的最高纪录(HipFire 的 18.99 tok/s),Lucebox 的优化直接快了 68.5%,是 DwarfStar 纪录(15.6 tok/s)的 2 倍以上。
不对称双卡,还能更猛
Lucebox 还搞了个更激进的不对称方案——一块 Radeon AI PRO R9700(32GB GDDR6)搭配 Strix Halo(128GB 统一内存)。两张卡分工明确:R9700 负责延迟敏感的密集计算路径和热门专家,Strix Halo 负责冷门专家的大容量存储。每个 MoE 层同时向两张卡提交路由,结果在目标设备上合并,两张卡并行工作而不是串行等待。
这个方案跑 DeepSeek V4 Flash 达到了 50.65 tok/s 的中位数,短测试峰值 55 tok/s。整机售价 $6,499,比两台 DGX Spark($9,398)便宜 31%,速度却摸到了双 DGX Spark 的门槛。单台 DGX Spark 平均只有 14 tok/s,Lucebox 的单机方案是其 3.6 倍,每美元算力效率高出 2.6 倍。
这套方案的关键在于利用了 MoE 模型的天然特性:256 个专家彼此独立,可以分配到不同设备上并行计算。Lucebox 把热门专家留在 R9700 的快速本地 GDDR6 上,把冷门专家扔到 Strix Halo 的大内存池里,两张卡同时干活,互不等待。
门槛在降,趋势已明
说白了,这件事的意义不止于跑分。284B 大模型本地运行,从科幻变成了一下午的调试工作。社区也功不可没:teamblobfish 团队第一时间出了 IQ1_S 到 Q8_0 的全系列 GGUF 量化版本,把模型从 149GB 压缩到最低 58GB;nisparks 团队在 llama.cpp 上实现了 deepseek4 架构支持,虽然 tensor 命名对不上需要手动改几行代码,但整体方案已经可复现、可验证。Lucebox 的代码、量化后的模型权重、DSpark 草稿模型全部在 GitHub 和 HuggingFace 上公开,跟着文档走就行。
不管是 Strix Halo 单机的 32 tok/s 方案,还是 R9700 加 Strix Halo 混搭的 55 tok/s 方案,都在指向同一个方向:本地大模型的硬件门槛,正在被 AMD 的统一内存架构往下拉。ROCm 7.2.4 配合 RDNA 3.5 的 FP8 原生支持,让一块 APU 干掉了四块专业显卡。
你要是有台 Strix Halo 机器,从克隆仓库到跑出第一个 token,大概就是一个下午的事。
来源:Sandro (@pupposandro) / Lucebox / TinyComputers.io
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。
