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 后端实质逐位相同。

A new GPU docking into an almost-complete matrix of backend-comparison cells, its waveform snapping into overlap with a red GPU's
实测 · 真实 Qwen3.5-122B-A10B,layer-0 专家切片

跨后端矩阵

比较硬件cosinemax abs
CUDA ↔ ROCmGB10 Blackwell ↔ MI250 gfx90a1.00000000003.5e-10
CUDA ↔ CPUGB10 Blackwell ↔ Grace ARM0.99975258252.6e-05
CPU ↔ ROCmGrace ARM ↔ MI250 gfx90a0.99975258232.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 在有界、良态的容差内一致。地球上最常见的加速器如今是经过验证的蜂群成员。