在终端上运行人工智能技术需要移动终端推理框架的支持,总体构架如:图1所示。
应用层基于终端操作系统进行开发,提供全部功能的实体,向上面向用户,通过UI用户界面向用户提供服务,向下通过调用推理框架,驱动终端硬件进行AI计算。
目前,主流的移动端操作系统包括Android、iOS均支持移动终端推理框架技术。
在移动终端推理框架是终端人工智能技术的核心,它能在终端上调用芯片的计算能力运行神经网络模型。通常推理框架包括模型转换工具和深度学习编译器两个组件。模型转换工具可以将神经网络模型转换成推理框架支持的格式,深度学习编译器用于在移动终端上运行转换后的神经网络模型。一些主流的端侧人工智能计算框架包括:谷歌TensorFlow Lite,高通SNPE,华为HiAI,小米MACE和苹果Core ML框架等。
硬件层则为终端提供强大的算力。CPU虽然可以进行AI计算,但由于其构架中包含很大比重的控制器、寄存器等部件,而相应用于计算的逻辑单元较少,所以在逻辑和多任务处理上有很好的发挥,但在AI计算方面提供的算力有限。GPU原设计用于进行图像处理,逻辑单元丰富,相比于CPU能提供更高的算力。为适应人工智能技术的发展,业界还推出了针对人工智能计算的AI硬件加速单元,如:NPU、DSP等。DSP(Digital Signal Processing)即数字信号处理技术, DSP芯片的内部采用程序和数据分开的结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,能够在执行AI中发挥重要作用。
推理框架工作流程
在终端通过推理框架进行人工智能推理计算,需要准备神经网络模型,推理框架深度学习编译器和输入数据,工作流程通常包括模型转换、运行推理和结果输出三步。
1、模型转换
进行人工智能任务首先需要选择和使用神网络模型, 神经网络模型一般由深度学习训练框架在高性能PC或云端训练生成,主流的训练框架包括Tensorflow、Caffe等。而移动终端推理框架还需要使用模型转换工具将训练好的神经网络模型转换成移动终端可支持的格式进行推理运算。
神经网络模型的转换旨在各种设备上高效的执行,可以让神经网络模型适配推理框架,还可以对神经网络模型模型进行压缩和优化。
在适配方面,不同的移动终端推理框架支持不同的神经网络模型格式,具体见表1。
表
1
人工智能计算框架模型支持情况
神经网络模型的优化方面则为了能压缩模型体积并提高计算效率。
比如模型量子化技术,它将神经网络模型的参数从浮点型压缩成整型,使模型更适合在AI加速度单元上执行。
量化模型虽然会带来一些精度上的损失,但由于大幅缩减了计算的数据量,提升运算速度并降低功耗,更适合于移动终端的使用。
量子化压缩效果见表2。
表2 量子化效果
2、运行推理
推理框架使用深度学习编译器运行模型。编译器是一个库,它接收一个模型文件,执行模型文件在输入数据上定义的运算符或操作,并提供对输出的访问。推理框架以API方式为开发人员提供接口,能支持大多数常见的移动操作系统,如在Android操作系统可以使用Java或C++执行推理,在iOS操作系统使用Swift或Objective-C语言编写等。在构建编译器过程中,可以指定加载的模型,以及精度、运行时等其他必要参数驱动移动终端不同的硬件进行计算,以达到最佳执行效果。例如:TensorFlow Lite的解释器可以支持CPU、GPU、NN API(见图2)。
3、结果输出
当模型执行完毕后,将以特定的数据结构反馈推理结果,通常开发人员还需要对反馈的数据进行解释,将其转换为可理解的有意义的结果展示给用户。
在移动终端上产业链各环节在加大AI的研究和投入,芯片厂商通过技术发展提供更高的算力,同时减低功耗,保证终端续航;终端厂商适配更优的推理框架,并通过框架将个性化的服务集成到移动终端中;人工智能框架开发商则进一步优化框架,提升处理效率和兼容性。未来人工智能技术将涉足于更广泛的领域,提供更高效智能的服务,移动智能终端的用户体验也将随着人工智能技术的发展发生颠覆性的提升。
解谦,
工学硕士,中国信息通信研究院泰尔终端实验室高级工程师,主要从事移动通信终端的新技术研究,测试及标准化工作。目前主要研究方向为移动终端人工智能技术与评测。
联系方式:
xieqian
@caict.ac.cn
返回搜狐,查看更多
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。