开放式Model Zoo如何促进边缘AI系统开发

Blog_Header_How_an_Open_Model_Zoo_Can_Boost_Your_Edge_AI_System_Development

振奋人心的新型专用处理架构的出现推动了边缘AI系统的发展,这些架构使我们能够在边缘做更多事情。边缘AI产品的一个不可分割的重要部分是支持硬件的专用软件。当然,每个新芯片都有自己的软件栈和开发环境,但对开发者的支持程度有差异

为了真正支持开发者,AI软件不仅需要稳健,还需要赋予开发者灵活性,通过一系列开发者工具加快产品上市时间。开放式人工智能Model Zoo对开发者来说是一个很好的资源,也是这个包络的关键部分。

什么是Model Zoo?

Model Zoo是一个存储库,其中包含广泛的预训练、预编译深度学习NN模型和任务,以TensorFlow和ONNX格式提供。其目标是通过为每个预训练模型提供二进制HEF文件,并支持Hailo工具链和应用套件,为开发者提供快速功能。

为了使开发者能够尽可能轻松地使用Hailo AI处理器,我们构建了自己的开放式Hailo Model Zoo,其中包括:

  • 预训练模型 – 一个大型选择集,展示了Hailo-AI处理器的多功能性和高人工智能性能。
  • 预配置构建流 – 经过验证和优化的流程,将每个网络从ONNX/TensorFlow模型转化为可部署的二进制模型,并纳入模型评估和性能分析。

为了实现简单的评估,我们在Model Zoo中包含了从开源存储库中获取的热门模型,这些模型未经修改,并在公开可用的数据集上进行了训练。此外还添加了到模型源链接,让用户可以调整模型,例如通过在他们自己的自定义数据集上进行训练。

此外,为了帮助用户为他们的AI应用选择最佳的神经网络模型,Hailo Model Explorer可以帮助用户做出更明智的决策,确保Hailo平台的最大效率。Model Explorer提供一个交互式界面,其中包含基于Hailo设备、任务、模型、FPS和准确性的过滤器,让用户可以从Hailo的庞大库中探索大量神经网络模型。

Hailo_Model_Zoo_Diagram
图1:Hailo Model Zoo – 从ONNX/TensorFlow格式的开源预训练模型到使用优化构建流编译的部署就绪产品

如何运行

Model Zoo采用Hailo数据流编译器,实现从预训练模型(ckpt/ONNX)到可以在Hailo-8上执行的最终Hailo可执行格式(HEF)的完整流程。为此,Hailo Model Zoo为用户提供以下功能:

  • 解析:将Tensorflow/ONNX模型转换为Hailo的内部表示,其中包括模型的网络拓扑和原始权重。这个阶段的输出是一个HailoArchive文件(HAR)。
  • 概要: 一份报告,其中包含预期模型在Hailo-8上的性能,包括FPS、延迟、功耗和HTML格式的各层完整分解。
  • 量化:通过将其从全精度转换为有限整数位精度(4/8/16)来优化运行时模型,同时最小化精度退化。这个阶段包括几个算法,通过保证量化模型的准确性来优化性能。此阶段的输出是包含量化权重的Hailo Archive文件。
  • 评估:在常用数据集(如ImageNet、COCO)上评估模型的准确性。使用我们的数值仿真器或Hailo-8可以对全精度模型和量化模型进行评估
  • 编译:编译量化模型,生成可部署在Hailo-8芯片上的Hailo可执行格式(HEF)文件。
Hailo Model Zoo functionality flow chart
图2:Hailo Model Zoo功能流程图。蓝色是使用Hailo数据流编译器的模块

Hailo Model Zoo的最后阶段生成用于最终应用的HEF文件。举例来说,这是ADAS应用YOLOv3对象检测网络的HEF文件或智能家居相机解决方案CenterPose(姿态估计)网络的HEF文件生成的地方。

选择了我们存储库中的模型,以涵盖各种各样的通用架构和任务。它热门的先进架构,如YOLOv3、YOLOv4、CenterPose、CenterNet、ResNet-50等,其中许多已经是我们的AI基准的一部分。为了实现轻松的基准测试,每个预训练模型都有自己的预处理/后处理功能和数据集采集流程,以使评估可行。我们将所有这些功能打包到一个易于使用的包中,因此它可以简单快速地复制,并且可以在广泛的网络中测量性能。借助Hailo-8 AI处理器强大的AI加速功能,用户可以利用Model Zoo在边缘设备中为这些热门模型提供卓越的性能。

这与TAPPAS有什么关系

用户可以将AI Model Zoo中的加速模型集成到自己的应用中。将Hailo Model Zoo与我们的TAPPAS高性能应用工具包结合,边缘AI开发人员可以在短时间内构建和部署有意义的应用。事实上,TAPPAS中的所有应用都建立在Model Zoo网络之上

以一个常见的用例为例,姿态估计可以获得有关购物者行为和愿望的有意义洞察,用于智慧零售智能视频分析(IVA)。开发这种应用的用户可能会发现基于预训练的姿态估计模型(如我们的model-zoo中的CenterPose_RegNetX_1.6GF)来开发很有用。基于Hailo TAPPAS,模型可以轻松集成到您的应用中。

图3:我们的预训练姿态估计模型在仓库安全摄像头镜头上的Hailo-8 AI处理器上运行

另一个有趣的用例是智慧城市应用的智能交通监控。您可以使用现有的预编译模型SSD_MobileNet_v1 VisDrone立即启动并运行应用。事实上,Hailo的一个小型工程师团队在Hailo首次黑客马拉松中24小时就做到了!

Figure 4: the Hailo-8 AI processor running the SSD_MobileNet_v1_VisDrone model as part of our TAPPAS Tiling app on a high-resolution live video feed of a busy city motorway (see can see our full demo here)
图4:Hailo-8 AI处理器在繁忙城市高速公路的高分辨率实时视频源上运行作为TAPPAS Tiling应用一部分的SSD_MobileNet_v1_VisDrone模型(在此处查看我们的完整演示))

Hailo Model Zoo为边缘人工智能开发者提供一个综合环境,以生成他们的下一个深度学习应用,为各种有用的神经任务提供开箱即用的预训练模型和应用解决方案。展望未来,我们将不断添加新的先进模型,涵盖新的任务和元架构,改进我们的预配置构建流和优化流程,以帮助开发者构建卓越的边缘AI应用,充分利用Hailo-8 AI处理器的行业领先功能。

如需了解更多信息,请查看我们的 或访问Hailo Model Zoo Github


Don’t miss out

Sign up to our newsletter to stay up to date