论文部分内容阅读
伴随着近几年移动互联网的发展,边缘设备几乎每时每刻都在产生大量数据,这些数据都潜藏着巨大的价值,如果能够被很好的利用,将会进一步丰富移动设备提供的服务内容。并且得益于芯片技术与嵌入式技术的发展,边缘设备不仅在算力上较几年前有很大提高,而且其硬件环境,如内存和总线等,也有了很大的发展,所以在边缘设备上也逐渐出现了各种人工智能应用,例如虹膜识别。结合目前的发展情况,利用机器学习算法来让边缘设备所产生的数据发挥价值也成为了一个必然趋势。同时因为边缘设备所产生的数据很大程度上是与使用者密切相关,所以对这部分数据的处理需要注意保护个人隐私以及数据安全。并且嵌入式设备本身对安全性的要求也比较高,所以本文针对如何在嵌入式设备上提供安全的机器学习服务问题展开了研究。本文首先分析了现有的安全执行环境技术,并对TrustZone技术做了深入了解。通过分析optee源码,结合GlobalPlatform规范,实现了在自主研发的可信微内核上对GP规范接口的支持,保证了安全世界和非安全世界的通信。接下来本文分析了ARMNN以及ComputeLibrary的可移植性。利用ARM公司开源的ARMNN推理引擎,将TensorFlow模型转换为ARM芯片可识别的指令序列来达到在嵌入式平台上运行机器学习框架的目的。本文将ARMNN框架和ARM的底层计算库ComputeLibrary移植到微内核操作系统的环境之上,为在安全执行环境下提供机器学习服务提供支持。最后本文分析了现有机器学习框架的计算瓶颈在于矩阵乘法运算,所以结合Slalom框架,将矩阵乘法运算从CPU外包到REE下的GPU上,针对ARM平台的机器学习服务进一步的提高其执行效率。并且利用Freivalds算法,对非安全世界矩阵乘法运算的计算结果进行快速验证,既保证了达到加速机器学习推理的目的,又保证了嵌入式环境下要求的安全性。最终,本文通过对ARMNN、ComputeLibrary以及optee的源码进行分析,对TrustZone技术进行研究,并结合ARM对现有机器学习计算瓶颈的调研结果,在Florian Tramèr和Dan Boneh的研究结果基础上,参考Slalom框架,实现了针对ARM平台的可信机器学习服务支持,以及对该可信机器学习服务进行了进一步加速。