系列文章目录
玩转大语言模型——使用langchain和Ollama本地部署大语言模型
玩转大语言模型——三分钟教你用langchain+提示词工程获得猫娘女友
玩转大语言模型——ollama导入huggingface下载的模型
玩转大语言模型——langchain调用ollama视觉多模态语言模型
玩转大语言模型——使用transformers中的pipeline调用huggingface中模型
玩转大语言模型——transformers微调huggingface格式的中文Bert模型
玩转大语言模型——使用GraphRAG+Ollama构建知识图谱
玩转大语言模型——完美解决GraphRAG构建的知识图谱全为英文的问题
玩转大语言模型——配置图数据库Neo4j(含apoc插件)并导入GraphRAG生成的知识图谱
玩转大语言模型——本地部署带聊天界面deepseek R1的小白教程
玩转大语言模型——本地部署deepseek R1和本地数据库的小白教程(Ollama+AnythingLLM)
玩转大语言模型——使用LM Studio在本地部署deepseek R1的零基础)教程
玩转大语言模型——Ubuntu系统环境下使用llama.cpp进行CPU与GPU混合推理deepseek
玩转大语言模型——使用Kiln AI可视化环境进行大语言模型微调数据合成
玩转大语言模型——昇腾NPU驱动固件以及CANN的安装
玩转大语言模型——在欧拉操作系统(国产Linux)使用华为官方MindIE-Server镜像方式部署DeepSeek模型
文章目录
- 系列文章目录
- 前言
- 前期准备
- 硬盘挂载、网络配置以及Docker的安装
- 安装驱动和固件
- 下载模型权值文件
- 配置DeepSeek推理环境
- 拉取MindIE-Server镜像
- 启动容器
- 进入容器
- 配置模型参数文件
- 修改mindie-servier配置
- 启动 mindie-server 服务
前言
本文将详细介绍在国产Linux系统欧拉中使用华为官方MindIE-Server镜像方式部署DeepSeek模型。一般情况下华为昇腾800I服务器可以推理DeepSeek-R1-70B,4张300I-Duo服务器可以推理DeepSeek-R1-32B。在配置中尽量贴合官方文档,包含用到的一些其他的技术细节,便于零基础入门使用
前期准备
硬盘挂载、网络配置以及Docker的安装
在欧拉操作系统(国产Linux)中相关的配置可以参照文章Linux系统管理(十九)——欧拉系统硬盘挂载、网络配置以及Docker环境安装
安装驱动和固件
安装过程在上一篇中已经介绍过了,这里不再赘述,可以参照下面这篇博客。由于在mindie-server中已经内置了CANN,所以在安装mindie-server时,CANN的安装并非必选项。
玩转大语言模型——昇腾NPU驱动固件以及CANN的安装(教你如何使用官方社区安装)
下载模型权值文件
本文以DeepSeek-R1-32B
为例,读者可以根据自己的情况选择模型权值文件下载,在本文中将下载后的模型保存到路径/data/llm/deepseek/
下
modelscope下载地址:https://www.modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
hf-mirror下载地址:https://hf-mirror.com/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
配置DeepSeek推理环境
拉取MindIE-Server镜像
官方mindie地址:https://www.hiascend.com/developer/ascendhub/detail/mindie
点击镜像版本
后可以看到能够下载的版本,但是需要申请权限
才能够下载
注册登录华为账号后,填写姓名、公司、邮箱、申请原因后即可下载
800I下载第一个镜像,300I-DUO下载第三个镜像,点击立即下载
后按照官方提示拉取镜像即可
如果有大量配置需求的话,在拉取镜像后可以先保存拉取过的镜像,等需要的时候直接导入
启动容器
先给出一个参考命令,随后再给出解释
docker run -it --ipc=host \--device=/dev/davinci0 \--device=/dev/davinci1 \--device=/dev/davinci2 \--device=/dev/davinci3 \--device=/dev/davinci4 \--device=/dev/davinci5 \--device=/dev/davinci6 \--device=/dev/davinci7 \--device=/dev/davinci_manager \--device=/dev/devmm_svm \--device=/dev/hisi_hdc \--name=ds_service \-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \-v /usr/local/sbin/:/usr/local/sbin/ \-v /var/log/npu/:/usr/slog \-v /data/llm/deepseek/:/home/HwHiAiUser \-d -p 1025:1025 mindie:1.0.0-T71.B020-300I-Duo-arm64-py3.11 /bin/bash
这里有几点需要根据实际情况修改
参数 | 解释 |
---|---|
–device=/dev/davinci0 | 像这类参数用于表示核心数,这里从davinci0写到了davinci7,使用的是8个核心 |
-v /data/llm/deepseek/:/home/HwHiAiUser | 这个路径是映射模型的路径,将物理机上存储模型的路径/data/llm/deepseek/ 映射到容器的/home/HwHiAiUser 路径上 |
-d -p 1025:1025 | 将容器端口1025映射到物理机,这是为了外部访问mindie-server起的DeepSeek服务 |
mindie:1.0.0-T71.B020-300I-Duo-arm64-py3.11 | 镜像版本,示例中是300I-DUO镜像,如果是800I的镜像,需要把名称换为swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:2.0.T3-800I-A2-py311-openeuler24.03-lts |
进入容器
docker exec -it ds_service /bin/bash
配置模型参数文件
模型文件路径为:/home/HwHiAiUser
中
使用命令修改模型目录的所有者和权限模式, 这里以DeepSeek-R1-Distill-Qwen-32B
为例,这个模型的模型路径为/home/HwHiAiUser/DeepSeek-R1-Distill-Qwen-32B
cd /home/HwHiAiUser
chown -R root:root DeepSeek-R1-Distill-Qwen-32B
chmod -R 750 DeepSeek-R1-Distill-Qwen-32B
进入DeepSeek-R1-Distill-Qwen-32B, 修改其中的config.json文件, 将其中torch_dtype项改为float16
cd DeepSeek-R1-Distill-Qwen-32B
vi config.json
修改mindie-servier配置
进入到mindie-server目录
cd /usr/local/Ascend/mindie/latest/mindie-service
source set_env.sh
修改 config.json 文件
vi conf/config.json
修改以下参数项
参数 | 修改值 |
---|---|
httpsEnable | false |
ipAddress | 0.0.0.0 |
AllowAllZeroIpListening | true |
maxIterTimes | 4096: |
numDeviceIds | 设为你想使用的卡的id |
worldSize | 设为卡数 |
modelName | 模型名称,注意要和请求时用到的model名相同 |
modelWeightPath | 模型参数目录路径 |
其他值的修改参照官方
MindIE-Server参数设置:https://www.hiascend.com/document/detail/zh/mindie/100/mindieservice/servicedev/mindie_service0285.html
启动 mindie-server 服务
cd /usr/local/Ascend/mindie/latest/mindie-service
启动服务并将日志输入到 output.log文件中
nohup ./bin/mindieservice_daemon > output.log 2>&1 &
通过如下命令查看日志
tail -f output.log
启动, 如果有以下内容则启动成功
Daemon start success!
启动成功后访问地址http://服务器IP:1025/v1
即可使用类OpenAI
的方式访问大模型的Server