HiAI Foundation 助力端侧音视频 AI 能力,高性能低功耗释放云侧成本
过去三年是端侧 AI 高速发展的几年,华为在 2020 年预言了端侧 AI 的发展潮流,2021 年通过提供端云协同的方式使我们的 HiAI Foundation 应用性更进一个台阶,2022 年提供视频超分端到端的解决方案,在 2023HDC 大会上,HiAI Foundation基于硬件能力的开放,提供更多场景高效能的解决方案。
华为 HiAI Foundation 提供了高性能 AI 算子和丰富的 AI 特性的接口,App 直接对应 HiAI Foundation 的 DDK。今年完整支持了 HarmonyOS NEXT,开发者无需修改任何代码,只需按照 HarmonyOS NEXT 的要求重新编译即可运行。同时,在开发者联盟网站有 HarmonyOS NEXT 指导文档,在 Gitee 上也开源了对应的 Demo,降低大家的集成成本。
今年,华为在原有的基础上,拓展了更多端侧 AI 场景解决方案。
华为 HiAI Foundation 是基于硬件创新架构的能力开放,构建了一个高性能的 NPU、CPU、GPU 算子,同时提供整网融合、AIPP 硬化预处理、算子搜索工具、异构计算等多元的基础能力,在硬件创新架构和多元竞争基础的能力上,提供生态开放机制,在生态开放机制上提供对用户开放的接口 DDK 工具链、模型轻量化、算子库动态升级、开源等等机制。
华为 HiAI Foundation 主要由以下几个部分构成,首先是 HiAI Foundation DDK 推理加速平台,它主要完成与上层推理框架的接入,使开发者可以屏蔽底层硬件,能够更加聚焦于模型效果的优化。第二部分是异构计算 HCL 平台,它主要是使能各个硬件,比如 NPU、CPU、GPU。第三部分是提供对应的工具链,包括模型转换工具链、异构调优工具链。同时我们也提供了统一的 API,通过一次开发可以做到赋能多形态的设备硬件上运行,并且华为 HiAI Foundation 可以与 HarmonyOS 实时融合。
下面以典型 AI 场景为例,从部署的角度来探索一下华为 HiAI Foundation 是如何完成这些挑战,并最终实现这些场景的落地。
视觉类加速方案人像分割
我们知道人像分割通常用于视频中的背景替换、长短视频的弹幕穿人玩法等。华为 HiAI Foundation 通过人像分割,通过 AIPP 硬化预处理指令、模型量化,使得人像分割达到性能和功耗的业务要求。从视频解码和开通预览流到 AIPP 推理和 GPU 渲染,有多个过程参与,华为 HiAI Foundation 不仅要进行推理,还要完成上下游的深度协同。
视频流和开放预览帧到模型,以人像分割为例,人像分割要求的输入是 RGB 格式,并且输入要求是固定的尺寸,视频解码帧和预览流出来的数据,要求支持图像预处理的指令,并且把它硬化到 NPU 里面,所以人像分割提供了包括图片缩放 resize、图片旋转 rotation、色域转换 color space convert 的能力。基于华为实验室测试结果,实现性能提升 20%,模型大小缩小 75%,精度损失 1%以内,性能提升 19%。
第二部分是模型在 NPU 上的高效算子推理,推理结束之后将结果送到 GPU 上做渲染。在传统方案中,NPU 和 GPU 通常是操作两块不同的内存,华为 HiAI Foundation 提供了零拷贝的接口,将 NPU 和 GPU 在同一块内存上操作,并且在格式上保持严格一致,通过多 IP 协同+AIPP 实现高效人像分割计算。
在端侧部署过程中提供了模型可视化+Profiling 工具,通过模型可视化了解 HiAI Foundation 结构,通过 Profiling 知道 IP 的分布,包括算子在 NPU 和 GPU 的推理时间,综合起来通过可视化工具和 Profiling 工具设计出系统友好的结构,设计性能最佳的模型。
通过 Profiling 工具了解到模型算子的性能不够友好,然后把它反馈到 HiAI Foundation,我们在支持好这些算子之后,通过端云协同的方式快速推送到用户手中,使用户能够尽快上线业务。本次华为在端云协同助力性能优化快速升级方面做了全面的升级,开发者无 SDK 就可以集成,相比原来繁琐的集成要求,可以做到无感集成。
语音类的加速方案语音识别
端侧部署语音识别实时出字、响应快,在端侧执行可以保证用户的隐私,此外华为能做到在 NPU 上执行,稳定性高,并且可以降低云侧的资源部署成本。在语音识别这一块,HiAI Foundation 支持的是端到端的 Transformer 模型,全部在云端推理。基于华为实验室测试结果,模型量化模型大小缩小 74%,精度损失 1%以内。
模型如图所示,支持 Transformer 模型,开发者可以根据自身的业务,根据性能和泛化性来进行定制,也可以实现高效的算子融合。
将原来需要频繁和内存交互的指令融合成一个大的算子,通过对这些关键结构进行算子融合,总共带来了 60%的功耗收益,将左边很多小算子组成的结构融合成一个大算子,避免这些小算子频繁和内存进行交互,从而提升了运算效率。
在端侧部署的过程中,存储空间也是开发者们关注的问题,希望用更小的存储空间来实现更多更强的能力,所以华为提供量化工具链,通过量化工具链可以量化出更小巧、更灵活的模型。以人像分割和语音识别为例,基于华为实验室测试结果,它们的存储大小能够相比 32 位浮点减少 70%以上,精度 WER 指标相比 32 浮点小于 1%,相应的功率也有一定的提升。
在端侧 AI 部署中会涉及到硬件、软件和 AI 算法,所以华为通过开源的方式来加速业务,通过更多方式灵活部署。目前开放了推理源码的开源,通过开源可以做到和 App、第三方深度学习框架对接,同时可以基于自身的需求做灵活的定制裁剪,做到开发灵活,通过这些开源平台能和开发者沟通更便捷。通过这些开源,开发者可以快速下载、编译,即可在华为手机上用 NPU 做推理,更高效集成业务。
未来,华为会探索 Transformer 模型更加泛化、更高能效的场景化解决方案,同时在端云协同上也会探索更多更高性能场景的能力支持,也会通过 ModelZoo 提供更多场景 NPU 友好的模型结构,用户可以设计更加 NPU 友好的模型结构。
了解更多详情>>
关注我们,第一时间了解 HMS Core 最新技术资讯~
评论