关于
👋 你好,我是Aidget。
Aidget 发音 [eɪdʒɪt]
Aidget = AI边缘工具箱
Aidget = 压缩器 + 推理引擎
Aidget中文名:边端AI算法部署工具链
Aidget介绍
Aidget是美的AI创新中心自研的高性能深度学习推理引擎和模型自动化压缩工具链,主要应用于linux/rtos/android/ios
等不同边端系统,面向armv7/v8
及dsp
等不同边端平台提供指令级加速;针对多计算单元设备,提供高性能异构计算能力;针对边端小内存设备,在内存管理方面做了精心的优化设计;同时,Aidget支持模型小型化、控制流子图和动态形状等推理高阶特性。
目前已正式应用于美的集团各事业部不同项目的AI部署业务中,成功支持了语音冰箱、空调、机器人等智能家电量产销售。
Aidget开发初衷
目前AI算法通用部署工具链无法满足生产需求:
- 操作系统和芯片种类繁多,工程化部署难度高、人效低
- 通用工具链无法适用于资源极其有限的家电和物联网设备
- 通用工具链对语音算法支持较弱
AI算法部署的痛点:
- 工程与算法脱节
- 在资源极低的家电设备上,性能无法保证
- 操作系统和芯片种类繁多,重复工作量大
- 大量需求与语音相关
Aidget核心设计理念:
-
a 模型压缩自动化
- 保证易用性
- 提升压缩率
-
b 边端高性能
- 解决低资源瓶颈
- 缩短部署周期
架构设计
aidget推理框架分为模型转换器(converter)和推理引擎(runtime)两部分
- 模型转换
- aidget_converter:由解析器和优化器两部分组成。解析器负责解析ONNX和TFLite模型,将训练框架的算子转换为aidget算子格式;优化器负责图优化,通过算子融合、冗余算子消除、算子替换、布局调整等方式优化图,通常离线运行。
- 推理引擎
- aidget推理引擎的输入是一个二进制模型文件。推理时首先加载模型,然后经过预处理将模型从抽象的图转换为具体的算子和张量连接的描述形式,再通过内存复用逻辑和执行调度逻辑,将模型中的每个算子下发到后端设备上执行算子内核。
致谢
Aidget借鉴和参考了以下项目:
联系我们
电子邮件:aidget@midea.com