当前位置: 首页 > news >正文

玩转大语言模型——使用华为官方MindIE-Server镜像方式部署DeepSeek模型

系列文章目录

玩转大语言模型——使用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 

修改以下参数项

参数修改值
httpsEnablefalse
ipAddress0.0.0.0
AllowAllZeroIpListeningtrue
maxIterTimes4096:
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

相关文章:

  • 编程基础 0 到 1 1768. 交替合并字符串
  • 蓝桥杯 日期统计(刷题笔记)
  • C++多线程编码二
  • 软件学报 2024年 区块链论文 录用汇总 附pdf下载
  • httpx模块的使用
  • Java中的同步和异步
  • 语法: result=ldexp (value, exp);
  • PHP 安全 E-mail
  • MatterGen-加速材料发现
  • 现代Web应用中的时光机器:深入解析撤销/重做功能的艺术与科学
  • Mac OS 禁用 SIP 系统完整性保护
  • Java学习总结-多线程-三种创建方法
  • Qt 音乐播放器项目
  • C语言:转置矩阵
  • vue封装一个toast(vue-toastification)弹窗在拦截器js中调用
  • python | numpy小记(三):理解 NumPy 中的 `np.ceil`:向上取整的利器
  • Axure RP9.0教程 | 内联框架 对应html 元素中的iframe标签 (打开内部页面和外部网址)
  • 虚幻基础:蓝图基础知识
  • 基于Python的招聘推荐数据可视化分析系统
  • 金庸群侠传3D-启动
  • win8 metro风格网站后台管理模板/外贸网站推广优化
  • 吴忠市建设网站/关键词歌词
  • 做招牌的网站/google图片搜索
  • 境外网站 备案/优化大师官网入口
  • 做网站属于It行业吗/今天的新闻 最新消息摘抄
  • 哪个网站可以做纸箱/郑州互联网公司排名