在昇腾 NPU 上跑 Llama 大模型:从踩坑到通关的全程实战记
本文分享了在昇腾 NPU 上部署测试 Llama-2-7B 大模型的全过程。提供踩坑经验。
一、为什么选择昇腾?
国外 GPU 价格高昂,Atlas 服务器成本更是让个人开发者望而却步。昇腾 NPU 凭借自主可控的达芬奇架构、完善的开源生态以及 GitCode 提供的免费测试资源,成为了高性价比的选择。
- 自主可控:华为自研达芬奇架构,供应链安全更有保障。
- 生态完善:GitCode 仓库中有大量开源项目,支持 PyTorch、TensorFlow,还有专门的 MindSpeed-LLM 框架。
- 成本优势:通过 GitCode 申请免费的昇腾 Notebook 实例,零成本验证流程,比购买硬件划算得多。
二、环境准备:GitCode 配置要点
创建实例看似简单,实则暗藏陷阱。建议按以下配置操作:
1. 计算类型
务必选择 NPU。误选 CPU 会导致性能极差,甚至无法运行。
2. 规格选择
推荐配置:1*NPU 800T A2、32v CPU、64GB 内存。此配置足以支撑 Llama-2-7B 运行,过高浪费,过低则不够用。
3. 镜像选择
必须使用预装环境的镜像:euler2.9-py38-torch2.1.0-cann8.0-openmind0.6-notebook。该镜像已集成 PyTorch 2.1.0、CANN 8.0 等关键工具。
4. 存储设置
默认 50G 免费存储足够(模型约 13GB),无需额外付费扩容。
三、环境验证:第一个坑来得猝不及防
进入 Notebook 后,首先验证 NPU 可用性。打开 Terminal 输入以下命令检查版本:
cat /etc/os-release
python3 --version
python -c "import torch; print(f'PyTorch 版本:{torch.__version__}')"
python -c "import torch_npu; print(f'torch_npu 版本:{torch_npu.__version__}')"
接着验证 NPU 是否可用。直接运行 torch.npu.is_available() 会报错 AttributeError: module 'torch' has no attribute 'npu'。必须先导入 torch_npu 插件。
正确写法:
import torch
import torch_npu
print(torch.npu.is_available()) # 输出:True
确认输出为 True 且显示有 1 个 NPU 设备后,才算环境就绪。
四、安装依赖
虽然镜像预装了 PyTorch,但运行 Llama 大模型仍需手动安装 transformers 库。建议使用清华源加速:
pip install transformers accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple
五、部署 Llama:下载与运行
1. 模型下载
官方 Llama-2 仓库需要权限且国内访问不稳定。推荐使用开源镜像版本 ,无需申请权限,下载更稳定。


