华为昇腾(Ascend)架构介绍

发布时间: 更新时间: 总字数:1800 阅读时间:4m 作者:IP:上海 网址

华为昇腾(Ascend)910B 是目前中国国产 AI 算力芯片中的旗舰产品,主要对标 NVIDIA A100/H100。本文将相关名词和术语分为硬件架构、内存与互联、软件栈、以及产品形态四个维度进行详细解释。

核心硬件架构

  1. NPU (Neural Processing Unit)
    • 解释: 神经网络处理器。昇腾 910B 属于 NPU,专门针对深度学习中的矩阵乘法、卷积等运算进行硬核加速,区别于通用 CPU 或图形渲染 GPU。
  2. 达芬奇架构 (Da Vinci Architecture)
    • 解释: 华为自主研发的芯片架构。其核心特征是 3D Cube
    • 3D Cube: 专门负责矩阵运算(Matrix)的硬件单元,每次时钟周期可以完成大规模的矩阵乘加,是 AI 训练提速的关键。
    • Vector (向量单元): 负责向量运算,处理非线性的激活函数等。
    • Scalar (标量单元): 负责控制逻辑和各种标量计算。
  3. AI Core / AI CPU
    • AI Core: 达芬奇架构的核心,负责主要的张量和向量计算。
    • AI CPU: 芯片内集成的小型 CPU 核心,负责处理不适合 NPU 计算的复杂逻辑、数据预处理和任务调度。

内存与互联技术

  1. HBM (High Bandwidth Memory)
    • 解释: 高带宽内存。910B 通常搭载 HBM2e 或 HBM3(不同批次有所不同)。AI 大模型需要极高的数据吞吐速度,HBM 通过垂直堆叠显存芯片,提供远高于传统 DDR 的带宽。
  2. HCCS (Huawei Cache Coherent System)
    • 解释: 华为自研的片间互联协议。类似于 NVIDIA 的 NVLink。它允许一台服务器内的 8 颗 910B 芯片之间高速通信,实现算力聚合。
  3. RoCE (RDMA over Converged Ethernet)
    • 解释: 远程直接内存访问协议。在多台服务器组成集群(Cluster)时,通过 100G/200G 网卡实现服务器间的高速、低延迟互联,是分布式训练大模型(如千亿参数模型)的基础。
  4. PCIe 4.0/5.0
    • 解释: 芯片与主机 CPU(如鲲鹏 920)通信的标准总线接口。

软件栈与生态 (CANN & MindSpore)

  1. CANN (Compute Architecture for Neural Networks)
    • 解释: 异构计算架构。它是昇腾硬件的驱动+加速库。地位等同于 NVIDIA 的 CUDA
    • 功能: 向上对接 AI 框架(PyTorch, TensorFlow),向下调用硬件资源,包含算子库(AscendCL)、编译器(ATC)等。
  2. MindSpore
    • 解释: 华为自研的 AI 框架。地位等同于 PyTorchTensorFlow。它与昇腾硬件结合最紧密,能实现动静结合的开发体验和全场景部署。
  3. AscendCL (Ascend Computing Language)
    • 解释: 昇腾计算语言。一套 C++ API,开发者通过调用它来实现模型加载、内存管理、推理和训练任务。
  4. ATC (Ascend Tensor Compiler)
    • 解释: 模型转换工具。将开源框架(如 ONNX, Caffe, TensorFlow)的模型转换成昇腾 NPU 能够识别的离线模型(.om 文件)。
  5. MindIE (Mind Inference Engine)
    • 解释: 昇腾推理引擎。专门针对大语言模型(LLM)推理优化的加速组件,对标 NVIDIA 的 TensorRT-LLM。
    • MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对AI全场景业务的推理加速套件。通过分层开放AI能力,支撑用户多样化的AI业务需求,使能百模千态,释放昇腾硬件设备算力。向上支持多种主流AI框架,向下对接不同类型昇腾AI处理器,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。

数据精度与性能指标

  1. FP16 / BF16 / INT8
    • FP16: 半精度浮点数,AI 训练的主流精度。
    • BF16 (Brain Floating Point): 910B 的重要特性。相比 FP16,BF16 动态范围更广,更适合大模型(如 Llama, GPT 系列)的稳定训练。
    • INT8: 8 位整型,常用于模型量化后的推理,以牺牲极小精度换取巨大的速度提升。
  2. TFLOPS (TeraFLOPS)
    • 解释: 每秒万亿次浮点运算。910B 的半精度(FP16)算力通常被认为达到或接近 A100 的水平(约 300+ TFLOPS)。

产品形态

  1. Atlas 300T (训练卡)
    • 解释: PCIe 卡形式,插在服务器里。
  2. Atlas 800 (训练服务器)
    • 解释: 整机产品,通常一台服务器内置 8 颗 910B 芯片,是目前国产大模型训练的主力机型。
  3. Atlas 900 (AI 集群)
    • 解释: 由成百上千台 Atlas 服务器通过交换机连接组成的超级计算机集群,用于训练超大规模参数模型(如盘古大模型)。

昇腾技术栈与 NVIDIA 技术栈对标

概念 NVIDIA 生态 华为昇腾 (Ascend) 生态
硬件 GPU (A100/H100) NPU (Ascend 910/310)
核心软件栈 CUDA CANN
编程接口 CUDA Runtime API AscendCL (ACL)
模型转换/编译器 TensorRT / NVCC ATC (Ascend Tensor Compiler)
算子库 cuBLAS, cuDNN Ascend Ops / Trans Ops
多卡通信库 NCCL HCCL
自定义算子语言 CUDA C++ Ascend C (以前是 TBE-DSL)
底层驱动 NVIDIA Driver Ascend Driver
特性 MindX DL (MindCluster) MindX SDK
关注点 集群与资源 应用与算法
主要用户 运维工程师、平台架构师 AI 算法工程师、应用开发者
作用 即使我有 1000 张卡,怎么把它们管好?怎么不让任务打架? 我怎么写代码才能让摄像头拍到的视频快速完成人脸识别?
场景 K8s 集群、数据中心、云平台 制造产线、智慧交通、边缘计算盒子
核心 对接 Kubernetes 提供 mxVision/mxManufacture 等开发库

如何通俗理解昇腾

如果把大模型训练比作炼丹昇腾 910B 就是那口最顶级的炼丹炉达芬奇架构是炉子的内部构造;HBM 是快速倒药材的传送带;CANN 是操作炉子的说明书;而 MindSpore 就是记录丹药配方的秘籍。

其他