在昇腾 NPU 上部署 Llama 大模型
本文分享了在昇腾 NPU 上部署测试 Llama-2-7B 大模型的全过程,提供踩坑经验。作者选择昇腾 NPU 主要因其自主可控的达芬奇架构、完善的开源生态及云端测试资源。文中详细介绍了创建昇腾 Notebook 实例的关键配置、环境验证方法,以及安装 transformers 库、下载部署模型的步骤,记录了遇到的常见问题及解决方案。通过测试英文生成、中文对话、代码生成三种场景,得出 16-17 tokens/s 的吞吐量,并给出使用 MindSpeed-LLM 框架、INT8 量化、批处理推理等优化建议。
一、选择昇腾 NPU 的原因
- 自主可控:昇腾采用华为自研的达芬奇架构,供应链安全性高。
- 生态完善:昇腾 GitCode 仓库包含多个开源项目,支持 PyTorch、TensorFlow 适配,拥有 MindSpeed-LLM 等大模型框架。
- 云端测试资源:可通过 GitCode 申请免费的昇腾 Notebook 实例进行模型测试,降低硬件成本。
二、环境准备
1. 创建 Notebook 实例
进入 GitCode 控制台创建实例,关键配置如下:
- 计算类型:必选 NPU,避免误选 CPU 或 GPU。
- 规格:推荐 1*NPU 800T A2、32v CPU、64GB 内存。
- 镜像:选择
euler2.9-py38-torch2.1.0-cann8.0-openmind0.6-notebook,预装关键工具。 - 存储:50G 免费存储足够容纳约 13GB 的模型文件。
2. 环境配置
镜像已预装以下工具:
- PyTorch 2.1.0
- CANN 8.0
- Python 3.8
- torch_npu 2.1.0
三、验证环境
进入 Notebook 终端,执行以下命令检查版本:
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 可用性时,需先导入插件:
import torch
import torch_npu
print(torch.npu.is_available()) # 输出:True
四、安装依赖
手动安装 transformers 库,建议使用清华镜像加速:
pip install transformers accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple
五、部署 Llama 模型
1. 模型下载
官方仓库 meta-llama/Llama-2-7b-hf 需权限且国内访问不稳定。建议使用开源镜像版本 NousResearch/Llama-2-7b-hf。
设置环境变量加速下载:
export HF_ENDPOINT=https://hf-mirror.com


