参考文章:https://modelers.cn/models?name=deepseek&page=1&size=16
https://www.hiascend.com/software/modelzoo/models/detail/11aa2a48479d4d229a9830b8e41fc011
1.服务器硬件配置
当前服务器配置为:2 * 鲲鹏920 + 2 * Atlas 300I pro
系统:open Euler 22.03-LTS (AArch64)
驱动版本:Ascend-hdk-310p-npu-driver_24.1.rc3_linux-aarch64.run
固件版本:Ascend-hdk-310p-npu-firmware_7.5.0.1.129.run
注:记得先安装昇腾卡的驱动和固件
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
或者你自己下载再放进系统里
魔塔社区下载蛮快的
(4)修改模型路径下的config.json文件
修改模型权重config.json中torch_dtype字段为float16
(5)服务化推理
打开配置文件
vim /usr/local/Ascend/mindie/latest/mindie-service/conf/config.json
修改配置文件
修改的参数为:
npuDeviceIds:我是两张卡所以[0,1]
truncation:false
modelName:你的模型名称,随便取
modelWeightPath:模型的路径
worldSize:2
httpsEnabled" : false
启动服务
cd /usr/local/Ascend/mindie/latest/mindie-service/bin
./mindieservice_daemon
(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配置也是。
答非所问,调整回答相关参数我不熟
DeepSeek-R1-Distill-Qwen-7B,QWen是比较擅长中文,所以
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