在 AI 项目中,大多时候开发者的关注点都集中在如何进行训练、如何调优模型、如何达到满意的识别率上面。但对于一个完整项目来说,通常是需求推动项目,同时,项目也最终要落到实际业务中来满足需求。
对于常用的 AI 训练和机器学习工具如 TensorFlow,它本身也提供了 AI Serving 工具 TensorFlow Serving。利用此工具,可以将训练好的模型简单保存为模型文件,然后通过的脚本在 TensorFlow Serving 加载模型,输入待推理数据,得到推理结果。
但与拥有较固定计算周期和运行时长的 AI 训练不同,AI 推理的调用会随着业务的涨落而涨落,经常出现类似白天高、夜间低的现象。且在大规模高并发的节点需求情况下,常规的部署方案,明显无法满足此类需求,此时需要使用更专业的 AI 推理模型和扩缩容、负载均衡等技术完成预测推理。
UAI-Inference 采用类似Serverless的架构,通过请求调度算法、定制扩缩容策略,自动完成AI请求的负载均衡,实行节点动态扩容和回收,可提供数万的AI在线推理服务节点。
某AI在线推理一天内的请求访问情况
AI推理(Inference)的在线执行有两大关键因素:一是通过 GPU/CPU 对数据进行快速决策,二是对访问请求的实时响应。下图为某一 AI 在线推理场景 24 小时内的资源使用情况,其中,横轴为时间、纵轴为用户资源请求量,橙色线现表示资源配置情况。
凌晨 00:00-8:00 点&