一、算法部署简介
算法部署任务是将已开发的算法模型应用到实际场景中去的过程。这个过程通常需要在计算机、服务器或其它硬件设备上面运行算法模型,并编写一些代码来调用模型。任何模型其实都会涉及到模型部署任务,其实你在调用现成的API接口做推理的过程也可以叫做模型部署。模型部署任务的复杂度在于:需要利用N+个训练框架在N+个芯片上面部署N+个算法模型。
在算法部署任务中,需要考虑以下几个方面:
1、 硬件环境:根据算法模型的规模和计算量,选择合适的硬件环境。例如,对于深度学习模型,可能需要使用GPU加速计算。
2、软件环境:根据算法模型的需求,选择合适的操作系统、开发工具和库等软件环境。例如,对于Python开发的机器学习算法,可能需要安装numpy、pandas、scikit-learn等库。
3、数据输入输出:考虑如何将实际场景中的数据输入给算法模型,并将模型输出集成到业务流程中。例如,对于图像识别算法,可能需要通过摄像头捕捉图像,并将识别结果显示在屏幕上。
4、安全性:保护算法模型的安全性是非常重要的。需要考虑如何防止恶意攻击和未经授权的访问。例如,可以采用数据加密、身份验证和访问控制等措施来保护算法模型。
5、可扩展性:随着业务的扩展,可能需要在不同的计算机或服务器上部署多个算法模型,并将它们集成到一个系统中。需要考虑如何实现模型之间的协作和数据共享,并确保系统的高可用性和可扩展性。
算法部署任务需要综合考虑以上因素,以确保算法模型能够顺利地应用到实际场景中去。一个成功的算法部署可以帮助企业提高效率、降低成本,甚至创造新的商业机会。
二、算法部署工具链
2.1 工业界
1、Tengine
:https://github.com/OAID/Tengine
【简介】:
Tengine 由 OPEN AI LAB 主导开发,该项目实现了深度学习神经网络模型在嵌入式设备上的快速、高效部署需求。为实现在众多 AIoT 应用中的跨平台部署,本项目基于原有 Tengine 项目使用 C 语言进行重构,针对嵌入式设备资源有限的特点进行了深度框架裁剪。同时采用了完全分离的前后端设计,有利于 CPU、GPU、NPU 等异构计算单元的快速移植和部署,同时降低评估和迁移成本。
【文档】:
https://tengine.readthedocs.io/zh_CN/latest/
【特点】:
多硬件支持、高性能、异构切图、混合精度、轻量级部署
2、开工天物
:https://www.horizon.ai/open-explorer.html
【简介】:
基于地平线自研智能芯片打造的全生命周期软件开发平台,包括模型仓库、芯片工具链和应用开发中间件三大功能模块,为地平线芯片合作伙伴提供丰富的算法资源、灵活高效的开发工具和简单易用的开发框架。
【文档】:
https://www.horizon.ai/open-explorer.html
【特点】:
便捷开发、资源丰富、灵活高效、开发者生态
3、Adlik
:https://github.com/Adlik/Adlik
【简介】:
Adlik是人工智能领域深度学习模型的推理应用加速工具链,致力于为开发者提供端到端的深度学习模型优化部署方案,提升AI深度学习模型商业应用的效率。Adlik主要包含三大功能模块:负责剪枝、量化等优化工作的模型优化器(Model Optimizer),负责为指定硬件环境编译模型的模型编译器(Model Compiler)及为模型提供推理方案的推理引擎(Serving Engine)。
【文档】:
https://github.com/Adlik/Adlik
【特点】:
高性能、剪枝与量化、支持多前端、多后端部署
4、Art.Studio
:http://www.artosyn.cn/official_download/list/30/31.html
【简介】:
该工具是酷芯微电子针对AR93x系列芯片提供的一个模型部署工具。该工具类似与海思的NNIE工具,用户可以使用简单的GUI界面进行模型参数设置、模型转换、模型优化等多个部署。该工具针对AR9341芯片中的多个算子进行了特定加速,性能属于中等偏上的水平。
【文档】:
需要联系FAE索取sdk及文档
【特点】:
简单易用、功能完善,支持PTQ和QAT量化、支持灵活设置每个输出的数据排布和类型、支持混合精度量化
5、FastDeploy
:https://github.com/PaddlePaddle/FastDeploy
【简介】:
FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具, 支持云边端部署。提供超过160+Text,Vision, Speech和跨模态模型开箱即用的部署体验,并实现端到端的推理性能优化。包括 物体检测、字符识别(OCR)、人脸、人像扣图、多目标跟踪系统、NLP、Stable Diffusion文图生成、TTS 等几十种任务场景,满足开发者多场景、多硬件、多平台的产业部署需求。
【文档】:
https://github.com/PaddlePaddle/FastDeploy/blob/develop/README_CN.md
【特点】:
全场景,覆盖CV、NLP和语音、灵活易用、极致高效
6、OpenMMLab
:https://github.com/open-mmlab
【简介】:
OpenMMLab致力于在深度学习时代构建最具影响力的开源计算机视觉算法系统。它的目标是:1)提供高质量的库,以减少算法重新实现的难度; 2)创建高效的部署工具链,以适应各种后端和设备; 3)为计算机视觉研究和开发建立坚实的基础; 4) 通过全栈工具链弥合学术研究和工业应用之间的差距。
【文档】:
https://mmdetection.readthedocs.io/en/latest/
【特点】:
简单易用、社区完善、跨领域模型、性能一般
7、oneflow
:https://github.com/Oneflow-Inc/oneflow
【简介】:
OneFlow是一个基于Tensorflow的深度学习框架,主要用于大规模训练和部署。它拥有高度并行、低延迟的设计,提供了高效使用硬件资源的解决方案,支持CPU、GPU和专用加速器等多种硬件平台,能够实现高效的模型训练和推理。
【文档】:
https://oneflow.readthedocs.io/en/master/
【特点】:
高度并行、多后端、低延迟、支持大规模训练和推理
8、Aidget
:https://github.com/midea-ai/Aidget
【简介】:
Aidget是美的AI创新中心自研的高性能深度学习推理引擎和模型自动化压缩工具链,主要应用于linux/rtos/android/ios等不同边端系统,面向armv7/v8及dsp等不同边端平台提供指令级加速;针对多计算单元设备,提供高性能异构计算能力;针对边端小内存设备,在内存管理方面做了精心的优化设计;同时,Aidget支持模型小型化、控制流子图和dynamic shape等推理高阶特性。
文档-https://github.com/midea-ai/Aidget
【特点】:
轻量级部署、通用性强、易用性强、高性能推理
9、AIStation
:https://www.inspur.com/lcjtww/2526894/2526897/2526901/2527106/index.html
【简介】:
AIStation人工智能推理服务平台,主要面向企业AI应用部署及在线服务管理场景,通过统一应用接口、算力弹性伸缩、A/B测试、滚动发布、多模型加权评估等全栈AI能力,为企业提供可靠、易用、灵活的推理服务部署及计算资源管理平台,帮助用户AI业务快速上线,提高AI计算资源的利用效率,实现AI产业的快速落地。
【文档】:
向FAE索取相关文档
【特点】:
多前端支持、灵活开放、低延迟高吞吐、计算资源统一管理
10、mediapipe
:https://github.com/google/mediapipe
【简介】:
谷歌的mediapipe是一个开源的跨平台的模型推理框架,专门用于开发实时视频和音频处理的应用程序。它基于图形计算技术,将数据流作为计算图中的节点进行处理。你可以通过内置的工具和算法,快速实现各种计算机视觉计算任务。
【文档】:
https://google.github.io/mediapipe/
【特点】:
高效率、简单易用、可扩展、社区开放
11、CANN
:https://www.hiascend.com/zh/software/cann
【简介】:
CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构,对上支持多种AI框架,对下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。同时针对多样化应用场景,提供高效易用的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。
【文档】:
https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/63RC1alpha002/overview/index.html
【特点】:
多前端支持、极简开发、极致性能、开放生态
12、Vitis AI
:https://www.xilinx.com/products/design-tools/vitis/vitis-ai.html
【简介】:
AMD Vitis AI集成开发环境是一个完整的AI推理应用开发方案,适用于AMD自适应硬件,包括Versal AI Edge系列、Versal AI Core系列、Zynq、Zynq UltraScale+ MPSoc、Kria SOM、Alveo加速卡等。Vitis AI IDE为从数据中心到边缘应用的AI推理部署提供了一套丰富的AI模型、优化的深度学习处理器单元、工具、库和示例设计。
【文档】:
https://docs.xilinx.com/v/u/en-US/ug1431-vitis-ai-documentation
【特点】:
高性能、低延迟、低DDR带宽、全图优化器、支持ADM ROCm GPU主机
13、ShaderNN
:https://github.com/inferenceengine/shadernn
【简介】:
ShaderNN作为OPPO在业内算是继NCNN、MNN后专注于移动端图形着色器、图像后处理的卷积神经网络AI应用的开源轻量推理框架,具备通用性、高性能、可移植性、可扩展性四大优势,不仅在推理时间上大幅超越业内的性能竞品,在平均功耗方面同样取得领先。未来,ShaderNN将深度集成到OPPO自研的AI Boost框架中,在更多场景中落地应用。
【文档】:
https://github.com/inferenceengine/shadernn/tree/dev_opensource_release/docs
【特点】:
针对实现显示和图像后处理、高性能、轻量、灵活、易扩展、通用
14、Triton
:https://github.com/triton-inference-server/server
【简介】:
Triton 推理服务器是一种开源推理服务软件,可简化 AI 推理。Triton 使团队能够部署来自多个深度学习和机器学习框架的任何 AI 模型,包括 TensorRT、TensorFlow、PyTorch、ONNX、OpenVINO、Python、RAPIDS FIL 等。Triton 支持在 NVIDIA GPU、x86 和 ARM CPU 或 AWS Inferentia 上跨云、数据中心、边缘和嵌入式设备进行推理。Triton 为许多查询类型提供优化的性能,包括实时、批处理、集成和音频/视频流。
【文档】:
https://github.com/triton-inference-server/tutorials
【特点】:
支持多个深度学习框架、模型并发执行、动态模型加载、自定义后端、动态批处理、支持DLA
15、CDNN
:https://www.ceva-dsp.com/product/ceva-deep-neural-network-cdnn/
【简介】:
CEVA 深度神经网络 (CDNN) 是一项全面的 AI 编译器技术,可为 SensPro 传感器中枢 DSP、NeuPro-M AI/ML 处理器架构和 CEVA-XM Vision DSP 创建完全优化的运行时软件。CDNN 针对大众市场嵌入式设备,将广泛的网络优化、高级量化算法、数据流管理和完全优化的计算 CNN 和 RNN 库整合到一个整体解决方案中,使云训练的 AI 模型能够部署在边缘设备上 用于推理处理。
【文档】:
https://www.ceva-dsp.com/resource/cdnn-product-note-chinese/
【特点】:
自动量化与转换、层融合、模型压缩、支持异构计算
16、SGS
:http://www.sigmastarsemi.com/
【简介】:
SGS是SigmaStar公司的模型推理引擎。该工具主要由Convert Tool、Calibrator、Compiler、Simulator、SGS Netron等多个工具构成。该工具支持ONNX、Tensorflow等多个前端,基于命令行的转换工具来比较顺手,推理还不错。
文档-寻找SigmaStart FAE咨询
【特点】:
高性能、模块化、命令行工具、标定速度快
2.2 学术界
1、Keras
:https://github.com/keras-team/keras
【简介】:
Keras 是一个用 Python 编写的高级神经网络 API,它能够以 Tensorflow、CNTK或者 Theano作为后端运行。Keras 的开发重点是支持快速的实验。能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。
【文档】:
https://keras.io/zh/
【特点】:
简单、灵活、强大
2、Caffe
:https://github.com/BVLC/caffe
【简介】:
Caffe是一个比较老的模型训练和推理框架,在构建时考虑到表达、速度和模块化。它由Berkeley AI Research和社区贡献者开发。在深度学习刚兴起的时候,由于Caffe的高效性引起了工业级的大量关注,截止当前,工业界仍有一些公司在使用Caffe模型。
【文档】:
https://caffe.berkeleyvision.org/doxygen/index.html
【特点】:
高性能、易使用、维护力度小
原创 Luce AI产品汇