自从物联网(IoT)出现以来,边缘智能是一项颇具颠覆性的创新。物联网带来了数十亿智能互联设备,这些设备传输TB级海量传感器数据,用于执行基于人工智能的云计算,除此之外,另一项革命正在进行,那就是边缘设备上的机器学习(ML)。随着越来越多的智能化计算迁移到网络边缘,恩智浦紧跟趋势,提供成本、性能和功率优化的处理解决方案,以便跨多个市场和应用推动机器学习技术,让最终用户享受到边缘计算增强安全性、提高隐私性和减少延迟的优势。
以前,机器学习、深度学习和神经网络应用一直是数据科学家和人工智能专家的开发领域。但是,随着越来越多的机器学习工具和技术可用来消除机器学习应用开发方面的一些复杂性,这种情况正在逐渐改变。恩智浦的eIQ(“edge intelligence”)机器学习开发环境就此应运而生。eIQ提供一组综合工作流程工具、推理引擎、神经网络(NN)编译器、经过优化的库和技术,帮助简化并加快机器学习开发。eIQ适合各种技能水平的用户,从第一次接触深度学习项目的嵌入式开发人员,到重点研究高级目标识别、分类、异常检测或语音识别解决方案的专家,eIQ都可以助力开发。
eIQ机器学习软件于2018年推出,经过不断发展,可支持系统级应用和机器学习算法实现,适用于恩智浦i.MX系列,包括低功耗i.MX RT跨界微控制器(MCU),以及基于Arm® Cortex®-M和Cortex®-A内核的多核i.MX 8和i.MX 8M应用处理器。
重大升级
为帮助机器学习开发人员更熟练地基于恩智浦i.MX平台进行机器学习开发,并提高工作效率,我们大力扩展eIQ软件环境,在其中添加了全新的eIQ Toolkit工作流程工具、基于图形界面(GUI)的eIQ portal开发环境以及针对i.MX和i.MX RT设备进行优化的DeepViewRT™推理引擎。
图1.简要展示eIQ Toolkit和eIQ portal特性与工作流程。
下面详细介绍eIQ软件环境中新增的这些强大的工具如何帮助简化机器学习开发,提高工作效率并为开发人员提供更多选项和更大的灵活性。
eIQ Toolkit:实现“机器学习人人可用”
考虑到机器学习、神经网络和深度学习应用的潜在复杂性以及机器学习开发人员的不同需求,简单的“万能”工具并不适合。更好的方法是提供灵活的综合工具套件,该套件应该能够扩展,以满足不同技能水平和经验水平的机器学习开发人员。为此,我们在eIQ机器学习开发环境中添加了强大但易用的eIQ Toolkit,使开发人员能够导入数据集和模型,基于恩智浦i.MX 8M应用处理器系列和i.MX RT跨界MCU系列训练、量化、验证和部署神经网络模型与机器学习相关的计算。无论您是刚刚接触机器学习项目的嵌入式开发人员,还是熟练的数据科学家,抑或是人工智能专家,都能在eIQ Toolkit中找到合适功能,以匹配您的技能水平并简化机器学习项目的开发。
图2. eIQ portal提供数据集管理工具,帮助您注释并整理所有训练数据。
eIQ Toolkit提供简单的工作流程和机器学习应用示例。此外,eIQ Toolkit包括eIQportal,提供基于GUI的直观开发选项,您也可以根据自己的喜好选择使用命令行工具。如果您想要利用现成的开发解决方案,或者需要恩智浦或我们值得信赖的合作伙伴提供的专业服务与支持,您可以在eIQ Toolkit中轻松访问Au-Zone Technologies等公司提供的不同选择,eIQ也会不断更新丰富相关的支持。
图3. eIQ portal提供便捷的模型验证和精度测量方法。
通过使用eIQ portal,您可以轻松创建、优化、调试、转换并导出机器学习模型,也可以从TensorFlow、ONNX和PyTorch机器学习框架中导入数据集和模型。您可以通过“自带数据”(BYOD)流程,使用自己的数据训练模型,从由预先训练的模型组成的数据库中选择,或者通过“自带模型”(BYOM)流程导入预先训练的模型,比如来自Au-Zone Technologies的高级检测模型。通过遵循简单的BYOM流程,您可以使用基于云的公共或私有工具构建经过训练的模型,然后将模型传输到eIQ Toolkit中,以便在针对芯片优化后的推理引擎上运行。
图4. eIQ portal提供灵活的BYOM和BYOD工作模式
针对目标的图形级别分析功能让开发人员能够在运行时深入了解运行情况,以便微调和优化系统参数、运行时性能、内存使用和在i.MX设备上执行的神经网络架构。
恩智浦全新eIQ推理引擎
推理引擎是机器学习开发项目的核心,这是机器学习应用的运行时组件。eIQ机器学习软件开发环境支持使用针对Glow、ONNX和TensorFlow Lite等针对i.MX和MCU进行优化的各种基于社区的开源推理引擎进行推理,除此之外,我们又新添加了DeepViewRT推理引擎。
DeepViewRT是与合作伙伴Au-Zone Technologies联合开发的专有推理引擎,提供由供应商维护的更长期稳定的解决方案,作为对于现有开源推理引擎的补充。
图5.DeepViewRT为机器学习应用提供稳定灵活的量产化推理引擎。
在DeepViewRT推理引擎在MCUXpresso SDK中作为中间件集成,对于使用Linux操作系统的产品开发,DeepViewRT推理引擎可以通过Yocto BSP获得。