地址: https://github.com/modelbox-ai/modelbox
文档: https://modelbox-ai.com/modelbox-book/
通过 UI 编排方式实现一个 REST-API Echo-Server 服务截图:
目前 AI 应用开发时,训练完成模型后,需要将多个模型和应用逻辑串联在一起组成 AI 应用,并上线发布成为服务或应用。在整个过程中,需要面临复杂的应用编程问题:
问题 | 问题说明 |
---|---|
需要开发 AI 应用的周边功能 | 比如 AI 应用编译工程,应用初始化,配置管理接口,日志管理口,应用故障监控等功能。 |
需要开发 AI 常见的前后处理 | 音视频加解码,图像转换处理,推理前处理,后处理 YOLO 等开发。 |
需要开发和云服务对接的周边功能 | 比如 HTTP 服务开发,云存储,大数据服务,视频采集服务对接开发。 |
需要开发出高性能的推理应用 | 需要基于多线程,内存池化,显存池化,多 GPU 加速卡,模型 batch 批处理,调用硬件卡的 API 等手段开发应用。 |
需要开发验证 docker 镜像 | 需要开发 docker 镜像,集成必要的 ffmpeg ,opencv 软件,CUDA, MindSpore ,TensorFlow 等软件,并做集成测试验证。 |
多种 AI 业务,需要共享代码,降低维护工作 | 需要复用不同组件的代码,包括 AI 前后处理代码,AI 应用管理代码,底层内存,线程管理代码等。 |
模型开发者,验证模型功能比较复杂 | 模型开发者完成模型训练后,需要编写 python 代码验证,之后,再转成生产代码;在高性能,高可靠场景改造工作量大。 |
ModelBox 的目标是解决 AI 开发者在开发 AI 应用时的编程复杂度,降低 AI 应用的开发难度,将复杂的数据处理,并发互斥,多设备协同,组件复用,数据通信,交由 ModelBox 处理。开发者主要聚焦业务逻辑本身,而不是软件细节。 在提高 AI 推理开发的效率同时,保证软件的性能,可靠性,安全性等属性。