昇腾环境下利用docker部署mindie-service

[复制链接]
发表于 2024-9-9 17:50:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
MindIE是基于昇腾硬件的运行加速、调试调优、快速迁移部署的高性能深度学习推理框架。它包含了MindIE-Service、MindIE-Torch和MindIE-RT等组件。我告急用MindIE-Service的功能,这个组件对标的是vllm这样的大语言推理框架。
启动docker容器

先拉取镜像(要去官网获取最新镜像版本)
  1. docker pull swr.cn-central-221.ovaijisuan.com/dxy/mindie:1.0.RC1-800I-A2-aarch64
复制代码
然后启动容器,我这里将前2张NPU加速卡映射到docker内:
  1. docker run --name my_mindie -it -d --net=host --shm-size=500g \
  2.        --device=/dev/davinci0 \
  3.        --device=/dev/davinci1 \
  4.        -w /home \
  5.        --device=/dev/davinci_manager \
  6.        --device=/dev/hisi_hdc \
  7.        --device=/dev/devmm_svm \
  8.        --entrypoint=bash \
  9.        -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
  10.        -v /usr/local/dcmi:/usr/local/dcmi \
  11.        -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
  12.        -v /usr/local/sbin:/usr/local/sbin \
  13.        -v /root/xxx/mindformer_share/:/home/xxx_share \
  14.        -v /tmp:/tmp \
  15.        -v /etc/hccn.conf:/etc/hccn.conf \
  16.        -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
  17.        -e http_proxy=$http_proxy \
  18.        -e https_proxy=$https_proxy \
  19.        swr.cn-central-221.ovaijisuan.com/dxy/mindie:1.0.RC1-800I-A2-aarch64
复制代码
上面-v /root/xxx/mindformer_share/:/home/xxx_share是在映射我的磁盘进容器,需要根据自己的环境做修改。
进入容器:
  1. docker exec -it my_mindie  bash
复制代码
进入之后执行环境设置:
  1. source /usr/local/Ascend/ascend-toolkit/set_env.sh
  2. source /usr/local/Ascend/mindie/set_env.sh
复制代码
修改服务配置

上述操作做完,就可以修改mindie-service的配置文件了,这个文件位于/usr/local/Ascend/mindie/latest/mindie-service/conf/config.json。
  1. "ipAddress" : "0.0.0.0",
  2. "port" : 1025,
  3. "ModelDeployParam":
  4.     {
  5.         "maxSeqLen" : 4096,
  6.         "npuDeviceIds" : [[0,1]],
  7.         "ModelParam" : [
  8.             {
  9.                 "modelName" : "baichuan2",
  10.                 "modelWeightPath" : "/home/xxxx/baichuan-inc/Baichuan2-13B-Chat/",
  11.                 "worldSize" : 2,
  12.                 "cpuMemSize" : 5,
  13.                 "npuMemSize" : 10,
  14.                 "backendType": "atb"
  15.             }
  16.         ]
  17.     },
复制代码
我这里摆列下我关注的字段。


  • ipAddress和port是监听网络和地址
  • modelName是tritton-url哀求里要用的字段,需要记下来
  • npuDeviceIds指定用哪几张卡
  • worldSize是利用npu的数量,必须与npuDeviceIds中的卡数一致
  • modelWeightPath模型路径
  • maxSeqLen最大长度
启动服务

  1. cd /usr/local/Ascend/mindie/latest/mindie-service/
  2. bin/mindieservice_daemon
复制代码
怎样利用服务

可以用postman或者python接口调用http服务。
  1. POST  http://223.106.234.6:2250/generate
  2. {
  3. "prompt": "你是谁?\n",
  4. "max_tokens": 1024,
  5. "repetition_penalty": 1.03,
  6. "presence_penalty": 1.2,
  7. "frequency_penalty": 1.2,
  8. "temperature": 0.5,
  9. "top_k": 10,
  10. "top_p": 0.95,
  11. "stream": false
  12. }
复制代码
mindie支持openai\triton\vllm等接口。详细可参考文档 这里
参考资料

MindIE是什么
昇腾docker镜像堆栈
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表