在昇腾 NPU 上跑 Llama 2 模型:一次完整的性能测试与实战指南
引言:从'为什么选择昇腾'开始
面对动辄数万的 NVIDIA 高端 GPU,许多开发者和团队在部署大模型时都感到成本压力。当我在为 Llama 2-7B 寻找一个高性价比的部署方案时,华为昇腾(Ascend)NPU 走进了我的视野。其自主可控的达芬奇架构、日益完善的软件开源生态以及云上可得的测试资源,构成了我选择它的三大理由。
本文记录使用云端昇腾 Notebook 实例,完成从环境配置、模型部署到性能测试与优化的全过程。这是一份真实的问题排查与实施记录,希望能为后续的探索者提供参考。
第一幕:环境搭建——好的开始是成功的一半
1.1 Notebook 实例配置指南
在云平台创建 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 环境验证:'Hello, NPU!'
实例启动后,我们首先需要确认 NPU 可用。在 Jupyter Notebook 的终端中,依次执行以下命令:
[图片]
# 检查系统与 Python 版本
import os
os.environ['HF_ENDPOINT']='https://hf-mirror.com'
!cat /etc/os-release
python3 --version
# 检查 PyTorch 及 torch_npu
python -c "import torch; print(f'PyTorch 版本:{torch.__version__}')"
python -c "import torch_npu; print(f'torch_npu 版本:{torch_npu.__version__}')"
看到 PyTorch 版本:2.4.0 和 torch_npu 版本:2.4.0.post4 说明正常可用。
[图片]
[图片]
第一个常见的'坑':直接运行 torch.npu.is_available() 会报错 AttributeError。
原因与解决方案:torch_npu 是一个独立的插件,必须显式导入后才能注册 NPU 后端。正确的验证方式是:
python -c "import torch; import torch_npu; print(torch.npu.is_available())"
看到 True,恭喜你,NPU 环境准备就绪!
第二幕:模型部署——从下载到运行的流程
环境搞定,接下来就是请'Llama 2'这位大神上场了。
2.1 安装依赖与模型下载
安装运行 Llama 2 所必须的库,建议使用国内镜像加速:
pip install transformers accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple


