开源汇-边缘计算优化资源

444 阅读5分钟

边缘计算通过将计算和数据处理推向网络边缘,具有低延迟、带宽优化、数据隐私与安全、离线工作能力、弹性扩展和适应多样化设备等特点,为各种应用场景带来更高效、可靠和安全的计算能力。学术研究方向实现的模型普遍较大,计算复杂度高,难以直接实现工业场景落地。模型压缩在实际应用中具有重要的作用,它可以使得深度学习模型更加适应资源受限的环境,并提高模型的推理速度、能效和泛化能力。

  1. 降低模型大小:深度学习模型通常具有大量的参数和复杂的结构,这导致了模型占用大量的存储空间。减小模型的大小,从而方便在资源受限的设备上部署和使用模型,比如移动设备和嵌入式设备。
  2. 加速推理速度:深度学习模型在推理阶段对计算资源的需求较高,对于一些实时性要求较高的应用,如物体检测、视频分析等,需要快速的推理速度。通过模型压缩,可以减少计算量和内存访问,从而提高推理速度,使得模型能够更快地响应和处理输入。
  3. 节省能源消耗:深度学习模型在训练和推理过程中需要大量的计算资源,这会导致能耗较高。对于移动设备、无人机、物联网设备等资源有限的设备,过高的能耗可能限制了其使用时间和性能。模型压缩可以减少计算量和内存访问,从而降低能源消耗,延长设备的使用时间。
  4. 提高模型的泛化能力:过拟合是深度学习中常见的问题,当模型包含大量参数时,其容易发生过拟合现象。模型压缩可以通过剪枝、正则化和量化等技术减少模型的复杂性,提高模型的泛化能力,使其在未见过的数据上表现更好。
  5. 支持移动端部署:随着移动设备的普及和性能的提升,人们对于在手机、平板等移动设备上部署深度学习模型的需求日益增加。然而,移动设备的存储和计算资源有限,需要轻量级、高效的模型。模型压缩可以满足这一需求,使得深度学习模型能够在移动设备上实时运行。
模型优化方法

模型压缩是指通过一系列技术手段减小深度学习模型的体积,加快模型推理速度,降低内存和计算资源的消耗。主要有如图四种实现方法。 2023-07-02 11-12-18屏幕截图.png

研究模型优化框架

MMRazor
MMRazor是一个可用于模型瘦身和AutoML的模型压缩工具箱,属于pytorch生态,包含了4种主流的技术:

  • 网络结构搜索 (NAS)
  • 模型剪枝
  • 知识蒸馏 (KD)
  • 量化

PaddleSlim
PaddleSlim是一个专注于深度学习模型压缩的工具库,提供低比特量化、知识蒸馏、稀疏化和模型结构搜索等模型压缩策略,帮助开发者快速实现模型的小型化。

移动端的推理引擎
TNN

由腾讯优图实验室开源的高性能、轻量级神经网络推理框架,同时拥有跨平台、高性能、模型压缩、代码裁剪等众多突出优势。TNN框架在原有Rapidnet、ncnn框架的基础上进一步加强了移动端设备的支持以及性能优化,同时借鉴了业界主流开源框架高性能和良好拓展性的特性,拓展了对于后台X86, NV GPU的支持。手机端 TNN已经在手机QQ、微视、P图等众多应用中落地,服务端TNN作为腾讯云AI基础加速框架已为众多业务落地提供加速支持。欢迎大家参与协同共建,促进TNN推理框架进一步完善。 TNN 对ONNX模型支持较好。

TNN/NCNN/MNN/TFLite对比

MNN

是一个轻量级的深度神经网络引擎,支持深度学习的推理与训练。适用于服务器/个人电脑/手机/嵌入式各类设备。目前,MNN已经在阿里巴巴的手机淘宝、手机天猫、优酷等30多个App中使用,覆盖直播、短视频、搜索推荐、商品图像搜索、互动营销、权益发放、安全风控等场景。
开源仓库中提供 在Mate30 Pro (Kirlin 990) 性能测试结果,在多个模型中推理效果都表现优秀。

MediaPipe

MediaPipe 解决方案提供了一套库和工具,供您快速 在您的应用中应用人工智能 (AI) 和机器学习 (ML) 技术 应用。您可以立即将这些解决方案插入您的应用程序中, 根据您的需求自定义它们,并在多个开发中使用它们 平台。MediaPipe Solutions 是 MediaPipe 开源的一部分 项目,以便您可以进一步自定义 解决方案代码可满足您的应用程序需求。 在tensorflow生态,兼容较好。性能优化优秀。

小米MACE MACE 是一个专为移动端异构计算平台(支持Android, iOS, Linux, Windows)优化的神经网络计算框架。