大模型模型文件下载
Qwen2.5-7B大模型文件下载,具体步骤如下:
(1)登录魔搭社区模型库网址如下:https://modelscope.cn/models;
(2)搜索Qwen2.5-7B;
(3)选择通义千问2.5-7B-Instruc,并进行模型文件下载,下载页面如下图所示;
(4)使用命令行方式进行下载,下载命令如下:
modelscope download --model Qwen/Qwen2.5-7B-Instruct
基于昇腾300I Duo推理卡适配大模型
本次基于昇腾MindIE推理框架昇腾300I Duo推理卡适配大模型进行推理,使用MindIE Service组件开启服务,对外提供兼容openai接口,可以提供openai接口请求响应服务。
MindIE推理框架介绍
MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对AI全场景业务的推理加速套件。通过分层开放AI能力,支撑用户多样化的AI业务需求,使能百模千态,释放昇腾硬件设备算力。向上支持多种主流AI框架,向下对接不同类型昇腾AI处理器,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。
MindIE组件介绍
MindIE提供了基于多种AI场景下的推理解决方案,具有强大的性能、健全的生态,帮助用户快速开展业务迁移、业务定制。MindIE主要分为以下四部分,各组件介绍如下表所示:
组件介绍表
名称 |
说明 |
MindIE Service |
MindIE Service针对通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。MindIE Service包含MindIE MS、MindIE Server、MindIE Client和MindIE Benchmark四个子组件。 MindIE MS:提供服务策略管理、运维能力; MindIE Server:作为推理服务端,提供模型服务化能力; MindIE Client:提供服务客户端标准API,简化用户服务调用; MindIE Benchmark:提供测试大语言模型在不同配置参数下推理性能和精度的能力。 MindIE Service向下调用了MindIE LLM组件能力。 |
MindIE LLM |
MindIE LLM为针对大模型优化推理的高性能SDK,包含深度优化的模型库、大模型推理优化器和运行环境,提升大模型推理易用性和性能。MindIE LLM调用了MindIE RT组件能力。 |
MindIE Torch |
MindIE Torch是针对PyTorch框架模型,开发的推理加速插件。PyTorch框架上训练的模型利用MindIE Torch提供的简易C++/Python接口,少量代码即可完成模型迁移,实现高性能推理。MindIE Torch向下调用了MindIE RT组件能力。 |
MindIE RT |
MindIE RT是面向昇腾AI处理器的推理加速引擎,提供模型推理迁移相关开发接口及工具,能够将不同的深度学习框架(PyTorch、ONNX等)上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。 |
MindIE推理镜像下载
(1)MindIE镜像昇腾镜像仓库网址:https://www.hiascend.com/developer/ascendhub/;
(2)根据镜像概述,选择合适的系统架构及版本MindIE镜像,镜像如下图所示:
注:基于300I Duo推理卡进行大模型适配需选择对应的xxx-300I-Duo-py311-openeuler24.03-lts,300I-Duo镜像。
(3)申请权限,并下载MindIE镜像。
单卡部署
单卡部署Qwen/Qwen2.5-7B-Instruct模型。
单卡服务
(1)启动容器,示例命令如下所示:
docker run -itd --net=host --shm-size=1g \ --device=/dev/davinci<card no> \ --name <container-name> \ --device=/dev/davinci_manager \ --device=/dev/hisi_hdc \ --device=/dev/devmm_svm \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /usr/local/sbin:/usr/local/sbin \ -v /path-to-weights:/models \ mindie:xxx-300I-Duo-py311-openeuler24.03-lts bash
(2)修改配置文件,修改ipAddress对外服务IP地址,port对外服务端口号,npuDeviceIds、modelName、modelWeightPath、worldSize;
(3)在后台挂起服务,命令如下所示:
nohup ./mindservice_daemon &
注意事项
(1)模型文件权重权限修改为550或者750;
(2)模型权重文件中的config.json中torch_dtype类型由 bfloat16修改为float16;
(3)选用2.0.RC2-300I-Duo-py311-openeuler24.03-lts镜像进行Qwen/Qwen2.5-7B-Instruct大模型适配,共享内存设置大于等于1g;
(4)worldSize需与npuDeviceIds相对应,比如npuDeviceIds为[[0,1]],则worldSize为2;
(5)部署部署后,请求的modelName需与配置的modelName模型名称保持一致。