返回

文章详情

单个 AMD MI300X 上的 DeepSeek V4 Flash

Hacker News2026年8月4日 10:00

在单个 AMD MI300X 上运行 DeepSeek V4 Flash。本仓库包含我用来在生产环境中运行 deepseek-ai/DeepSeek-V4-Flash-0731 的配置和补丁。它包括 Docker Compose 堆栈、SHA-256 固定的文件覆盖、与上游的参考差异和调优表。检查点按原样运行,无需额外的权重量化或卸载。固定堆栈(vLLM ROCm nightly 0.26.1rc1.dev229+g124154a88.rocm723,AITER 0.1.19 )的结果:指标 结果 单流解码(每个流的中位数,DSpark-7) 168.6 tok/s 使用调优内核的预填充 ≈ 7.9–8.5K tok/s(在出货配置中,用新提示的速度为6,988–7,019 tok/s) 8 个并发流 542 tok/s 总计,90.3 tok/s 每流的中位数 64 流突发 830 tok/s 总计,无 OOM,无引擎错误 上下文 256K 验证(架构支持 1M) HBM 中的权重 156.67 GiB —— 无需额外的量化或权重卸载 官方 vLLM 食谱的目标是 NVIDIA 和更新的 AMD 硬件。在 MI300X 上可靠地运行模型需要修复其 FP8 格式、高并发下的 MoE 路由、因果推测验证、CPU-KV 同步以及几个未调优的内核形状。该仓库收集了这些修复并固定了生产中使用的版本。 为什么选择 MI300X MI300X 具有 192 GB 的 HBM3 和 5.3 TB/s 的内存带宽,其 HBM 容量是 H100 SXM5(AMD)的 2.4 倍。Doubleword 的报告估计其列表价格大约是只有一半。对于这个 304B-参数的检查点,内存容量允许简单的单 GPU 部署:整个模型适合在 HBM 中,无需 PCIe 权重流或层卸载。可以容纳一个 20 GB 的 GPU KV 池和一个 96 GiB 的 CPU 层,用于被驱逐的前缀缓存条目。一个卡能够处理 2–8 个典型的并发流,并在最多 64 个流的突发情况下工作。MI300X(CDNA3)实现了 AMD/Graphcore fnuz 变体的 E4M3,而 MI325X 和更新的型号使用 OCP 标准的 FP8(背景)。在 MI300X 上假设 OCP 语义的内核在缩放领域的错误可以达到两倍。FP8 实现的正确性是第一优先;性能调优则是在之后进行。 先前的工作以及该仓库的补充 Fergus Finn 的 MI300X 工作日志及其附带的 Doubleword 仓库识别了 FP8 兼容性问题,gfx942 上缺失的 AITER 快速路径,稀疏 MLA 解码中的 HIP-graph 危害,以及 MoE 路由错误。官方 vLLM 食谱覆盖了 NVIDIA 硬件及更新的 AMD GPU(MI325X 以支持 4K 上下文和 MI355X),但没有针对 0731 检查点的单 MI300X 生产配置。本仓库添加了: 针对固定的 ROCm nightly 的正确性覆盖,包括尚未包含在上游 vLLM 中的修复。具有概率性 DSpark 草拟、块拒绝和静态 K=7 的验证服务配置。它使用 2,048-token 调度预算和 1,024-token 长预填充上限,以防止冷提示阻塞其他流。 AITER GEMM 调优表,用于打包表缺失的 gfx942 形状,以及针对 MXFP4 专家组合的 gfx942 OGS 几何覆盖。 混合 KV 策略:20 GB 的 fp8_ds_mla GPU 缓存 + 96 GiB 的本机 CPU 卸载,具有一个负载路径栅栏修复,文档在上游问题 #47282 中,但 PR #47291 从未合并。 仓库结构。 ├── compose.yaml # 生产堆栈(vLLM ROCm + Caddy),摘要固定 ├── Caddyfile.example # 复制到 Caddyfile;设置主机名、电子邮件和源 CIDR ├── vllm-entrypoint.sh # 在启动前从 /dev/shm 中删除过时的 CPU-KV mmaps ├── SHA256SUMS # 每个运行时工件的 SHA-256 固定 ├── patches/ │ ├── *.py # 按字节执行的生产覆盖(以只读方式挂载) │ ├── diffs/*.patch # 与上游基础版本的统一差异 │ └── README.md # 来源和重新生成说明 └── tuning/ └── *.csv # 用于 gfx942 的 AITER A8W8 块规模调优表 运行时配置 该堆栈使用摘要固定的官方 vLLM ROCm nightly,具有: --trust-remote-code 和 DeepSeek V4 分词器、推理以及工具解析器 fp8_ds_mla KV 缓存(UE8M0 块缩放的 FP8,而非通用未缩放的 FP8) 并带有 256-token 块 VLLM_ROCM_USE_AITER=1 和 --moe-backend triton;Triton OGS 处理分组的 MXFP4 专家,而 AITER 处理注意力和密集线性层 DSpark-7 推测解码,具有概率性草拟和块拒绝 全/可中断的 CUDA 图捕获,使每个令牌在稳定解码过程中启动一个图 Caddy 作为 IP 白名单 HTTPS 代理 部署步骤 1. 主机前提条件 一台 MI300X(gfx942,304 CUs,约 192 GiB HBM)、一个工作中的 AMD 内核驱动程序、最新的 Docker Compose、约 235 GiB 的 CPU KV 级 RAM 和约 500 GB 磁盘(仅模型缓存约 156 GB)。 2. 拉取固定的运行时和模型 VLLM_IMAGE= ' vllm/vllm-openai-rocm@sha256:e68d18b2ba50298661bfc49baf01158fbf036645c2362cccf3e8a7a79fe6c69a ' MODEL= ' deepseek-ai/DeepSeek-V4-Flash-0731 ' REVISION= ' 7872f01b1d1fe23eabc4c98b48bffcef5a386062 ' docker pull " $VLLM_IMAGE " docker run --rm --entrypoint hf \ -v /root/.cache/huggingface:/root/.

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡