基于昇腾910B服务器部署DeepSeek-R1-Distill-Qwen-32B模型
基于昇腾服务器部署DeepSeek-R1-Distill-Qwen-32B模型
大模型基础环境搭建
基于昇腾910B大模型国产化适配主要适配改造DeepSeek-R1-Distill-Qwen-32B参数规模的蒸馏版大模型,可以使用openai接口进行请求,关于大模型与昇腾910B芯片的介绍如下所示:
大模型:大模型是指具有大规模参数和复杂计算结构的机器学习模型。这些模型通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数。
昇腾910B:为昇腾910B是一款集成了数千个处理核心,支持深度学习、推理推断等多种人工智能计算任务、支持BF16、FP16、INT8等多种精度、基于华为自主研发的达芬奇架构,融合了大规模片上异构处理核心,以及高速互连技术,能够实现不同处理核心之间的高效通信和协同计算的高性能的人工智能处理器芯片。
基础环境准备
基于昇腾910B服务器构建大模型适配运行基础环境,步骤如下所示,基本软件类型及软件包名称如下表1所示,昇腾软件的介绍如表2所示。
(1)安装驱动、固件。首次安装按照驱动->固件的顺序;覆盖安装或升级按照固件->驱动的顺序,分别安装软件包。安装OS依赖。
1)安装Toolkit开发套件;
2)部署Docker,在制作容器镜像和部署容器前,需在宿主机部署Docker;
3)部署AI应用。
表1基本软件类型及软件包
软件类型 |
软件包名称 |
驱动 |
软件包Ascend-hdk-xxx-npudriver_24.1.rc1_linux-aarch64.run |
固件 |
软件包Ascend-hdk-xxx-npuffrmware_7.1.0.6.220.run |
Toolkit(开发套件包) |
软件包Ascend-canntoolkit_8.0.RC1_linux-aarch64.run |
Kernels(二进制算子包) |
软件包Ascend-cann-kernelsxxx_8.0.RC1_linux.run |
表2昇腾软件介绍
软件类型 |
软件介绍 |
昇腾NPU固件 |
固件包含昇腾AI处理器自带的OS 、电源器件和功耗管理器件控制 软件,分别用于后续加载到AI处理器的模型计算、芯片启动控制和 功耗控制。 |
昇腾NPU驱动 |
部署在昇腾服务器,用于管理查询昇腾AI处理器,同时为上层 CANN软件提供芯片控制、资源分配等接口。 |
CANN |
部署在昇腾服务器,包含Runtime、算子库、图引擎、媒体数据处 理等组件,通过AscendCL(Ascend Computing Language,昇腾 计算语言)对外提供Device管理、Context管理、Stream管理、内 存管理、模型加载与执行、算子加载与执行、媒体数据处理等 API,帮助开发者实现在昇腾软硬件平台上开发和运行AI业务。 CANN软件按照功能主要分为Toolkit(开发套件)、Kernels(二进 制算子包)、NNAE(深度学习引擎)、NNRT(离线推理引 擎)、TFPlugin(TensorFlow框架插件)几种软件包,各软件包支 持功能范围如下: Toolkit:支持训练和推理业务、模型转换、算子/应用/模型开发 和编译。 Kernels:依赖于Toolkit或NNAE,节省算子编译时间。在包含 动态shape网络或单算子API(例如aclnn类API)场景下需安装 二进制算子包。 NNAE:支持训练和推理业务。 NNRT:仅支持离线推理。 TFPlugin:用于运行训练业务时和TensorFlow框架进行对接, 帮助TensorFlow框架调用底层CANN接口运行训练业务。 |
Ascend Docker |
Ascend Docker(容器引擎插件)本质上是基于OCI标准(开放容 器倡议标准)实现的Docker Runtime(容器运行环境),不修改 Docker引擎,对Docker以插件方式提供Ascend NPU适配功能,使 用户AI作业能够以Docker容器的方式平滑运行在昇腾设备上。 |
NPU驱动固件安装
首次安装场景:硬件设备刚出厂时未安装驱动,或者硬件设备前期安装过驱动固件但是当前已卸载,上述场景属于首次安装场景,需按照驱动>固件的顺序安装驱动固件。覆盖安装场景:硬件设备前期安装过驱动固件且未卸载,当前要再次安装驱动固件,此场景属于覆盖安装场景,需按照固件>驱动的顺序安装固件驱动,具体安装步骤如下所示:
(1)上传软件安装包到服务器任意路径,如/opt/package;
(2)给安装包添加权限,示例如下;
chmod+x Ascend-hdk-xxx-npu-driver_24.1.rc1_linux-aarch64.run
chmod+x Ascend-hdk-xxx-npu-firmware_7.1.0.6.220.run
(3)执行以下命令,完成驱动固件安装,软件包默认安装路径为/usr/local/Ascend:
1)安装驱动命令:
./Ascend-hdk-xxx-npu-driver_24.1.rc1_linux-aarch64.run --full --install-for-all
若系统出现如下关键回显信息,则表示驱动安装成功。 Driver package installed successfully!
2)安装固件命令:
./Ascend-hdk-xxx-npu-firmware_7.1.0.6.220.run –full
若系统出现如下关键回显信息,表示固件安装成功。 Firmware package installed successfully! Reboot now or after driver installation for the installation/ upgrade to take effect
(4)执行reboot命令重启系统。
(5)执行npu-smi info 查看驱动加载是否成功。
大模型模型文件下载
DeepSeek-R1-Distill-Qwen-32B大模型文件下载,具体步骤如下:
(1)登录魔搭社区模型库网址如下:https://modelscope.cn/models;
(2)搜索DeepSeek-R1-Distill-Qwen-32B;
(3)选在DeepSeek-R1-Distill-Qwen-32B,并进行模型文件下载;
(4)使用命令行方式进行下载,下载命令如下:
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
基于昇腾910B的适配改造
基于昇腾MindIE推理镜像进行大模型适配推理,使用MindIE Service组件开启服务,对外提供兼容openai接口。
MindIE推理框架介绍
MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对AI全场景业务的推理加速套件。通过分层开放AI能力,支撑用户多样化的AI业务需求,使能百模千态,释放昇腾硬件设备算力。向上支持多种主流AI框架,向下对接不同类型昇腾AI处理器,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。
总体架构
MindIE提供了基于多种AI场景下的推理解决方案,具有强大的性能、健全的生态,帮助用户快速开展业务迁移、业务定制。各组件介绍如表3所示。
表3组件介绍表
名称 |
说明 |
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镜像;
(3)申请权限,并下载mindie镜像。
单机多卡部署
单机多卡部署DeepSeek-R1-Distill-Qwen-32B参数规模大模型。
(1)修改MindIE服务配置文件,修改ipAddress对外服务IP地址,port对外服务端口号npuDeviceIds、modelName、modelWeightPath、worldSize,
(2)在后台挂起服务,命令如下所示:
nohup ./mindservice_daemon &
注:模型文件需设置权限550或750;没有安装凭证时httpsEnabled需设置为false;基于openai接口请求时,model_name需与MindIE配置文件设置的modelName保持一致;若需调用评估接口需在镜像中设置变量MIES_SERVICE_MONITOR_MODE=1。
更多推荐
所有评论(0)