Adlik Highlights
Adlik是人工智能领域,深度学习模型的推理应用加速工具链,对开发者的意义就在于Adlik能够为训练后的模型实际应用提供完善的工程化支持,有效降低了使用者对各类模型推理运行时的学习成本,并且给出端到端应用落地的模型自动优化-应用方案,提升了AI深度学习模型的商业应用的效率。同时,Adlik还借助了工程化的优势,对模型,推理框架的评测提供了自动化测试方案框架和实施过程,能够有效推动深度学习领域的标准化测试开展。
Adlik包含几个大的功能模块。
1 模型优化器
Adlik的模型优化器支持剪枝和量化。剪枝算法中,Adlik采用过滤器剪枝方案,对卷积层的剪枝效果出色。在量化上,Adlik采用小数据集量化和校准算法,仅需要100给样本图像,在不到1分钟时间内,完成ResNet50模型的量化过程,并且量化后精度损失很小。量化后的模型,可以生成为TF lite或TensorRT格式模型,运行在各类执行硬件上。
2 模型编译器
Adlik模型编译器,支持TensorFlow,PyTorch,Keras等多类训练框架,将其产生的模型编译为指定运行时和硬件环境依赖的模型文件,同时也支持ONNX文件格式的模型编译。模型编译器的软件架构设计上很有特色,以各模型表达方式和模型端到端编译的目标,形成DAG图,以算法形式完成图搜索过程,自动寻找最优的编译(模型文件转换)路径,后期可以和模型优化特性结合在一起使用,形成自动优化/编译过程。
3 推理引擎 Adlik Inference Serving Engine
Adlik集成了多款深度学习模型的推理运行时,如Tensorflow Serving( 最新版本2.2),TensorRT(6/7),OpenVINO(2019),Tensorflow Lite(2.2)等,并且开发了模型管理,版本更新策略控制等功能。Adlik 推理引擎对外支持http和grpc接口,并在支持Tensorflow Lite运行时的嵌入式版本中,对外提供模型调用的C++ API接口,能够为嵌入式系统提供更高效的推理效率。Adlik推理引擎同时支持多模型实例调度方案,为边缘侧资源受限的系统部署提供了有效的推理解决方案。
4 Benchmark 自动测试框架
Adlik自动测试框架,是为了完成不同运行时在相同硬件环境下的标准化性能测试。依据Adlik完善的模型编译和引擎的工程化积累,当前自动测试框架能够提供高效且自动化的测试流程,为业界标准化测试提供了良好的工具。
在r0.1版本发布过程中,来自中兴,中国联通,中国移动,LFAI等组织以及独立个人开发者多人次提交代码,issue,comments,并定期参加TSC会议等。总共在master分支提交123次commits,完成pr 106个,issue关闭24单,形成了良好的社区氛围。