如何在两台AMD设备上跑DeepSeek V4 Flash:Lucebox异构部署完整指南
【免费下载链接】luceboxLLM speculative inference server for heterogeneous hardware & consumer GPUs项目地址: https://gitcode.com/gh_mirrors/lu/lucebox
Lucebox 是一个专为异构硬件与消费级 GPU 打造的 LLM 投机推理服务器(CUDA/HIP 混合后端)。本指南手把手教你用两台 AMD 设备(如 RX 7900 XT + Strix Halo)部署 DeepSeek V4 Flash 大模型,并附上 CUDA 3090 + Strix Halo 混合后端的完整配置方法,让你在家用显卡上跑出接近 48 tok/s 的解码速度。
为什么选 Lucebox 做 DeepSeek V4 Flash 异构部署
DeepSeek V4 Flash 是一个 43 层的 MoE 模型:每层含 256 个路由专家(top-6 激活)+ 1 个共享专家,并内置 KV 压缩器与多层级残差控制器(HC)。这么大的模型想塞进"两张非顶级 AMD 卡",靠的不是把模型切碎轮流跑,而是路由级专家并行(route-level expert parallelism):
- 主卡(如 RX 7900 XT):负责注意力、KV 缓存、采样器和"热点专家";
- 副卡(如 Strix Halo 集成显卡):承载其余的冷门专家 + DSpark 推测解码草稿器;
- 每一步 MoE 层:两块 GPU 各自提交专家计算,再在片上合并结果,全程在同一个进程内完成,无需起第二个服务进程。
实测成绩(RX 7900 XT + Ryzen AI Max+ 395 双 AMD 配置):
| 指标 | 实测 |
|---|---|
| 解码吞吐 | 45.0 – 47.7 tok/s |
| 128K 长文本 prefill | 111.2 tok/s |
💡 想深入了解模型结构与执行路径,可阅读 server/docs/DS4.md,那里有逐层的 forward pass 说明。
硬件选型:哪两台 AMD 设备最合适
项目已验证的双卡组合(完整清单见 server/docs/RECOMMENDED_SETUPS.md):
| 组合 | 说明 |
|---|---|
| RX 7900 XT(gfx1100)+ Strix Halo(gfx1151) | 20 GiB 独显 + 128 GiB 统一内存,本指南的主角 |
| R9700(gfx1201)+ Strix Halo(gfx1151) | 32 GB 独显 + Strix Halo,实测 86 tok/s 解码 |
| RTX 3090(CUDA)+ Strix Halo(HIP) | 跨厂商混合后端,下文单独介绍 |
选型心法:Strix Halo 的 128 GiB 统一内存负责"装得下",独显负责"算得快"。主卡必须能放下 dense 权重 + KV 缓存 + 热点专家预算(默认约 10.2 GiB)。
一键部署:RX 7900 XT + Strix Halo 双 ROCm 完整步骤
第一步:交叉编译双架构 HIP 二进制
两块卡架构不同(gfx1100 与 gfx1151),需要一个二进制同时覆盖两种指令集,并开启仿射 ROCmFP2 支持:
cmake -S server -B server/build-hip-dual \ -DLUCE_GPU_BACKEND=hip \ -DLUCE_HIP_ARCHITECTURES='gfx1100;gfx1151' \ -DLUCE_ROCMFP2_AFFINE=ON \ -DCMAKE_BUILD_TYPE=Release cmake --build server/build-hip-dual -j第二步:校准专家路由分布(关键!)
专家放在哪块卡,取决于你的真实流量会路由到哪些专家。官方做法是先用代表性请求跑一遍,把路由统计导出为 CSV,再喂给线上服务:
# 1) 收集阶段:跑代表性请求 LUCE_DS4_ROUTING_STATS_OUT=/tmp/ds4-routing.csv \ server/scripts/serve_ds4_dual_rocm_128k.sh \ /path/to/target.gguf /path/to/dspark.gguf # 2) 服务阶段:用同一份 CSV 校准放置 LUCE_DS4_HOTNESS_CSV=/tmp/ds4-routing.csv \ server/scripts/serve_ds4_dual_rocm_128k.sh \ /path/to/target.gguf /path/to/dspark.gguf启动前先确认设备编号:luce_server --list-devices会打印每张卡的backend:N索引。脚本默认独显为hip:0、Strix Halo 为hip:1,反过来的话用DS4_MAIN_DEVICE/DS4_PEER_DEVICE环境变量覆盖。
第三步:理解脚本替你做了什么
serve_ds4_dual_rocm_128k.sh 已内置一整套经过验证的默认值,无需手工调 30 多个环境变量:
- 135,168 token 上下文(128 KiB 提示 + 4 KiB 生成余量)
- 10,200 MiB 独显专家预算(
DS4_EXPERT_BUDGET_MB可调) --ds4-prefill sparse批量稀疏 prefill + top-k 6 全专家(保真度优先)- DSpark 推测解码宽度 4、fused verify
- 服务端口 8016,
--peer-access打开卡间直连
所有设备、预算、上下文、端口等设置都可以通过脚本顶部的环境变量覆盖。
如果不想本地编译,官方也提供 Docker 镜像(AMD 用
:rocm标签),模型放进server/models/即可直接docker run,适合快速体验。
进阶:CUDA/HIP 混合后端(3090 + Strix Halo 同进程部署)
如果你手上是一张 NVIDIA 3090 加一台 Strix Halo 主机,Lucebox 的混合厂商构建可以两者放进同一个进程:CUDA 与 HIP 的设备索引各自独立命名空间,cuda:0和hip:0是合法组合,跨厂商激活值经主机内存中转。
编译(注意-DLUCE_ENABLE_MIXED_CUDA_HIP=ON):
cmake -S server -B server/build-cuda-hip \ -DLUCE_GPU_BACKEND=hip \ -DLUCE_ENABLE_MIXED_CUDA_HIP=ON \ -DLUCE_CUDA_ARCHITECTURES=86 \ -DLUCE_HIP_ARCHITECTURES=gfx1151 \ -DCMAKE_BUILD_TYPE=Release cmake --build server/build-cuda-hip -j启动时把 dense 工作放在 HIP 侧、专家并行放在 CUDA 侧,草稿器通过环境变量定位到 CUDA 卡:
export LUCE_EXPERT_BUDGET_MB=85000 # 从启动日志的显存报告调优 export LUCE_DS4_DRAFT_BACKEND=cuda export LUCE_DS4_DRAFT_GPU=0 ./server/build-cuda-hip/luce_server /path/to/deepseek4-target.gguf \ --target-device hip:0 \ --expert-device cuda:0 \ --draft /path/to/dspark-draft.gguf \ --ds4-prefill sparse验证该路径的回归测试是ctest -R mixed_cuda_hip;更多边界说明见 server/docs/MIXED_BACKEND.md。
5 个最常见的坑与排查清单
- 解码慢得像自回归?DSpark 验证器是贪心专用的:
temperature > 0、重复惩罚等都会静默回退到普通 AR 解码。请求里显式带上"temperature": 0.0。日志出现DSpark spec loaded but this request decodes AR就是在点名原因(详见 DS4.md 的 Silent AR fallback 一节)。 - 设备编号对不上:永远用
luce_server --list-devices确认,别猜。 - 输出要逐字节精确?
--ds4-prefill sparse是显式近似策略;对精确性有硬要求的场景改用--ds4-prefill exact并重新测速。 - 别乱降
--ds4-expert-top-k:自适应(qtype-105/106)专家工件在 top-4 下精确复制保真度会从 95% 掉到 60%,保持模型默认的 6。 - 测速前先安静下来:Strix Halo 是统一内存带宽瓶颈,同机器上跑编译会把 tok/s 从 18 打到 3.8,容易被误判为模型回归。
最终自检清单
--list-devices确认独显为主设备- 启动日志出现
DSpark spec-decode ENABLED - 请求带
"temperature": 0且日志出现[ds4-spec]而非decode tokens=N steps=N-1 - 用 server/scripts/bench_ds4_decode.py 跑官方确定性基准,确认输出字节一致
延伸阅读
| 资料 | 路径 |
|---|---|
| DeepSeek V4 完整技术文档(环境变量的百科全书) | server/docs/DS4.md |
| CUDA/HIP 混合后端放置指南 | server/docs/MIXED_BACKEND.md |
| 推荐硬件配置矩阵 | server/docs/RECOMMENDED_SETUPS.md |
| 双 ROCm 部署脚本 | server/scripts/serve_ds4_dual_rocm_128k.sh |
| 解码基准工具 | server/scripts/bench_ds4_decode.py |
两台 AMD 设备 + 一个进程 + 一条命令,DeepSeek V4 Flash 就能以接近数据卡的效率在你桌上跑起来——这正是 Lucebox 异构部署的意义所在。🚀
【免费下载链接】luceboxLLM speculative inference server for heterogeneous hardware & consumer GPUs项目地址: https://gitcode.com/gh_mirrors/lu/lucebox
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考