论文部分内容阅读
近些年来,人工智能已成为当今社会的热门话题,引领着社会的变革和技术的发展。事实上,人工智能已悄悄地渗入到我们生活的点点滴滴,在各个业务领域的应用已初见成效。而这些应用得益于在海量数据分析的基础上建立的经验模型,并且每一款人工智能产品都是通过对训练成熟的模型封装而衍生出来的。因此,模型即是人工智能的核心所在,欲想更快、更有效地从人工智能中获取高价值的内容和衍生产品,我们必须从其核心和根本入手,来研究如何高效、快速地训练模型。本论文将从算法工程师的角度出发,考虑模型训练的周期,解决训练过程中的一些痛点,打造一个易用、可用的模型训练平台。模型训练平台可以为算法工程师提供一套涵盖数据集管理、模型管理、脚本管理、运行环境等在内的在线服务。支持目前最受欢迎的Tensorflow算法引擎的分布式任务计算,减少模型训练的周期,极大提高模型开发效率。本文的主要工作是设计实现一个基于Kubernetes的Tensorflow分布式模型训练平台,为用户提供模型训练API服务以及Tensorflow框架的任务执行引擎服务。每一个服务对应一个独立的服务平台,所有的平台通过微服务架构进行组织。其中,模型训练平台API服务的主要功能有:数据集管理、模型管理、个人工作空间、组件管理、工作流管理;Tensorflow任务执行引擎服务的主要功能有:运行任务、停止任务、查看当前正在运行的任务列表,以上所有功能点的设计和实现都依据软件工程的开发流程实现。模型训练API服务基于B/S架构,使用Java语言和Spring Boot框架技术完成系统开发,选用MYSQL数据库。任务执行引擎则使用Python语言和Django框架完成开发,选用Redis存储数据。该平台经过测试,均已达到了预期目标,可以为算法工程师提供Tensorflow分布式模型训练服务。