华为与DeepSeek的“缺卡”与“缺证”共生局
2024年9月30日,DeepSeek一次性更新了六个代码仓库(TileLang、DeepGEMM、DeepEP等),全部加入对华为昇腾的支持。这一动作在中美算力博弈背景下,被SemiAnalysis解读为“华为与DeepSeek的共生关系”。这种合作并非偶然,而是基于双方各自的结构性短板:华为有硬件但缺前沿实验室证明其芯片能训练和推理,DeepSeek有模型却买不到所需的算力。华为提供硬件与原生软件栈,DeepSeek提供工作负载及工程优化,双方通过内核编写语言这一接口进行交换。文章预测到2027-2028年,DeepSeek可能主要运行在华为软硬件栈上,这既是技术现成性的结果,也是应对内外压力、建立完全国产化生态的必然选择。
昇腾950PR芯片架构与微基准测试细节
本次实测对象为昇腾950PR(SKU 9579),拥有28个Cube核心和128GB HBM。华为采用计算与内存同时分档的策略,以应对裸片缺陷和功耗不达标问题,这与英伟达主要对计算部分分档的逻辑不同。微基准测试显示,在指针追逐测试中,18个线程块内耗时稳定在134纳秒,56个块时升至182纳秒,而到64个块时直接跳至391纳秒。这一跳跃表明超过56个Vector核心后任务进入第二波执行。通过在不同Cube和Vector核心上运行标量探针,测试发现芯片内部自动聚合成两组,对应两颗裸片。进一步通过混合启动任务反推资源共享关系,识别出0、2、4和1、3、5这样的分组。这种测试方法在无厂商架构图的情况下,通过计时揭示了芯片内部结构。
AICPU角色与基础算子性能表现
每颗950PR配备数量不等的Linx816 AArch64 ELF AICPU核心,其指令集包含SVE、bf16等特性。在950PR上配置了7个AICPU,实际运行5-6个。这些核心不仅用于设备控制,还承担如KV元数据处理、稀疏注意力调度索引选择等短任务。在DSA(DeepSeek Attention)实现中,规划、索引选择和汇集步骤均跑在AICPU上。性能测试方面,华为原生torch.matmul(aclnnMatmul)在处理1055种BF16 GEMM形状时,最佳内核达到了性能上限的99.7%。这一数据与DeepSeek用DeepGEMM做到的99%以上利用率相当,证明华为工程师也能实现极高内核效率。在Roofline拐点以下的计算受限任务中,昇腾性能占比中位数为41.5%(H100为46.8%),但需注意英伟达部分结果受功耗限制(SM时钟中位数1335-1470MHz,最高1830MHz),而昇腾功耗约599-600W,频率1500-1550MHz。昇腾MXU设计通过将操作数放在L0A/L0B缓冲、累加器在L0C,实现了数据搬运与计算的重叠。
内存带宽优势与软件生态的协同进化
在内存带宽测试中,当缓冲区消息较小时,950PR的有效带宽和利用率均超过H100;消息变大后持平。曲线下凹是因为昇腾切换到了启动开销更大的Vector核心TensorMove内核,导致复制量稍大时耗时增加。文章强调高FLOPs利用率和高带宽利用率不一定转化为高MFU/MBU,因为训练中的集合通信和检查点难以完美重叠。软件层面,DeepSeek更新的六个仓库中仅TileLang真正可用,因依赖CANN 9.2.0及C++20编译器。这种共生关系体现在芯片结构塑造软件缓存格式。例如,FlashMLA早期KV缓存布局在昇腾上需分别传输量化值和缩放因子,新实现将两者放在一起以减少请求。TileLang为昇腾提供了原生编译、调度和运行时集成,降低了开发门槛。AutoSchedule功能通过数据依赖规划操作重叠,在950PR上使小规模算子执行时间最多减少40%。
通信重叠、Engram应用与工程债挑战
华为昇腾超节点支持WideEP横向扩展,DeepEP-Ascend是DeepEP V2.5的移植版,底层改用URMA和HCCL。由于Cube和Vector执行路径分开,创造了计算与通信重叠的机会,但需权衡资源争用。DeepEP-Ascend文档指出合并处理与URMA通信存在HBM资源争用。在模型部署上,DeepSeek-V4.1-Flash是首个使用Engram的模型。由于昇腾累加器设计限制,注意力计算需将输出累加器放在Vector的UB中。性能剖析显示,在32颗950DT上部署时,Stream 19占稳态窗口88.8%(设备时间加总72.6%)。推测解码中,DSpark生成草稿Token比验证快。然而,生态存在缺口:x86主机上运行昇腾仍有诸多问题,如memfabric_hybrid硬编码ARM头文件导致启动卡住。大部分优化围绕超节点设计,非ARM CPU被跳过CPU绑定且无NPU加x86的CI支持。这种协同若仅在DeepSeek和华为间跑通,可能只是定制化专线而非通用地基。
结论
华为与DeepSeek的共生关系是硬件上限提升与软件前沿优化的结合。尽管昇腾硬件可能落后英伟达5年以上,但其原生软件栈和内核优化(如99.7%的GEMM利用率)正在缩小差距。DeepSeek通过重构KV缓存、使用Engram及适配累加器限制,实现了在昇腾上的高效运行。然而,这种深度定制也带来了工程债和生态封闭性风险。x86环境下的兼容性问题表明,目前的成功高度依赖于特定的超节点配置。未来国产算力生态能否成为地基,取决于更多团队是否能复用这些内核并将优化回流社区。若仅停留在两家公司的定制化合作,则难以形成广泛的产业倍增效应。