简介
场景介绍
本文旨在指导客户将已有的推理业务迁移到昇腾设备上运行(单机单卡、单机多卡),并获得更好的推理性能收益。
ModelArts针对上述使用场景,在给出系统化推理业务昇腾迁移方案的基础上,提供了即开即用的云上集成开发环境,包含迁移所需要的算力资源和工具链,以及具体的Notebook代码运行示例和最佳实践,并对于实际的操作原理和迁移流程进行说明,包含迁移后的精度和性能验证、调试方法说明。
核心概念
- 推理业务昇腾迁移整体流程及工具链
图1 推理业务昇腾迁移整体路径
推理业务昇腾迁移整体分为七个大的步骤,并以完整工具链覆盖全链路:
- 迁移评估:针对迁移可行性、工作量,以及可能的性能收益进行大致的预估。
- 环境准备:利用ModelArts提供的开发环境一键式准备好迁移、调测需要的运行环境与工具链。
- 模型适配:针对昇腾迁移模型必要的转换和改造。
- 模型准备,导出和保存确定格式的模型。
- 转换参数准备,准备模型业务相关的关键参数。
- 模型转换,包含模型转换、优化和量化等。
- 应用集成。
- 针对转换的模型运行时应用层适配。
- 数据预处理。
- 模型编排。
- 模型裁剪。
- 精度校验。
- 精度对比误差统计工具。
- 自动化精度对比工具。
- 网络结构可视化工具。
- 性能调优。
- 性能测试。
- 性能调优三板斧。
- 性能分析与诊断。
- 迁移测试报告。
- 推理迁移验收表。
- ModelArts开发环境
ModelArts作为华为云上的AI开发平台,提供交互式云上开发环境,包含标准化昇腾算力资源和完整的迁移工具链,帮助用户完成昇腾迁移的调测过程,进一步可在平台上将迁移的模型一键部署成为在线服务向外提供推理服务,或者运行到自己的运行环境中。
- MindSpore Lite
华为自研的AI推理引擎,后端对于昇腾有充分的适配,模型转换后可以在昇腾上获得更好的性能,配合丰富的适配工具链,降低迁移成本,该工具在推理迁移工作的预置镜像已安装,可在镜像中直接使用(见环境准备)。关于MindSpore Lite详细介绍可参考MindSpore Lite文档。在使用MindSpore Lite过程中遇到问题时,可参考MindSpore Lite官网提供的问题定位指南进行问题定位。
迁移路线介绍
当前推理迁移时,不同的模型类型可能会采取不同的迁移技术路线。主要分为以下几类:
1. CV类小模型例如yolov5,以及部分AIGC场景的模型迁移,目前推荐使用MindSpore-Lite推理路线,可以利用MindSpore提供的图编译和自动调优能力,达到更好的模型性能。
2. LLM大语言模型场景,在GPU下通常会使用vLLM等大模型推理框架,因此迁移到昇腾时,推荐使用PyTorch + ascend-vllm技术路线进行迁移。
如果您使用的模型在上述案例文档中已包含,建议您直接使用案例中迁移好的模型,如果您的模型不在已提供的范围内,或者您因业务要求需要自行完成端到端的迁移,可以参考本迁移指导书介绍的步骤进行操作。
本文的迁移指导及快速入门案例均针对路线1也即MindSpore-Lite迁移路线进行介绍。使用ascend-vllm路线的迁移指导会在后续提供,您可以从上面的案例中下载相关代码并直接参考实现源码。