> 技术文档 > 鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek

鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek

参考文章:https://modelers.cn/models?name=deepseek&page=1&size=16
https://www.hiascend.com/software/modelzoo/models/detail/11aa2a48479d4d229a9830b8e41fc011
当前服务器配置为:2 * 鲲鹏920 + 2 * Atlas 300I pro
系统:open Euler 22.03-LTS (AArch64)


1.前期环境准备

(1)安装驱动

驱动下载:昇腾社区固件和驱动下载列表
鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek
Atlas 300I pro和Atlas 300I duo都是一样的芯片,310P哈

groupadd HwHiAiUseruseradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash./驱动或固件 --full ##第一次先安装驱动

安装完后重启,然后输入:

npu-smi info

鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek
就安装成功了

(2)安装docker和docker-compose

yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

注意:如果你想安装其他版本的docker和docker-compose,可以参考我另一篇文章:
openEuler 22.03 LTS (aarch64)系统上离线安装 Docker 27.5(或指定版本)和 Docker Compose

2.部署

镜像准备:1.0.0-300I-Duo-py311-openeuler24.03-lts
完成加载镜像后,请使用docker images命令确认查找具体镜像名称与标签。

docker load -i mindie:1.0.0-300I-Duo-py311-openeuler24.03-lts

注:因为昇腾Atlas 300I PRO和Atlas 300 Duo都是310B芯片,我就直接用这个镜像了,现在昇腾官网已经下载不了该镜像了,下载地址如下:
mindie:1.0.0-300I-Duo-py311-openeuler24.03-lts以及其他mindie镜像下载列表【昇腾社区】

(1)新建容器

docker run -it -d --net=host --shm-size=1g \\ --name deepseek-7b \\ --device=/dev/davinci_manager \\ --device=/dev/hisi_hdc \\ --device=/dev/devmm_svm \\ --device=/dev/davinci0 \\ --device=/dev/davinci1 \\ --device=/dev/davinci2 \\ --device=/dev/davinci3 \\ --device=/dev/davinci4 \\ --device=/dev/davinci5 \\ --device=/dev/davinci6 \\ --device=/dev/davinci7 \\ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \\ -v /usr/local/sbin:/usr/local/sbin:ro \\ -v /root/:/root/ \\ mindie:1.0.0-300I-Duo-py311-openeuler24.03-lts bash

注:name 参数后是名称,device=/dev/davinci0,这是指你的第一张卡,剩下就是驱动和命令文件等等。

(2)进入容器

docker exec -it deepseek-7b bash

(3)下载模型DeepSeek-R1-Distill-Qwen-7B

请先通过如下命令安装ModelScope

pip install modelscope

下载完整模型repo

modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B

或者你自己下载再放进系统里
鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek
魔塔社区下载蛮快的

(4)修改模型路径下的config.json文件

鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek
修改模型权重config.json中torch_dtype字段为float16
鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek

(5)服务化推理

打开配置文件

vim /usr/local/Ascend/mindie/latest/mindie-service/conf/config.json

修改配置文件
鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek
修改的参数为:
npuDeviceIds:我是两张卡所以[0,1]
truncation:false
modelName:你的模型名称,随便取
modelWeightPath:模型的路径
worldSize:2
httpsEnabled\" : false

启动服务

cd /usr/local/Ascend/mindie/latest/mindie-service/bin
./mindieservice_daemon

鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek

(6)新建窗口测试

curl 127.0.0.1:1040/generate -d \'{\"prompt\": \"What is deep learning?\",\"max_tokens\": 32,\"stream\": false,\"do_sample\":true,\"repetition_penalty\": 1.00,\"temperature\": 0.01,\"top_p\": 0.001,\"top_k\": 1,\"model\": \"qwen\"}\'

注:默认是1025端口,可以在/usr/local/Ascend/mindie/latest/mindie-service/conf/config.json这个文件找到,IP配置也是。
答非所问,调整回答相关参数我不熟
鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek

DeepSeek-R1-Distill-Qwen-7B,QWen是比较擅长中文,所以
鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek
鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek

curl 127.0.0.1:1025/generate -d \'{ \"prompt\": \"深度学习是什么?\", \"maxtokens\": 150, \"stream\": false, \"dosample\": true, \"repetitionpenalty\": 1.5, \"temperature\": 0.7, \"topp\": 0.95, \"topk\": 100, \"model\": \"qwen\"}\'

2025年2月13日11:18:48,目前我这个参数问就稍微正常点- -

注意
1.回复会乱回复,字数限制
解决方法:maxIterTimes:5210
鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)_atlas 300i duo deepseek