NVIDIA Blackwell 加入了蜂群
一台 GB10 Grace Blackwell 用 CUDA 计算真实的 122B 专家 FFN 切片,与 AMD ROCm 逐位一致(cosine 1.0000000000),并在容差内与 Grace ARM CPU 等价。跨后端矩阵已补全。
蜂群的前提是*来什么硬件用什么硬件*。数值等价性——CUDA、ROCm、Adreno 与 CPU worker 都产出相同 token 的证明——此前已在 ROCm、手机 ARM 与 numpy 上测得。NVIDIA 是原版 ggml/推理引擎 的默认且优化最好的路径,却是矩阵尚未补全的唯一后端。在真实 Blackwell 硬件上运行将其补全。
GB10 Blackwell CUDA ↔ MI250 ROCm gfx90a:cosine 1.0000000000 —— max abs diff 3.5×10⁻¹⁰。在同一真实 Qwen3.5-122B layer-0 专家切片上,两个 GPU 后端实质逐位相同。

跨后端矩阵
| 比较 | 硬件 | cosine | max abs |
|---|---|---|---|
| CUDA ↔ ROCm | GB10 Blackwell ↔ MI250 gfx90a | 1.0000000000 | 3.5e-10 |
| CUDA ↔ CPU | GB10 Blackwell ↔ Grace ARM | 0.9997525825 | 2.6e-05 |
| CPU ↔ ROCm | Grace ARM ↔ MI250 gfx90a | 0.9997525823 | 2.6e-05 |
两个 GPU 后端(CUDA、ROCm)共享内核源码,因此落在实质逐位相同(10⁻¹⁰)。GPU↔CPU 因累加顺序不同带有每算子约 10⁻³ 的扰动,但仍以 cosine 0.99975 等价——与此前 ROCm↔手机 ARM 的 0.99992 同一模式。路由器权威原理在 NVIDIA 上再次成立:离散决策(argmax、专家选择)在这一连续扰动之上不变。
在什么上跑了什么
- 设备 — NVIDIA GB10(Grace Blackwell),aarch64,compute 12.1 / sm_121a,124.5 GB 统一内存。
- 工具链 — CUDA 13.0.88 · gcc 13.3 · ggml 0.15.3;纯 ggml/gguf 的 expert-worker 用 Blackwell 内核构建。
- 模型 — Qwen3.5-122B-A10B-Q4_K_M,layer-0 全部专家(256 专家,n_embd 3072,n_ff 1024,Q4_K/Q6_K)。
- 方法 — 1.58 GB 的 L0 切片从 MI250 → GB10 流式传输(无损对比);同一输入(h/ids)在 CUDA、CPU、ROCm 三个后端运行;float32 输出向量(36,864)以 cosine、相对 L2 与 max-abs 对比。
一个真机小坑:GB10 的集成 GPU 在 ggml 中被归类为设备类型 ACCEL 而非 GPU,因此 init_by_type(GPU) 什么也找不到。改为选择第一个非 CPU 设备,而不是硬编码 GPU 类型。
矩阵补全了
要让异构 worker 服务同一个模型,一台 CUDA 机器和一台 ROCm 机器必须可互换,一个 GPU 和一个 CPU 必须数值等价。随着 Blackwell 被测得,两者在整个后端矩阵上都成立:CUDA↔ROCm worker 可彼此替代,GPU↔CPU worker 在有界、良态的容差内一致。地球上最常见的加速器如今是经过验证的蜂群成员。