检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
迁移评估 推理迁移包括模型迁移、业务迁移、精度性能调优等环节,是否能满足最终的迁移效果需要进行系统的评估。如果您仅需要了解迁移过程,可以先按照本文档的指导进行操作并熟悉迁移流程。如果您有实际的项目需要迁移,建议填写下方的推理业务迁移评估表,并将该调研表提供给华为云技术支持人员进行迁移评估,以确保迁移项目能顺利实施。
接使用案例中迁移好的模型,如果您的模型不在已提供的范围内,或者您因业务要求需要自行完成端到端的迁移,可以参考本迁移指导书介绍的步骤进行操作。 本文的迁移指导及快速入门案例均针对路线1也即MindSpore-Lite迁移路线进行介绍。使用ascend-vllm路线的迁移指导会在后续
业务中是否有大量使用CPU的代码,以及日常运行过程中CPU的占用率(占用多少个核心),以及使用CPU计算的业务功能说明和并发机制。 - 是否有Linux内核驱动 是否有业务相关的Linux内核驱动代码。 - 依赖第三方组件列表 当前业务依赖的第三方软件列表(自行编译的第三方软件列表)。 例如:Faiss等。
昇腾迁移快速入门案例 ModelArts提供了两个昇腾迁移案例,方便您快速了解并完成昇腾迁移过程。 约束限制 当前仅贵阳一区域支持选择本案例中的规格及镜像。 操作步骤 登录ModelArts管理控制台,在左侧导航栏中选择“开发空间 > Notebook”,进入“Notebook”管理页面。
化,以提升模型的运行效率。 自动高性能算子生成工具AKG AKG(Auto Kernel Generator)对深度神经网络中的算子进行优化,并提供特定模式下的算子自动融合功能。提升在昇腾硬件后端上运行网络的性能。 AKG由三个基本的优化模块组成:规范化、自动调度和后端优化。 规范化:
WebUI一般可以分为前端和后端实现两部分,后端的实现模式种类多样,并且依赖了多个的第三方库,当前在WebUI适配时,并没有特别好的方式。在对后端实现比较理解的情况下,建议针对具体的功能进行Diffusers模块的适配与替换,然后针对替换上去的Diffusers,对其pipeline进行昇腾迁移适配,进而替代原
pipeline代码为例进行说明。 进入容器环境,创建自己的工作目录。 由于在Snt9B裸金属服务器环境配置指南的配置环境步骤中,在启动容器时将物理机的home目录挂载到容器的“/home_host”目录下,该目录可以直接使用上传到物理机“home”目录下的文件。本文中,将基于容器的“/home_host”目录创建工作目录。
whl”文件无法安装,需要您按照如下步骤排查: 当出现“xxx.whl”文件无法安装,在启动文件中添加如下代码,查看当前pip命令支持的文件名和版本。 import pip print(pip.pep425tags.get_supported()) 获取到支持的文件名和版本如下: [('cp36'
动态分档模型转换(可选) 如果迁移的模型有多个shape档位的需求,可以通过如下方式对模型进行分档转换。 动态分档是指将模型输入的某一维或者某几维设置为“动态”可变,但是需要提前设置可变维度的“档位”范围。即转换得到的模型能够在指定的动态轴上使用预设的几种shape(保证模型支持的shape),
环境准备 迁移环境简介 ModelArts开发环境针对推理昇腾迁移的场景提供了云上可以直接访问的开发环境,具有如下优点: 利用云服务的资源使用便利性,可以直接使用到不同规格的昇腾设备。 通过指定对应的运行镜像,可以直接使用预置的、在迁移过程中所需的工具集,且已经适配到最新的版本可以直接使用。
通常为了获取更好的推理性能,推荐使用方式2的离线推理。下文将以Diffusers img2img onnx pipeline为示例来讲解如何进行离线推理模式下的昇腾迁移。迁移的整体流程如下图所示: 图1 迁移流程图 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
应用迁移 模型适配 pipeline代码适配 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
迁移效果校验 在pipeline适配完成后,需要验证适配后的效果是否满足要求,通过对比原始onnx pipeline的最终输出结果确认迁移效果。如果精度和性能都没有问题,则代表迁移完成。 对比图片生成效果 在CPU上推理onnx,将原始onnx和适配完成的MindSpore Lite
置指南。 本文基于方式二的环境进行操作,请参考方式二中的环境开通和配置指导完成裸机和容器开发初始化配置。注意业务基础镜像选择Ascend+PyTorch镜像。 配置好的容器环境如下图所示: 图1 环境配置完成 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
转换关键参数准备 对应的模型转换成MindIR格式,通过后端绑定的编译形式来运行以达到更好的性能(类似静态图的运行模式),所以需要提前准备以下几个重点参数。 输入的inputShape,包含batch信息。 MSLite涉及到编译优化的过程,不支持完全动态的权重模式,需要在转换时确定对应的inp
pipeline的主要作用是将onnx模型进行一系列编排,并在onnx Runtime上按照编排顺序执行。因此,需要将转换得到的mindir模型按照相同的逻辑进行编排,并在MindSpore Lite上执行。只需要将原始onnx的pipeline中涉及到onnx模型初始化及推理的接口替换为MindSpore
并提供特定模式下的算子自动融合功能,可提升在昇腾硬件后端上运行模型的性能。 AKG的配置也是在模型转换阶段进行配置(即执行converter_lite命令时),通过指定对应的配置文件akg.cfg,设置对应的akg优化级别,并且在模型转换时参考样例进行对应的配置。 # akg.cfg
精度问题处理 设置高精度并重新转换模型 在转换模型时,默认采用的精度模式是fp16,如果转换得到的模型和标杆数据的精度差异比较大,可以使用fp32精度模式提升模型的精度(精度模式并不总是需要使用fp32,因为相对于fp16,fp32的性能较差。因此,通常只在检测到某个模型精度存在问题时,
云上迁移适配故障 无法导入模块 训练作业日志中提示“No module named .*” 如何安装第三方包,安装报错的处理方法 下载代码目录失败 训练作业日志中提示“No such file or directory” 训练过程中无法找到so文件 ModelArts训练作业无法解析参数,日志报错
enabled” 原因分析 出现该问题的可能原因如下: 新安装的包与镜像中带的CUDA版本不匹配。 处理方法 必现的问题,使用本地Pycharm远程连接Notebook调试安装。 先远程登录到所选的镜像,使用“nvcc -V”查看目前镜像自带的CUDA版本。 重装torch等,需要注意选择与上一步版本相匹配的版本。