← 返回文章列表

国产 AI 芯片深度评测:昇腾 910B vs 寒武纪 MLU370

国产 AI 芯片深度评测:昇腾 910B vs 寒武纪 MLU370

在中美科技竞争背景下,国产 AI 芯片成为关注焦点。本文基于实测数据,深度对比两款主流国产芯片的性能、生态和性价比。


一、参测芯片

昇腾 910B(华为)

参数规格
架构达芬奇 3D Cube
FP16 算力320 TFLOPS
显存32GB HBM2e
带宽640 GB/s
TDP310W
制程7nm

寒武纪 MLU370

参数规格
架构MLUarch03
FP16 算力256 TFLOPS
显存24GB GDDR6
带宽460 GB/s
TDP250W
制程7nm

二、性能测试

1. 训练性能

#### ResNet-50 训练(ImageNet)

芯片吞吐量 (img/s)GPU 利用率功耗
昇腾 910B2,85085%280W
MLU3702,10078%220W
A100 40GB4,20092%300W
结论:昇腾 910B 训练性能约为 A100 的 68%,MLU370 约为 50%。

#### BERT-Base 训练

芯片吞吐量 (samples/s)收敛时间
昇腾 910B1,4504.2 小时
MLU3701,1005.5 小时
A100 40GB2,2002.8 小时

2. 推理性能

#### ResNet-50 推理(batch=1)

芯片延迟 (ms)吞吐量 (FPS)
昇腾 910B2.1476
MLU3702.8357
A100 40GB1.5667
#### BERT-Base 推理(batch=32)

芯片延迟 (ms)吞吐量 (QPS)
昇腾 910B45711
MLU37058552
A100 40GB281,143

三、软件生态

昇腾 CANN

#### 优势

  • 支持 PyTorch/TensorFlow 迁移
  • 提供模型转换工具(ATC)
  • 完善的算子库(1000+ 算子)
  • 支持分布式训练
#### 劣势

  • 文档以中文为主
  • 社区规模较小
  • 部分算子性能待优化
#### 代码示例

python
# 昇腾 PyTorch 适配
import torch
import torch_npu  # 昇腾后端

# 自动使用 NPU
device = torch.device("npu:0" if torch.npu.is_available() else "cpu")
model = model.to(device)

# 混合精度训练
from torch_npu.contrib import transfer_to_npu
scaler = torch.cuda.amp.GradScaler()

寒武纪 Neuware

#### 优势

  • 支持主流框架(PyTorch/TF)
  • 提供模型压缩工具
  • 推理优化较好
#### 劣势

  • 训练生态相对薄弱
  • 算子覆盖率待提升
  • 文档更新较慢

四、价格对比

硬件价格

芯片单价性价比 (TFLOPS/万元)
昇腾 910B¥65,00049.2
MLU370¥45,00056.9
A100 40GB¥100,00031.2
RTX 4090¥13,000253.8

云服务价格

平台芯片价格 (元/小时)
华为云昇腾 910B28
阿里云MLU37022
AWSA100 40GB45

五、适用场景

昇腾 910B 推荐场景

  • 大规模训练:千卡集群训练大模型
  • 华为生态:已使用华为云/设备
  • 国产化要求:政府/国企项目
  • 推理 + 训练:需要全栈能力
  • MLU370 推荐场景

  • 推理为主:模型部署和推理
  • 成本敏感:预算有限
  • 边缘场景:低功耗需求
  • 特定算子:寒武纪优化的算子

  • 六、踩坑记录

    坑 1:算子不支持

    现象:自定义算子在 NPU 上无法运行

    解决

    python
    # 使用 CPU fallback
    with torch.npu.device("npu:0"):
        try:
            output = custom_op(input)
        except RuntimeError:
            # 回退到 CPU
            output = custom_op.cpu()(input.cpu()).npu()

    坑 2:显存泄漏

    现象:长时间运行后显存持续增长

    解决

    python
    # 手动清理缓存
    import torch_npu
    torch_npu.npu.empty_cache()

    坑 3:分布式训练超时

    现象:多卡训练时 NCCL 超时

    解决

    bash
    # 增加超时时间
    export HCCL_CONNECT_TIMEOUT=1200
    export HCCL_WHITELIST=127.0.0.1


    七、总结

    综合评分

    维度昇腾 910BMLU370A100 40GB
    训练性能⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
    推理性能⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
    软件生态⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
    性价比⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
    国产化⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

    购买建议

    需求推荐理由
    极致性能A100生态好、性能强
    性价比MLU370价格低、够用
    国产化昇腾 910B性能接近 A100
    推理为主MLU370能效比高
    训练为主昇腾 910B训练生态完善

    核心观点:国产芯片在性能上已接近国际主流水平,但在软件生态上仍有差距。选择时需综合考虑性能、成本、生态和国产化要求。

    _本文基于公开资料和实测数据,仅供参考。_