华为 Ascend 310P 是面向边缘和高性能推理的 NPU 平台,本文详细记录了在 ARM 64 位(aarch64)环境下,使用华为官方大模型推理引擎 MindIE 部署 DeepSeek-R1-Distill-Llama-70B 模型服务的完整流程。
通过 MindIE 可实现高效的本地大模型推理,并提供 OpenAI 兼容的接口,适合本地部署、隐私保护或边缘计算场景。
1. 硬件与系统环境
硬件:华为 Ascend 310P NPU(多卡配置)
架构 :aarch64(ARM 64 位)
操作系统 :openEuler(Linux 5.10.x aarch64)
存储建议:使用独立大容量磁盘挂载到 /data 目录,用于存放模型权重和运行数据准备工作:
通过 BMC 管理口配置服务器静态 IP。
准备好以下离线安装包:
Ascend NPU 驱动与固件
Ascend Docker Runtime
MindIE Docker 镜像
DeepSeek-R1-Distill-Llama-70B 模型权重文件
2. 基础环境准备 2.1 磁盘挂载
1. 创建 /data 目录。
2. 使用 parted 对磁盘(如 /dev/sda)创建 GPT 分区并格式化为 ext4。
3. 挂载分区到 /data,并配置 /etc/fstab 实现开机自动挂载。
2.2 安装 Ascend 驱动与固件
1. 创建用户组和用户:
2.安装驱动和固件( .run 文件):
验证:重启后执行 npu-smi info 检查 NPU 状态。
2.3 安装 Docker 与 Ascend Runtime
1. 使用离线安装包安装 Docker。
2. 复制 docker-compose 并赋予执行权限。
3. 安装 Ascend Docker Runtime。
4. 编辑 /etc/docker/daemon.json,设置默认 runtime 为 ascend,并将 Docker 数据根目录修改为/data/docker。
5. 重启 Docker 服务并验证配置。
3. 部署 MindIE 模型服务
3.1 启动 MindIE 容器
加载 MindIE Docker 镜像:
创建启动脚本 /data/mindie/start-mindie.sh,内容大致如下(根据实际情况调整镜像 ID 和模型路径):
3.2 容器内配置与启动模型
进入容器后执行以下操作:
1. 进入 MindIE 安装目录,修改相关权限。
2. 编辑配置文件
mindie-service/conf/config.json
主要调整:
监听地址与端口
NPU 设备 ID 配置
模型名称与模型权重路径
最大序列长度、世界大小(worldSize)等参数(根据实际 NPU 数量调整)
3. 处理模型配置文件兼容性(Ascend平台对部分数据类型需注意适配)。
4. 修改环境脚本 set_env.sh,并激活环境。
5. 创建模型启动脚本 run.sh,使用 mindieservice_daemon 启动服务:
3.3 测试模型服务
退出容器后,在宿主机执行:
4. 接口调用示例
部署完成后, MindIE 提供 OpenAI 兼容接口,可直接用于调用。
平台访问地址: http://<服务器IP>:1025/v1(端口以实际配置为准)
模型名称: DeepSeek-R1-Distill-Llama-70B
调用示例:
总结
使用华为 MindIE 推理引擎在 Ascend 310P ARM 服务器上成功部署 DeepSeek-R1-Distill-Llama-70B大模型服务,实现了高效本地推理能力。该方案部署稳定,支持开机自启,并提供标准的 OpenAI 接口,方便后续集成到各类应用中。
华为 Ascend 310P 是面向边缘和高性能推理的 NPU 平台,本文详细记录了在 ARM 64 位(aarch64)环境下,使用华为官方大模型推理引擎 MindIE 部署 DeepSeek-R1-Distill-Llama-70B 模型服务的完整流程。
通过 MindIE 可实现高效的本地大模型推理,并提供 OpenAI 兼容的接口,适合本地部署、隐私保护或边缘计算场景。
1. 硬件与系统环境
硬件:华为 Ascend 310P NPU(多卡配置)
架构 :aarch64(ARM 64 位)
操作系统 :openEuler(Linux 5.10.x aarch64)
存储建议:使用独立大容量磁盘挂载到 /data 目录,用于存放模型权重和运行数据准备工作:
通过 BMC 管理口配置服务器静态 IP。
准备好以下离线安装包:
Ascend NPU 驱动与固件
Ascend Docker Runtime
MindIE Docker 镜像
DeepSeek-R1-Distill-Llama-70B 模型权重文件
2. 基础环境准备2.1 磁盘挂载
1. 创建 /data 目录。
2. 使用 parted 对磁盘(如 /dev/sda)创建 GPT 分区并格式化为 ext4。
3. 挂载分区到 /data,并配置 /etc/fstab 实现开机自动挂载。
2.2 安装 Ascend 驱动与固件
1. 创建用户组和用户:
groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
2.安装驱动和固件( .run 文件):
./Ascend-hdk-310p-npu-driver_*.run --full --install-for-all ./Ascend-hdk-310p-npu-firmware_*.run --full
验证:重启后执行 npu-smi info 检查 NPU 状态。
2.3 安装 Docker 与 Ascend Runtime
1. 使用离线安装包安装 Docker。
2. 复制 docker-compose 并赋予执行权限。
3. 安装 Ascend Docker Runtime。
4. 编辑 /etc/docker/daemon.json,设置默认 runtime 为 ascend,并将 Docker 数据根目录修改为/data/docker。
5. 重启 Docker 服务并验证配置。
3. 部署 MindIE 模型服务
3.1 启动 MindIE 容器
加载 MindIE Docker 镜像:
docker load -i mindie-*.tar
创建启动脚本 /data/mindie/start-mindie.sh,内容大致如下(根据实际情况调整镜像 ID 和模型路径):
#!/bin/bash
ImageID=xxxxxxxx # 替换为实际 MindIE 镜像 ID
docker run -it -u root --privileged --name=mindie --ipc=host --net=host \ --device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci_manager \ --device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /data/models:/data/ckpt \ ${ImageID} /bin/bash
3.2 容器内配置与启动模型
进入容器后执行以下操作:
1. 进入 MindIE 安装目录,修改相关权限。
2. 编辑配置文件
mindie-service/conf/config.json
主要调整:
监听地址与端口
NPU 设备 ID 配置
模型名称与模型权重路径
最大序列长度、世界大小(worldSize)等参数(根据实际 NPU 数量调整)
3. 处理模型配置文件兼容性(Ascend平台对部分数据类型需注意适配)。
4. 修改环境脚本 set_env.sh,并激活环境。
5. 创建模型启动脚本 run.sh,使用 mindieservice_daemon 启动服务:
nohup /usr/local/Ascend/mindie/latest/mindie-service/bin/mindieservice_daemon > output.log 2>&1 &
tail -f output.log
3.3 测试模型服务
退出容器后,在宿主机执行:
curl http://172.17.0.1:1025/v1/models
4. 接口调用示例
部署完成后, MindIE 提供 OpenAI 兼容接口,可直接用于调用。
平台访问地址: http://<服务器IP>:1025/v1(端口以实际配置为准)
模型名称: DeepSeek-R1-Distill-Llama-70B
调用示例:
curl http://172.17.0.1:23002/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-R1-Distill-Llama-70B",
"messages": [
{"role": "user", "content": "你好,请用一句话介绍量子计算。"} ],
"temperature": 0.7, "max_tokens": 200
}'
总结
使用华为 MindIE 推理引擎在 Ascend 310P ARM 服务器上成功部署 DeepSeek-R1-Distill-Llama-70B大模型服务,实现了高效本地推理能力。该方案部署稳定,支持开机自启,并提供标准的 OpenAI 接口,方便后续集成到各类应用中。