背景与选型
面对动辄数万的 NVIDIA 高端 GPU,许多开发者和团队在部署大模型时都感到成本压力。华为昇腾(Ascend)NPU 凭借自主可控的达芬奇架构、日益完善的软件开源生态以及云上可得的测试资源,成为了一个高性价比的替代方案。
本文记录使用云端 Notebook 实例,完成从环境配置、模型部署到性能测试与优化的全过程。这是一份真实的踩坑与通关记录,希望能帮助后续探索者少走弯路。
环境准备
本以为在云平台创建环境是简单的事,没想到第一个坑来得如此之快。
1.1 实例配置注意事项
在创建 Notebook 实例时,几个关键配置决定了后续的成败:
- 计算类型:务必选择
NPU!手滑选了 CPU 或 GPU,后续所有步骤都将徒劳无功。 - 规格选择:
NPU basic规格(1*Ascend 910B, 32vCPU, 64GB 内存)是运行 Llama-2-7B 的甜点配置。 - 镜像选择:这是关键!必须选择预装了 CANN、PyTorch 适配器等核心工具的镜像,例如
euler2.9-py38-torch2.1.0-cann8.0-openmind0.6-notebook。这能省去大量手动配置环境的时间。
1.2 环境验证
实例启动后,我们首先需要确认 NPU 可用。在终端中依次执行以下命令:
# 检查系统与 Python 版本
import os
os.system('cat /etc/os-release')
os.system('python3 --version')
# 检查 PyTorch 及 torch_npu
import torch
print(f'PyTorch 版本:{torch.__version__}')
import torch_npu
print(f'torch_npu 版本:{torch_npu.__version__}')
如果未安装,先执行 pip install --upgrade pip,然后安装相关包:
pip install torch torchvision torchaudio
pip install torch-npu
看到输出类似 PyTorch 版本:2.4.0 和 torch_npu 版本:2.4.0.post4 说明正常可用。
常见坑点:直接运行 torch.npu.is_available() 会报错 AttributeError。原因是 torch_npu 是一个独立的插件,必须显式导入后才能注册 NPU 后端。正确的验证方式是:
import torch
import torch_npu
print(torch.npu.is_available())
看到 True,说明 NPU 环境准备就绪。
模型部署
环境搞定,接下来就是请 Llama 2 这位大神上场了。


