在昇腾 NPU 上部署 Llama 大模型实战指南
本文分享了在昇腾 NPU 上部署测试 Llama-2-7B 大模型的全过程,提供踩坑经验。由于硬件成本考量,选择昇腾 NPU 进行自主可控的达芬奇架构测试。
一、选择昇腾 NPU 的原因
- 自主可控:昇腾采用华为自研达芬奇架构,供应链安全性高。
- 生态适配:支持 PyTorch、TensorFlow,拥有 MindSpeed-LLM 等框架。
- 云资源测试:可通过云端 Notebook 实例按小时租用或申请免费资源进行测试。
二、环境准备
1. 创建 Notebook 实例
进入云端开发环境控制台,关键配置如下:
- 计算类型:必选 NPU,避免误选 CPU 或 GPU。
- 规格:推荐 1*NPU 800T A2、32v CPU、64GB 内存。
- 镜像:选择预装 PyTorch 2.1.0、CANN 8.0 的镜像(如 euler2.9-py38-torch2.1.0-cann8.0-openmind0.6-notebook)。
- 存储:50G 足够存放约 13GB 的模型文件。
2. 环境验证
进入终端后,执行以下命令检查版本及 NPU 可用性:
# 检查系统版本
cat /etc/os-release
# 检查 Python 版本
python3 --version
# 检查 PyTorch 版本
python -c "import torch; print(f'PyTorch 版本:{torch.__version__}')"
# 检查 torch_npu
python -c "import torch_npu; print(f'torch_npu 版本:{torch_npu.__version__}')"
注意:验证 NPU 可用时必须先导入 torch_npu 插件。
import torch
import torch_npu
print(torch.npu.is_available()) # 输出 True
三、安装依赖
安装 transformers 和 accelerate 库,建议使用国内镜像加速:
pip install transformers accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple
四、部署 Llama 模型
1. 模型下载
官方仓库需权限且访问不稳定,建议使用开源镜像版本 NousResearch/Llama-2-7b-hf。
设置环境变量加速下载:
export HF_ENDPOINT=https://hf-mirror.com
2. 核心代码示例
import torch
torch_npu
transformers AutoModelForCausalLM, AutoTokenizer
time
MODEL_NAME =
DEVICE =
()
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(
MODEL_NAME,
torch_dtype=torch.float16,
low_cpu_mem_usage=
).to(DEVICE)
model.()
prompt =
inputs = tokenizer(prompt, return_tensors=).to(DEVICE)
start = time.time()
outputs = model.generate(**inputs, max_new_tokens=)
end = time.time()
text = tokenizer.decode(outputs[])
()
()


