华为裸金属昇腾Atlas 900A2 P0D(910B)部署Deepseek蒸馏70b LLaMA模子 ...

打印 上一主题 下一主题

主题 906|帖子 906|积分 2718

一、环境阐明

华为裸金属服务器,昇腾架构Atlas 900A2 P0D 共3.2P算力,此架构不能用ollama
硬件配置:


  • 机型: physical.kat2ne.48xlarge.8.ei.pod101
  • CPU: Kunpeng 920 (4*48Core@2.6GHz),ARM 架构,192 核
  • 内存: 24*64GB DDR4 1536G
  • 硬盘: 500G nvmex 15T
  • 网卡: 2*100G + 8*200G
  • 浸没式液冷
模子:DeepSeek-R1-Distill-Llama-70B,最多也能只能部署这个,如果想要部署671b,需要4台及以上910b的服务器
体系层
  1. [root@0001 ~]# cat /etc/os-release
  2. NAME="EulerOS"
  3. VERSION="2.0 (SP10)"
  4. ID="euleros"
  5. VERSION_ID="2.0"
  6. PRETTY_NAME="EulerOS 2.0 (SP10)"
  7. ANSI_COLOR="0;31"
复制代码
二、部署步骤

a.需要安装整备一些基础工具
  1. yum update
  2. yum install -y epel-release net-tools screen socat conntrack ebtables ipset chrony lsof
复制代码
防火墙没啥用都关掉
  1. systemctl stop firewalld
  2. systemctl disable firewalld
  3. swapoff -a
  4. sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
  5. setenforce 0
复制代码
硬盘配置,15T
  1. #创建pv vg
  2. pvcreate /dev/nvme{0..4}n1
  3. vgcreate datavg /dev/nvme{0..4}n1
  4. lvcreate -l 100%FREE -n datalv datavg
  5. #划分成ext4
  6. mkfs.ext4 /dev/datavg/datalv
  7. #创建和挂载
  8. mkdir /data
  9. mount /dev/datavg/datalv /data
  10. #持久化
  11. vim /etc/fstab
  12. /dev/datavg/datalv  /data  ext4  defaults  0  0
复制代码
b.下载模子
国内源:阿里云的ModelScope 保举用这个,一百多G
国际源:HuggingFace
下载方式有许多,个人比力保举git lfs,比力简单一些,最终的目标是把模子下载下来就可以

EulerOS安装git lfs
  1. wget https://github.com/git-lfs/git-lfs/releases/download/v3.5.1/git-lfs-linux-arm64-v3.5.1.tar.gz
  2. tar -zxvf git-lfs-linux-arm64-v3.5.1.tar.gz
  3. cd git-lfs-3.5.1/
  4. ./install.sh
  5. git-lfs version
复制代码
模子路径:/data/model/DeepSeek-R1-Distill-Llama-70B
注:模子文件需要750的递归权限
在此文件下执行,要下载很长时间。。。
  1. git lfs install
  2. git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Llama-70B.git
复制代码
c.下载专用容器
地址在昇腾社区,需要申请才华下载,申请速度最快1-2小时,文件11G左右

需要下载的是1.0.0-800I-A2-py311-openeuler24.03-lts

需要关闭显卡卡密
  1. #关闭TLS加密(逐卡操作)
  2. for i in {0..7}; do hccn_tool -i $i -tls -s enable 0 ; done
复制代码
三、模子配置启动

a.用docker启动,大概本身写一个docker-compose,利用910b的机子就不用把模子量化也能启动70b,如果配置比这个低就要量化,这里操作没有量化
  1. docker run -it -d --net=host --shm-size=1g \
  2.     --privileged \
  3.     --name deepseek-r1 \
  4.     --device=/dev/davinci_manager \
  5.     --device=/dev/hisi_hdc \
  6.     --device=/dev/devmm_svm \
  7.     --device=/dev/davinci0 \
  8.     --device=/dev/davinci1 \
  9.     --device=/dev/davinci2 \
  10.     --device=/dev/davinci3 \
  11.     --device=/dev/davinci4 \
  12.     --device=/dev/davinci5 \
  13.     --device=/dev/davinci6 \
  14.     --device=/dev/davinci7 \
  15.     -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
  16.     -v /usr/local/sbin:/usr/local/sbin:ro \
  17.     -v /data/model/DeepSeek-R1-Distill-Llama-70B:/data/model/DeepSeek-R1-Distill-Llama-70B:ro \
  18.     swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:1.0.0-800I-A2-py311-openeuler24.03-lts bash
复制代码
需要编译mindie配置文件,配置文件阐明配置参数阐明-安装与配置-MindIE LLM开辟指南-大模子开辟-MindIE1.0.0开辟文档-昇腾社区
容器启动后进入容器中
  1. vim /usr/local/Ascend/mindie/latest/mindie-service/conf/config.json
  2. {
  3. ...
  4. "ServerConfig" :
  5. {
  6. ...
  7. "port" : 1025, #自定义
  8. "managementPort" : 1026, #自定义
  9. "metricsPort" : 1027, #自定义
  10. ...
  11. "httpsEnabled" : false, #这个要关掉
  12. ...
  13. },
  14. "BackendConfig": {
  15. ...
  16. "npuDeviceIds" : [[0,1,2,3,4,5,6,7]],  #8块显卡
  17. ...
  18. "ModelDeployConfig":
  19. {
  20. "ModelConfig" : [
  21. {
  22. ...
  23. "modelName" : "llama",  #模型名称
  24. "modelWeightPath" : "/data/model/DeepSeek-R1-Distill-Llama-70B",  #模型路径
  25. "worldSize" : 8,  #8块
  26. ...
  27. }
  28. ]
  29. },
  30. ...
  31. }
  32. }
复制代码
启动推理服务,启动报错可能是权限问题,要么750,要么755,要递归权限,配置文件其他地方先不要改,启动乐成了再修改
  1. cd /usr/local/Ascend/mindie/latest/mindie-service/bin
  2. ./mindieservice_daemon
  3. #后台启动,要不然关窗口服务也断掉
  4. ./mindieservice_daemon &
复制代码
表现下面这个就启动乐成

此时,npu的功耗也会增大配置利用起来了

b.接口测试,max_token加大,要不然输出笔墨断掉
  1. curl 127.0.0.1:1025/generate -d '{
  2. "prompt": "你是谁,你能干什么",
  3. "max_tokens": 256,
  4. "stream": false,
  5. "do_sample":true,
  6. "repetition_penalty": 1.00,
  7. "temperature": 0.01,
  8. "top_p": 0.001,
  9. "top_k": 1,
  10. "model": "llama"
  11. }'
复制代码

四、模子对话

模子可视化对话用的最多的就是openweb-ui,参考了大部门的教程都是利用python3.11安装的,用3.11会破坏现有的环境,会冲突,以是就利用了docker-compose的方式
注:由于openui需要跟当地的模子通信,当地模子docker网络通信接纳的是host模式,openui也要接纳此方式,然后做持久化挂载,利用docker-compose up -d启动即可,默认的端口是8080
  1. version: '3'
  2. services:
  3.   open-webui:
  4.     image: ghcr.nju.edu.cn/open-webui/open-webui:main
  5.     container_name: open-webui
  6.     restart: unless-stopped
  7.     network_mode: "host"
  8.     volumes:
  9.       - /data/webui:/app/backend/data
复制代码
启动完成后访问端口,然后注册一个管理员的账号,可以是假造的邮箱,创建后需要等一下,等几分钟,才会有其他的东西出来
然后登岸进去,右上角头像点击设置---管理员设置---外部链接
关掉ollama api的毗连
添加本身的毗连,这个地方如果在同一个台机子就写localhost,端口号在上面的容器中的 
   /usr/local/Ascend/mindie/latest/mindie-service/conf/config.json
  已设定端口号
URL建议写localhost,openweb-ui密钥我试过了随便写,昇腾这个70b不做鉴权,随便写,下面这个模子ID最好是跟config.json对应"modelName" : "llama"

注:关于ServerConfig / ipAddress这个参数,MindIE Server配置有阐明,要不然就写本主机的内网IP地址。可以写0.0.0.0,会报错
Input ipAddress [0.0.0.0] is invalid
ERR: Failed to init endpoint! Please check the service log or console output
   全零侦听会导致三面隔离失效,不满足安全配置要求,故默认禁止绑定IP地址为0.0.0.0。若仍需绑定IP地址为0.0.0.0,那么在保证安全前提下,需要将配置文件中的“allowAllZeroIpListening”设置为true。
  -------------------------------------------------
  EndPoint提供的业务面RESTful接口绑定的IP地址。
  

  • 如果存在环境变量MIES_CONTAINER_IP,则优先取环境变量值作为业务面IP地址。
  • 如果不存在环境变量MIES_CONTAINER_IP,则取该配置值。
  必填,默认值:"127.0.0.1"。
  直接在对话选择模子就可以对话了,但是现在有一个JSON串的问题,等解决了会修改此文章
SyntaxError: Unexpected token 'd', "data: {"id"... is not valid JSON


此模子兼容openai,停止目前写此文章还不兼容ragflow0.17

参考文章
GPU 进阶笔记(二):华为昇腾 910B GPU 干系(2023)
昇腾 910B 物理机搭建DeepSeek指南(单机版)-物理机-最佳实践-物理机搭建DeepSeek指南 - 天翼云
配置参数阐明-MindIE Server-MindIE Service组件-MindIE Service开辟指南-服务化集成部署-MindIE1.0.0开辟文档-昇腾社区
华为昇腾 910B 部署 DeepSeek-R1 蒸馏系列模子详细指南_人工智能_歌刎-松山湖开辟者村综合服务平台

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张国伟

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表