基于Kubernetes的弹性深度学习模型部署平台的设计与实现
作者单位:西安电子科技大学
学位级别:硕士
导师姓名:王黎明;何战科
授予年度:2022年
学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 081104[工学-模式识别与智能系统] 08[工学] 0835[工学-软件工程] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:模型部署 Kubernetes 动态伸缩 经验模态分解 LSTM
摘 要:人工智能与云原生是当前主流的以开源软件为驱动的前沿技术领域,因此以云原生为基础架构的AI平台在不断的探索和实践中。深度学习作为人工智能领域的重要分支,目前在如何训练出精准的网络模型上已经有了深入的研究并取得了可观的成果。而深度学习项目从数据收集到网络模型构建,最终目标都是将模型部署上线以提供服务,因此当前人工智能热点技术从提高算法模型的精确度延伸到了模型的落地工程化。在模型落地工程化的过程中存在以下问题:(1)不同模型在封装时对环境、版本依赖需求繁杂,模型之间容易产生冲突;(2)模型服务需要消耗较多的算力资源,需要充分考虑资源的弹性分配对集群稳定性的影响;(3)模型服务作为时延敏感型任务,对请求的响应时间、成功率有较高的要求。因此本文的主要研究目标是探索设计一种灵活的模型服务化方式以及设计实现一个高效的模型部署解决方案。针对深度学习模型落地工程化问题,本文基于Docker容器,结合Kubernetes容器管理技术搭建了深度学习模型部署平台,将训练完成的模型进行容器化封装、自动化部署,并且实现了资源的弹性伸缩以及实时监控功能。论文的主要工作包括:(1)基于Kubernetes技术对模型服务进行分布式部署,并且针对原生的响应式扩缩容机制存在的滞后性问题进行优化,提出了一种基于EMD-LSTM的负载预测模型,根据历史负载情况预测未来的趋势,以达到在高/低负载来临之前提前进行扩/缩容操作。在负载预测模型的研究中,通过与传统统计学方法ARIMA和基于神经网络的算法LSTM两个当前主流的时间序列预测算法进行实验对比,验证了本文提出的EMD-LSTM模型对于云环境下的负载预测具有更高的准确性。(2)针对当前主流的深度学习框架Py Torch、Tensorflow,本文研究了如何将基于此两种框架训练完成的模型封装成服务,当服务多节点部署时如何将流量均匀的转发到后端节点以实现请求的负载均衡,并且结合本文提出的负载预测模型,对Kubernetes原生弹性扩缩容机制进行改进,设计并实现了弹性深度学习模型部署平台。最后从功能和性能两方面对平台展开测试,在性能测试中,验证了本文改进的预测式弹性扩缩容机制能够成功预测出未来的负载趋势,提前进行扩/缩容操作,从而避免了达到负载阈值时进行扩容操作所造成的响应时间骤增、大量请求被拒的情况,有效减少了请求的平均响应时间,提高了请求成功率,使得模型可以更加稳定的提供服务。(3)为了能够时刻了解集群的运行状况和资源使用情况,确保所有的节点都处于正常的工作状态,模型部署平台设计实现了对Kubernetes集群的监控。