MindSpore Lite推理概述

查看源文件

特性背景

MindSpore Lite是专注于离线模型的高效推理部署方案和端上设备的高性能推理的轻量化推理引擎。面向不同硬件设备提供轻量化AI推理加速能力,使能智能应用,为开发者提供端到端的解决方案,为算法工程师和数据科学家提供开发友好、运行高效、部署灵活的体验。MindSpore Lite支持将MindSpore、ONNX、TF等多种AI框架序列化出的模型转换成MindSpore Lite格式的IR。

为了更高效地实现模型推理,MindSpore Lite针对不同硬件后端,支持将MindSpore训练的模型以及第三方模型转换成.mindir格式或.ms格式,其中:

  • MindSpore Lite云侧推理导出.mindir模型。可兼容MindSpore训练框架导出的模型及ONNX、TFLite、Pb等开源格式模型,适配Atlas 300I Duo、Atlas 800IA3等昇腾系列加速卡及X86/ARM架构CPU。针对不同算法场景完成专项优化,当前特性与优化集中落地于多模态生成、语音识别、语音合成、自动驾驶、向量模型与传统计算机视觉领域。

  • MindSpore Lite端侧推理导出.ms模型。支持通用CPU与Kirin NPU,作为Harmony OS内置轻量化AI引擎随系统发布,服务鸿蒙全场景智能应用;同时提供Android/iOS平台开发支持,面向开发者输出端到端方案,为算法工程师与数据科学家营造开发友好、运行高效、部署灵活的体验,已批量应用于图像分类及目标、人脸、文字、语音识别等场景。

推理方案

MindSpore Lite推理框架支持将MindSpore训练导出的.mindir模型以及其他第三方框架训练导出的模型结构,通过converter_lite转换工具转换成MindSpore Lite格式模型结构,并部署到不同的硬件后端进行模型推理。MindSpore Lite推理方案如下图所示:

MindSpore Lite架构图

  1. 转换工具

    MindSpore Lite提供了便捷的模型转换工具,开发者可以通过converter_lite转换工具将其他格式的模型文件转换成.mindir或者.ms文件进行推理部署。在模型转换的过程中,MindSpore Lite会对模型进行相关优化,主要包含模型结构优化、使能融合算子等。

  2. 运行时

    MindSpore Lite提供了功能丰富的高效运行时。针对昇腾硬件后端,提供了高效的内存/显存管理机制,以及多维度的混合并行能力;针对麒麟NPU以及端上CPU,提供了更加轻量化的运行时,以及内存池、线程池等高性能推理能力。

  3. 算子库

    为了更加极致的推理性能,MindSpore Lite提供了高性能的CPU算子库、麒麟NPU Ascend C库,以及昇腾Ascend C算子库。

关键能力

  1. 支持昇腾硬件推理

  2. 支持鸿蒙

  3. 训练后量化

  4. 轻量化Micro推理部署

  5. 基准调试工具

推理教程

本章节将会通过两个用例对MindSpore Lite的推理部署进行说明,逐步完成基于MindSpore Lite的模型推理部署。MindSpore Lite的推理部署主要包含以下两个步骤:

  1. 模型转换

    在对模型进行推理部署前,需要用户将要推理的模型转换成MindSpore Lite的格式文件,针对不同后端,可以分别转换成.mindir.ms格式文件。

  2. 集成部署

    通过MindSpore Lite推理API 完成转换得到的模型推理集成,将用户推理输入数据码传递给相关API接口,即可实现MindSpore Lite的模型推理。

其中,针对.ms模型的推理教程可以参考端侧推理快速入门,针对.mindir模型的推理教程可以参考使用Python接口执行云侧推理