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

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

启动docker容器

先拉取镜像(要去官网获取最新镜像版本)

docker pull swr.cn-central-221.ovaijisuan.com/dxy/mindie:1.0.RC1-800I-A2-aarch64

然后启动容器,我这里将前2张NPU加速卡映射到docker内:

docker run --name my_mindie -it -d --net=host --shm-size=500g \
       --device=/dev/davinci0 \
       --device=/dev/davinci1 \
       -w /home \
       --device=/dev/davinci_manager \
       --device=/dev/hisi_hdc \
       --device=/dev/devmm_svm \
       --entrypoint=bash \
       -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
       -v /usr/local/dcmi:/usr/local/dcmi \
       -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
       -v /usr/local/sbin:/usr/local/sbin \
       -v /root/xxx/mindformer_share/:/home/xxx_share \
       -v /tmp:/tmp \
       -v /etc/hccn.conf:/etc/hccn.conf \
       -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
       -e http_proxy=$http_proxy \
       -e https_proxy=$https_proxy \
       swr.cn-central-221.ovaijisuan.com/dxy/mindie:1.0.RC1-800I-A2-aarch64

上面-v /root/xxx/mindformer_share/:/home/xxx_share是在映射我的磁盘进容器,需要根据自己的环境做修改。

进入容器:

docker exec -it my_mindie  bash

进入之后执行环境设置:

source /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/Ascend/mindie/set_env.sh

修改服务配置

上述操作做完,就可以修改mindie-service的配置文件了,这个文件位于/usr/local/Ascend/mindie/latest/mindie-service/conf/config.json。

"ipAddress" : "0.0.0.0",
"port" : 1025,

"ModelDeployParam":
    {
        "maxSeqLen" : 4096,
        "npuDeviceIds" : [[0,1]],
        "ModelParam" : [
            {
                "modelName" : "baichuan2",
                "modelWeightPath" : "/home/xxxx/baichuan-inc/Baichuan2-13B-Chat/",
                "worldSize" : 2,
                "cpuMemSize" : 5,
                "npuMemSize" : 10,
                "backendType": "atb"
            }
        ]
    },

我这里罗列下我关注的字段。

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

启动服务

cd /usr/local/Ascend/mindie/latest/mindie-service/
bin/mindieservice_daemon

如何使用服务

可以用postman或者python接口调用http服务。

POST  http://223.106.234.6:2250/generate

{
 "prompt": "你是谁?\n",
 "max_tokens": 1024,
 "repetition_penalty": 1.03,
 "presence_penalty": 1.2,
 "frequency_penalty": 1.2,
 "temperature": 0.5,
 "top_k": 10,
 "top_p": 0.95,
 "stream": false
}

mindie支持openai\triton\vllm等接口。具体可参考文档 这里

参考资料

MindIE是什么

昇腾docker镜像仓库

### 关于 openEuler 24.03 LTS 和 mindIE 软件包的相关信息 #### 软件包概述 `mindie:1.0.0-300I-Duo-py311-openeuler24.03-lts` 是基于 openEuler 24.03 LTS 的容器镜像,专为昇腾 AI 处理器设计。该镜像集成了 Python 3.11 环境以及特定的硬件加速库和支持工具[^3]。 此版本中的 `Duo` 表示支持双核昇腾处理器架构,而 `-py311` 则明确了其运行环境Python 3.11 版本。以下是关于该软件包及其依赖项的具体说明: --- #### 主要组件与依赖关系 1. **Python 环境** 容器内置了 Python 3.11 解释器,并预装了一些常用的科学计算和机器学习框架,例如 NumPy、Pandas 和 TensorFlow Ascend 插件[^4]。 2. **昇腾驱动程序** - 升腾设备的核心驱动被配置为 `/dev/davinci*`,其中具体核心数量由实际使用的硬件决定 (如 davinci0 至 davinci7)。 - 设备映射通过 Docker 命令实现,例如 `--device=/dev/davinci0:/dev/davinci0`。 3. **模型路径映射** 使用 `-v /data/llm/deepseek/:/home/HwHiAiUser` 参数将主机上的数据目录挂载至容器内部,便于加载训练好的大语言模型或其他深度学习资源。 4. **网络端口映射** 默认情况下,容器会暴露并绑定本地端口 1025 (`-p 1025:1025`),以便外部客户端能够访问 DeepSeek 或其他服务接口。 5. **额外依赖** - C++ 编译工具链:GCC 及相关开发头文件可能已被预先安装。 - CUDA 工具包(如果适用):尽管昇腾系列主要采用自研算子优化技术,但在某些混合场景下仍需兼容 NVIDIA GPU 平台的功能扩展。 6. **启动脚本与初始化命令** 用户可以通过执行如下指令进入交互模式: ```bash docker exec -it ds_service /bin/bash ``` 此外,在首次部署时建议检查默认配置文件是否存在错误设置,尤其是涉及多节点通信的部分。 --- #### 示例代码片段 下面展示了一个典型的容器创建流程,适用于上述提到的镜像版本: ```dockerfile FROM swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:1.0.0-300I-Duo-py311-openeuler24.03-lts RUN mkdir -p /home/HwHiAiUser/models && \ chmod 755 /home/HwHiAiUser/ CMD ["sh", "-c", "echo 'Container started successfully!'"] ``` 随后可以利用以下命令完成实例化操作: ```bash docker run --name=ds_service \ --privileged=true \ --network host \ --device=/dev/davinci0:/dev/davinci0 \ -v /data/llm/deepseek/:/home/HwHiAiUser \ -d -p 1025:1025 \ swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:1.0.0-300I-Duo-py311-openeuler24.03-lts ``` --- #### 注意事项 对于生产环境中大规模应用而言,请务必确认目标服务器已正确安装对应型号的昇腾驱动程序;同时考虑到性能调优需求,还应调整线程优先级及相关超参设定以充分发挥硬件潜力。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值