跳转至

国内AI芯片

学习目标

  1. 了解华为昇腾系列芯片的达芬奇架构和产品规格
  2. 掌握昇腾910和昇腾310的核心技术特点
  3. 理解CANN软件栈的结构和功能
  4. 了解寒武纪MLU系列产品和MLU03架构
  5. 了解燧原科技、壁仞科技等其他国产AI芯片

章节导言

随着人工智能技术在国内的蓬勃发展,国产AI芯片产业也取得了长足的进步。华为昇腾系列芯片已经成为国内AI算力的重要支柱,寒武纪作为AI芯片的先驱企业也有深厚的技术积累。此外的卢科技、壁仞科技、燧原科技等新兴企业也在各自领域展现出不俗的实力。

本章将详细介绍国内主流AI芯片的架构特点和产品规格,重点分析华为昇腾和寒武纪两大代表性企业的技术路线。同时,我们也将介绍其他国产AI芯片厂商的产品和特色。

通过本章学习,读者将全面了解国内AI芯片产业的技术现状和发展趋势,理解国产AI芯片在架构设计和软件生态方面的创新探索。

5.1 华为昇腾概述

5.1.1 华为昇腾发展历程

华为昇腾(Ascend)是华为公司推出的AI处理器系列,标志着华为在AI芯片领域的全面布局。

发展历程

  • 2018年:发布昇腾310(边缘推理)和昇腾910(云端训练)
  • 2019年:推出Atlas系列人工智能计算平台
  • 2020年:发布昇腾AI处理器迭代版本
  • 2021年及以后:持续丰富产品形态,完善软件生态

昇腾产品体系

昇腾系列
├── 昇腾910:云端训练旗舰
├── 昇腾310:边缘推理主力
├── 昇腾AI加速模块
├── Atlas服务器产品
└── CANN软件栈

5.1.2 达芬奇架构

昇腾芯片采用华为自研的达芬奇(Da Vinci)架构,这是一种专门为AI计算设计的异构架构。

达芬奇架构特点

  1. 3D Cube矩阵乘法单元
  2. 针对矩阵运算优化
  3. 高吞吐量的卷积计算
  4. 存算一体设计

  5. 向量计算单元

  6. 支持FP16/INT8/INT4等多种精度
  7. 激活函数计算
  8. 池化等操作

  9. 标量计算单元

  10. 控制流处理
  11. 地址运算
  12. 复杂算法实现

达芬奇架构优势

  • 高能效比:每瓦性能优异
  • 灵活适配:从边缘到云端
  • 统一架构:不同产品线共享
  • 持续演进:架构迭代优化

5.2 昇腾910

5.2.1 昇腾910规格

昇腾910是华为面向云端训练场景推出的旗舰AI处理器。

核心规格

参数 昇腾910
工艺 7nm
算力 (FP16) 320 TFLOPS
算力 (INT8) 640 TOPS
HBM 32 GB
HBM带宽 1,200 GB/s
功耗 310W
芯片面积 -

5.2.2 昇腾910架构特点

达芬奇Core架构

昇腾910内置多个达芬奇Core,每个Core包含:

  • 1个Cube矩阵乘法单元:16×16×16矩阵运算
  • 多个向量计算单元
  • 标量计算单元
  • 本地存储单元

Cube矩阵乘法单元

Cube是昇腾的核心计算单元:

  • 三维矩阵运算:Cube(M, K, N)
  • 一次完成大矩阵乘法
  • 极高计算效率
Cube工作示意:
输入A [M×K] × 输入B [K×N]
            ↓
      矩阵乘法单元
            ↓
        输出C [M×N]

功耗控制

昇腾910在310W TDP下实现320 TFLOPS FP16算力,能效比达到1 TFLOPS/W,接近主流GPU水平。

5.2.3 昇腾910应用

Atlas 900 AI集群

Atlas 900是华为面向AI训练推出的集群产品:

  • 基于昇腾910处理器
  • 液冷散热设计
  • PUE < 1.1
  • 用于大规模模型训练

应用场景

  • 大规模深度学习模型训练
  • 自然语言处理
  • 计算机视觉
  • 科学计算

5.3 昇腾310

5.3.1 昇腾310规格

昇腾310是华为面向边缘推理场景推出的AI处理器。

核心规格

参数 昇腾310
工艺 7nm
算力 (FP16) 22 TFLOPS
算力 (INT8) 88 TOPS
功耗 8W (典型)
精度支持 FP16/INT8/INT4

5.3.2 昇腾310架构特点

低功耗设计

昇腾310针对边缘场景优化:

  • 8W典型功耗
  • 无需主动散热
  • 适应边缘部署

多精度支持

  • FP16:适合高精度推理
  • INT8:平衡精度与性能
  • INT4:极致性能压缩

统一架构

与昇腾910共享达芬奇架构:

  • 统一工具链
  • 模型可迁移
  • 开发成本低

5.3.3 昇腾310应用

Atlas产品系列

产品 应用场景
Atlas 200 嵌入式模块
Atlas 300 推理卡
Atlas 500 边缘小站
Atlas 800 推理服务器

典型应用

  • 智能摄像头
  • 自动驾驶
  • 工业检测
  • 无人机

5.4 CANN软件栈

5.4.1 CANN概述

CANN(Compute Architecture for Neural Networks)是华为针对昇腾芯片推出的异构计算架构。

CANN定位

CANN是连接上层AI框架与底层硬件的桥梁:

AI框架 (TensorFlow/PyTorch/MindSpore)
        ↓
  昇腾计算语言 (Ascend C)
        ↓
   CANN异构计算架构
        ↓
   昇腾AI处理器硬件

CANN核心功能

  1. 计算资源抽象
  2. 统一API接口
  3. 硬件资源管理
  4. 任务调度

  5. 算子编译优化

  6. 算子融合
  7. 图优化
  8. 内存优化

  9. 运行时管理

  10. 内存管理
  11. 任务管理
  12. 异常处理

5.4.2 CANN架构层次

架构分层

┌─────────────────────────────────────┐
│     AI应用层 (CANN High-Level API)  │
├─────────────────────────────────────┤
│     图编译层 (GE/ACL)               │
├─────────────────────────────────────┤
│     算子编译框架 (TBE/TIK)          │
├─────────────────────────────────────┤
│     驱动层 (CCE/Driver)            │
└─────────────────────────────────────┘

核心组件

组件 功能
GE 图引擎,神经网络图编译优化
ACL 昇腾计算语言,API接口
TBE 算子开发环境
CCE 芯片执行引擎

5.4.3 Ascend C编程

Ascend C是面向昇腾的C/C++编程接口。

基本概念

// Ascend C示例:向量加法
#include "acl/acl.h"

// 创建算子类型
aclOpType vecAdd = "VecAdd";

// 设置输入输出
aclTensor* inputX = aclCreateTensor(...);
aclTensor* inputY = aclCreateTensor(...);
aclTensor* outputZ = aclCreateTensor(...);

// 执行算子
aclExecuteOp(vecAdd, {inputX, inputY}, {outputZ}, ...);

TBE算子开发

TBE(Tensor Billing Engine)用于开发自定义算子:

# TBE DSL示例
import te.lang.cce
from te import tvm

def vec_add_compute(x, y):
    # 定义计算过程
    res = te.lang.cce.vadd(x, y)
    return res

# 调度和编译
with tvm.target.cce():
    res = vec_add_compute(x, y)
    sch = te.create_schedule(res.op)

5.4.4 MindSpore支持

华为自研的MindSpore框架与昇腾芯片深度集成:

  • 原生支持昇腾硬件
  • 自动算子融合
  • 分布式训练优化
  • 端云统一架构

与其他框架对比

框架 昇腾支持 特点
MindSpore 原生 华为自研,端云协同
PyTorch 适配 社区版本+华为插件
TensorFlow 适配 社区版本+华为插件

5.5 寒武纪MLU

5.5.1 寒武纪概述

中科寒武纪科技股份有限公司成立于2016年,是国内AI芯片领域的先驱企业。寒武纪的名字由"寒武纪"(地质时代)和"硅"组合而成,寓意智能时代的开启。

发展历程

  • 2016年:成立,发布首款处理器IP 1A
  • 2017年:发布1H处理器IP
  • 2018年:发布MLU100云端芯片
  • 2019年:发布MLU270推理芯片
  • 2021年:发布MLU370训练芯片
  • 2023年及以后:持续迭代MLU03架构

产品体系

寒武纪产品
├── 终端IP:1A, 1H, 1M
├── 边缘端:MLU220
├── 云端推理:MLU270, MLU370
├── 云端训练:MLU290, MLU370
└── 软件栈:Cambricon Neuware

5.5.2 MLU03架构

MLU03是寒武纪最新一代处理器架构,代表了寒武纪在AI芯片领域的技术积累。

核心设计

MLU03架构的核心特点:

  1. MLU Core + Memory Core
  2. MLU Core:计算核心
  3. Memory Core:存储控制核心
  4. 4+1核心集群

  5. Cluster结构

  6. 4个MLU Core + 1个Memory Core
  7. 共享SRAM
  8. 高效核间通信

  9. 多级存储

  10. 片上NRAM/WRAM
  11. Cluster级SRAM
  12. 片外DRAM

MLU03 Cluster结构

Cluster (4+1)
├── MLU Core 0: 计算单元
├── MLU Core 1: 计算单元
├── MLU Core 2: 计算单元
├── MLU Core 3: 计算单元
├── Memory Core: 存储控制
└── Shared SRAM: 共享存储

5.5.3 MLU370

MLU370是寒武纪面向数据中心推出的AI加速卡。

产品规格

参数 MLU370
工艺 7nm
算力 (FP16) 256 TFLOPS
内存 64 GB HBM
功耗 250W
互联 MLU-Link

技术特点

  • MLU03核心架构
  • 4nm工艺
  • MLU-Link高速互联
  • BANG C编程

5.5.4 MLU软件栈

寒武纪提供完整的软件栈支持。

Cambricon Neuware

Neuware是寒武纪的基础软件平台:

组件 功能
BANG C 编程语言
CNNL 算子库
CNCL 通信库
MagicMind 推理引擎
CNStudio 开发工具链

BANG C

BANG C是寒武纪面向MLU硬件的编程语言:

// BANG C示例:矩阵乘法
__nram__ float nram_dst[M * N];
__nram__ int16_t nram_src0[M * K];
__nram__ int8_t nram_src1[K * N];

// 使用bang_matmul intrinsic
__bang_matmul(nram_dst, nram_src0, nram_src1, M, K, N, POS);

CNNL

CNNL(CAMBricon CNN Library)是寒武纪的算子库:

  • 卷积、池化、激活
  • 矩阵运算
  • 循环网络算子
  • 优化实现

MagicMind

MagicMind是寒武纪的推理引擎:

  • 模型优化
  • 图编译
  • 推理部署
  • 性能调优

5.6 燧原科技

5.6.1 燧原概述

燧原科技成立于2018年,专注于AI芯片和系统的研发。

产品定位

  • 云端训练和推理
  • 数据中心市场
  • 自主技术路线

5.6.2 邃思芯片

燧原自研的邃思(DTU)芯片系列。

邃思2.0

参数 邃思2.0
工艺 7nm
算力 160 TFLOPS (FP16)
内存 32 GB HBM2e
功耗 280W

架构特点

  • 自研GCU-FA(通用计算单元阵列)
  • 片上高带宽存储
  • 可扩展互联

5.6.3 燧原产品

云燧i20

面向推理场景:

  • 单槽位设计
  • 高能效比
  • 适配主流框架

云燧T20/T21

面向训练场景:

  • T20: 200 TFLOPS
  • T21: 更高算力
  • 支持大规模集群

5.7 壁仞科技

5.7.1 壁仞概述

壁仞科技成立于2019年,由前英伟达和AMD高管创立。

发展理念

  • 原创芯片架构
  • 通用GPU路线
  • 生态建设

5.7.2 BR100

壁仞科技的旗舰产品BR100。

产品规格

参数 BR100
工艺 7nm
算力 (FP16) 512 TFLOPS
内存 64 GB HBM2e
功耗 300W

创新点

  • 自研Biren Instruction Set
  • 通用并行计算架构
  • 支持多种精度

5.7.3 生态建设

壁仞科技重视软件生态:

  • BIRENSUPA编程平台
  • 支持主流AI框架
  • 开发者社区建设

5.8 其他国产AI芯片

5.8.1 摩尔线程

摩尔线程成立于2020年,专注于GPU芯片设计。

产品

  • MTT S60:桌面级GPU
  • MTT S2000:数据中心GPU
  • 桌面和服务器市场并重

5.8.2 平头哥(含光

阿里巴巴旗下平头哥的AI芯片。

含光800

参数 含光800
工艺 12nm
算力 78,563 TOPS (INT8)
功耗 500mW
应用 阿里云推理

5.8.3 百度昆仑芯

百度自研AI芯片。

昆仑芯2

参数 昆仑芯2
工艺 7nm
算力 256 TOPS (INT8)
应用 云端推理

5.9 国产AI芯片软件生态对比

5.9.1 软件栈对比

厂商 编程语言 算子库 框架支持
华为 Ascend C CANN MindSpore/PyTorch/TF
寒武纪 BANG C CNNL PyTorch/ONNX
燧原 - - 主流框架
壁仞 BIRENSUPA - 建设中

5.9.2 生态建设挑战

国产AI芯片软件生态面临的挑战:

  1. 框架适配
  2. 主流框架适配工作量大
  3. 算子兼容性
  4. 性能调优

  5. 开发者社区

  6. 生态起步晚
  7. 开发者资源有限
  8. 缺乏标杆项目

  9. 工具链成熟度

  10. 编译器优化能力
  11. 调试工具
  12. 性能分析工具

5.9.3 发展建议

推动国产AI芯片生态发展的建议:

  1. 开放合作
  2. 拥抱开源
  3. 参与标准制定
  4. 社区共建

  5. 聚焦场景

  6. 选择重点行业
  7. 打造标杆案例
  8. 逐步扩展

  9. 软硬协同

  10. 硬件迭代配合软件优化
  11. 用户反馈驱动发展
  12. 持续投入

本章小结

本章介绍了国内主要AI芯片厂商和产品:

  1. 华为昇腾
  2. 达芬奇架构统一设计
  3. 昇腾910云端训练旗舰
  4. 昇腾310边缘推理主力
  5. CANN软件栈完整生态

  6. 寒武纪MLU

  7. MLU03核心架构
  8. MLU Core + Memory Core设计
  9. BANG C编程语言
  10. Cambricon Neuware软件栈

  11. 其他国产芯片

  12. 燧原科技邃思
  13. 壁仞科技BR100
  14. 摩尔线程、平头哥、百度昆仑等

国产AI芯片在技术进步的同时,软件生态建设仍是关键挑战。需要持续投入、开放合作,构建完善的开发者社区和应用生态。

思考与练习

  1. 昇腾分析:分析华为昇腾采用的达芬奇架构与NVIDIA GPU架构的核心区别。达芬奇架构的3D Cube矩阵乘法单元是如何实现高效AI计算的?

  2. 软件生态:对比分析华为CANN与NVIDIA CUDA软件栈的功能层次和特点。为什么软件生态是AI芯片成功的关键因素?

  3. 寒武纪MLU03:分析寒武纪MLU03架构中MLU Core和Memory Core的设计理念。这种架构与GPU的SIMT架构有什么本质区别?

  4. 差异化竞争:比较国内主要AI芯片厂商(昇腾、寒武纪、燧原、壁仞等)的技术路线差异和各自的优势领域。

  5. 生态建设思考:分析国产AI芯片在软件生态建设方面面临的主要挑战,并提出可能的解决策略。

  6. 技术趋势:展望未来5年国内AI芯片技术的发展趋势,可能出现哪些技术突破和创新应用?