昇腾大模型推理解决方案MindIE部署

MindIE大模型推理套件

MindIE(Mind Inference Engine,昇腾推理引擎)是华为公司针对AI全场景推出的整体解决方案,包含丰富的推理加速套件。通过开放各层次AI能力,支撑客户多样化的AI业务需求,使能百模千态,释放昇腾设备的澎湃算力。向上支持多种主流AI框架,向下服务昇腾AI处理器,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。昇腾推理引擎,基于昇腾硬件的运行加速、调试调优、快速迁移部署的高性能深度学习推理框架,分层开放满足各类需求,统一接口使能极简开发,沉淀能力构筑极致性能。

官方地址:MindIE-昇腾社区 (hiascend.com)

运行硬件环境要求:

推理服务器

Atlas 800I A2推理产品

加速卡

Atlas 300I Duo 推理卡+Atlas 800 推理服务器(型号:3000)

一、准备数据以及启动docker环境

1.1 下拉docker

镜像地址:镜像仓库网

查看最新的mindie的镜像:

参考上面的连接进行docker下拉:

举个例子,拉取docker:

docker pull swr.cn-central-221.ovaijisuan.com/wh-aicc-fae/mindie-ascend_24.1.rc2-cann_8.0.t13-py_3.10-ubuntu_22.04-aarch64:v1.0.t59.03 (其中swr.cn-central-221.ovaijisuan.com/wh-aicc-fae/mindie-ascend_24.1.rc2-cann_8.0.t13-py_3.10-ubuntu_22.04-aarch64:v1.0.t59.03为你选择的docker镜像)

创建容器并启动

docker run -itd --ipc=host --network=host --name mindie \

--privileged \

-p 1025:1025 \

--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 \

-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/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \

-v /var/log/npu/slog/:/var/log/npu/slog \

-v /var/log/npu/profiling/:/var/log/npu/profiling \

-v /var/log/npu/dump/:/var/log/npu/dump \

-v /var/log/npu/:/usr/slog \

-v /home/:/home \

d07bfd46c4fa   #这个是镜像的id

注:其中卡的id可根据自己的环境进行修改。

查看已创建的容器 docker ps

启动容器并进入: 

docker exec -it -u 0 2c5 /bin/bash

备注:不同的版本显示不一样的环境,可根据自己所选的环境查看相关的mindie版本。

二、Qwen1.5 7B推理测试

2.1下载到modelscope社区下载Qwen1.5 7B Chat的模型

ModelScope:魔搭社区

下载模型及相关文件

启动python终端:

Python

依次输入如下命令。

from modelscope import snapshot_download

model_dir = snapshot_download('qwen/Qwen1.5-7B-Chat',cache_dir='/home')

如果modelscope没安装,记得先pip安装,cache_dir表示会把模型文件下载到该路径下。

注:如果模型下载报错,请继续执行download操作。

2.2修改下载的模型配置文件

进入/home/qwen/Qwen1___5-7B-Chat,编辑目录下的config.json 修改成"torch_dtype": "float16"

2.3执行推理性能测试

执行如下命令切换到mindie代码仓目录

cd /usr/local/Ascend/atb-models/tests/modeltest

安装下依赖:pip install –r requirements.txt

执行如下命令进行推理性能测试。具体参数请根据实际修改。

bash run.sh pa_fp16 performance [[512,512]] 16 qwen /home/qwen/Qwen1___5-7B-Chat 2

参数说明:

[[512,512]]:输入输出长度

16:batchsize大小

qwen:模型名称

/home/qwen/Qwen1___5-7B-Chat 2:权重所在目录

2:npu卡数量

测试结果存放在回显提示路径:

/usr/local/Ascend/atb-models/tests /tests/modeltest/result/

注:性能测试或者是精度测试可参考:/usr/local/Ascend/atb-models/readme.md文件或至少/usr/local/Ascend/atb-models/test/readme.md

2.4执行推理测试
  1. 切换到mindie-server所在目录。

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

修改config.json文件中的如下内容。

vim conf/config.json

步骤2、启动mindie-server。

cd bin

./mindieservice_daemon

回显提示如下说明服务启用成功:

注:如果启动报错,可以查看/usr/local/Ascend/mindie/1.*/mindie-service/logs下的log文件。

步骤3、调用接口

使用curl调用接口(示例一):

​
time curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{

    "prompt": "我有五天假期,我想去海南玩,请给我一个攻略",

    "max_tokens": 512,

    "repetition_penalty": 1.03,

    "presence_penalty": 1.2,

    "frequency_penalty": 1.2,

    "temperature": 0.5,

    "top_k": 10,

    "top_p": 0.95,

    "stream": false

}' http://127.0.0.1:1025/generate  #其中127.0.0.1以实际ip地址为准

使用curl调用接口(示例二):

​
time curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{

 "model": "qwen",

 "messages": [{

  "role": "user",

  "content": "我有五天假期,我想去海南玩,请给我一个攻略"

 }],

 "max_tokens": 512,

 "presence_penalty": 1.03,

 "frequency_penalty": 1.0,

 "seed": null,

 "temperature": 0.5,

 "top_p": 0.95,

 "stream": false

}' http://127.0.0.1:1025/v1/chat/completions     #其中127.0.0.1以实际ip地址为准

​

使用curl调用接口(示例三):

​
curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{

 "model": "qwen",

 "messages": [{

     "role": "system",

     "content": "You are a student who is good at math."

},

{

  "role": "user",

  "content": "事业单位职工食堂食材采购资金部分来自职工福利基金补助,适用《政府采购法》吗?"

 }],

 "max_tokens": 512,

 "presence_penalty": 1.03,

 "frequency_penalty": 1.0,

 "seed": null,

 "temperature": 0.5,

 "top_p": 0.95,

 "stream": true

}' http://127.0.0.1:1025/v1/chat/completions #其中127.0.0.1以实际ip地址为准

​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/880952.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kamailio-超强dispatcher负载均衡模块

Kamailio 负载均衡的功能主要依靠 Dispatcher 模块完成,模块官方文档参看 为什么要引入负载均衡?如何使用? 引入和配置功能路由调用命令行指令 为什么要引入负载均衡? Q: 如果单台VOIP服务的性能不能满足业务需求了&#xff0…

解决RabbitMQ设置TTL过期后不进入死信队列

解决RabbitMQ设置TTL过期后不进入死信队列 问题发现问题解决方法一:只监听死信队列,在死信队列里面处理业务逻辑方法二:改为自动确认模式 问题发现 最近再学习RabbitMQ过程中,看到关于死信队列内容: 来自队列的消息可…

秋招八股总结

transformer 损失函数 交叉熵的原理 公式 xi是true_label,yi是神经网络预测为正确的概率 对比学习loss 对比学习损失函数 InfoNEC Loss(bge中也用的这个) SimCSE的主要思想:同一句话通过不同的drop out作为正例&#xff0…

【计网】数据链路层:概述之位置|地位|链路|数据链路|帧

✨ Blog’s 主页: 白乐天_ξ( ✿>◡❛) 🌈 个人Motto:他强任他强,清风拂山岗! 💫 欢迎来到我的学习笔记! ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 1. 在OSI体系结构中的位置 1. 位置:数…

Parallels Desktop 20(Mac虚拟机) v20.0.0 for Mac 最新破解版(支持M系列)

Parallels Desktop 20 for Mac 正式发布,完全支持 macOS Sequoia 和 Windows 11 24H2,并且在企业版中引入了全新的管理门户。 据介绍,新版本针对 Windows、macOS 和 Linux 虚拟机进行了大量更新,最大的亮点是全新推出的 Parallels…

稳联Profinet转Canopen网关携手伺服,高效提升生产效率

在当今的工业生产领域,追求高效、精准和可靠的生产方式是企业不断努力的方向。稳联技术Profinet转Canopen(WL-ABC3033)网关与伺服系统的携手合作,为提高生产效率带来了新的机遇和突破。 实现无缝通信,优化生产流程稳联…

B站前端错误监控实践

前言 从23年开始,我们团队开始前端错误监控方向的开发。经历了一些列的迭代和发展,从监控SDK、上报、数据治理、看板集成、APM自研可视化初步完成了一条完整且适合B站前端监控。 截止目前(2024.08.01),前端监控在B站85%以上的业务线&#xf…

在基准测试和规划测试中选Flat还是Ramp-up?

Flat测试和Ramp-up测试是各有优势的,下面我们就通过介绍几种实用的性能测试策略来分析这两种加压策略的着重方向。 基准测试 基准测试是一种测量和评估软件性能指标的活动,通过基准测试建立一个已知的性能水平(称为基准线)&…

服务发现和代理实例的自动更新

☞ 返回总目录 1.服务发现的两种方式 StartFindService 方法 这是一个在后台启动的连续 “FindService” 活动,当服务实例的可用性发生变化时,会通过回调通知调用者。 它返回一个FindServiceHandle,可通过调用StopFindService来停止正在进行…

初学者蒙语学习,使用什么翻译软件学习更快?

为了加快蒙古语的学习,初学者应该从基础语法和词汇入手,利用语言学习应用进行系统学习,并通过音频和视频材料提高听力。语言交换和参加课程可以提供实践机会,而使用闪卡和文化沉浸有助于记忆词汇和理解语言背景。定期复习和设定学…

常用的k8s容器网络模式有哪些?

常用的k8s容器网络模式包括Bridge模式、Host模式、Overlay模式、Flannel模式、CNI(ContainerNetworkInterface)模式。K8s的容器网络模式多种多样,每种模式都有其特点和适用场景。Bridge模式适用于简单的容器通信场景;Host模式适用…

微服务保护之熔断降级

在微服务架构中,服务之间的调用是通过网络进行的,网络的不确定性和依赖服务的不可控性,可能导致某个服务出现异常或性能问题,进而引发整个系统的故障,这被称为 微服务雪崩。为了防止这种情况发生,常用的一些…

Debian项目实战——环境搭建篇

Debian系统安装 准备工作 1、系统镜像:根据自己的需要选择合适的版本格式:x86 / arm 架构 | 最好下载离线安装版本 | 清华镜像源 2、制作工具:balenaEtcher 3、系统媒介:16G以上U盘最佳 烧录镜像 打开balenaEtcher进行烧录&am…

克隆GitHub仓库中的一个文件夹

要只克隆GitHub仓库中的一个文件夹&#xff0c;你可以使用 git sparse-checkout 功能。以下是具体步骤&#xff1a; 克隆仓库&#xff08;使用 --no-checkout 选项&#xff0c;避免下载所有内容&#xff09;&#xff1a; git clone --no-checkout <仓库地址> 进入克隆的…

Active Directory 实验室设置第一部分- AD林安装

在之前的文章中&#xff0c;已经讨论了活动目录的基本知识。在这篇文章中&#xff0c;我们将讨论如何设置和配置环境&#xff0c;以便我们可以使用它来执行各种攻击方案和检测。我们将讨论如何通过GUI和CLI方式完成。 # 1、Active Directory 设置 让我们从活动目录实验室设置…

foc原理odrive驱动板的使用,以及功能介绍

文章目录 驱动板引脚&#xff1a;编码器的安装&#xff1a;电机参数编码器设置 odrive控制控制指令设置模式设置输入模式其他指令 调PID调试准则先调整内环&#xff0c;再调整外环在位置模式下调试结论 使用的灯哥开源的odrive驱动板&#xff0c;外接编码器 驱动板引脚&#xf…

泳池软管检测系统源码分享

泳池软管检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

【数学分析笔记】第3章第2节 连续函数(4)

3. 函数极限与连续函数 3.2 连续函数 3.2.9 反函数的连续性定理 【定理3.2.2】【反函数连续性定理】设 y f ( x ) yf(x) yf(x)在闭区间 [ a , b ] [a,b] [a,b]上连续且严格单调增加&#xff0c;设 f ( a ) α , f ( b ) β f(a)\alpha,f(b)\beta f(a)α,f(b)β&#xff0…

web基础之RCE

简介&#xff1a;RCE称为远程代码执行漏洞&#xff1b;是互联网的一种安全漏洞&#xff1b;攻击者可以直接向后台服务器远程注入操作系统命令&#xff1b;从而操控后台系统&#xff1b;也是CTF比较常考的一个方面 1、eval执行 &#xff08;1&#xff09;分析后端代码&#xf…

[数据集][目标检测]无人机识别检测数据集VOC+YOLO格式6986张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6986 标注数量(xml文件个数)&#xff1a;6986 标注数量(txt文件个数)&#xff1a;6986 标注…