近两年人工智能技术发展迅速,以Google开源的TensorFlow为代表的各种深度学习框架层出不穷。为了能让国内人工智能技术更好的落地,并且人工智能也是大数据分析的主要方法,作为大数据协同安全技术国家工程实验室牵头公司的360,其系统部大数据团队与人工智能研究院基于长期的研究和实践成果,开发了基于Hadoop大数据能力的人工智能平台XLearning。大数据协同安全技术国家工程实验室是国家发改委批准建设的国家级大数据安全研究创新平台,是大数据领域唯一的由民营企业承担的国家工程实验室。该实验室目前由360公司牵头,主要负责大数据基础架构、安全防护和应用领域方面的研究。
360 XLearning项目负责人李远策表示, XLearning对于开发者意义重大,因为同行业公司都会有类似开发需求,XLearning则可以帮助他们实现调度的统一和服务器资源的复用。随着平台算法库的不断增容和优化,开发者工作难度将大大降低。他们将有更多精力,用于功能的实现和代码的优化。此外,除了人工智能平台XLearning之外,360在大数据开源技术领域也不断创新,如Poseidon系统、pika系统等均是360在大数据领域的独创开源技术。
图1: 大数据协同安全技术国家工程实验室
(官网地址:http://nelab-bdst.org.cn/)
(官方微信名称:大数据协同安全国家工程实验室)
图2: 360深度学习调度平台XLearning
(XLearning项目开源地址https://github.com/Qihoo360/XLearning)
XLearning平台将大数据与深度学习相融合,基于Hadoop Yarn完成了TensorFlow、MXNet、Caffe、Theano、PyTorch、Keras、XGBoost等常用深度学习框架的集成,是典型的“AI on Hadoop”的实现。XLearning从今年4月份正式开发上线运行,经多次版本迭代更新,为各学习框架的使用者提供了统一、稳定的调度平台,实现了资源共享,极大的提高了资源利用率,并且具有良好的扩展性和兼容性。
图3:XLearning架构
其中,Client是XLearning客户端,负责启动作业及获取作业执行状态; ApplicationMaster主要负责输入数据分片、启动及管理Container、执行日志保存等; Container是作业的实际执行者,负责启动Worker或PS(Parameter Server)进程,监控并向AM汇报进程状态,上传作业的输出等。对于TensorFlow类型作业,还负责启动Tensoard服务。
XLearning虽然架构简洁,但具有丰富的功能方便用户进行模型训练,并依托于Yarn提供有作业资源的统一管理。首先,Xlearning平台支持TensorFlow、MXNet分布式和单机模式,支持所有的单机模式的深度学习框架,如Caffe、Theano、PyTorch等;其次,XLearning提供多种模式用于数据的输入、输出,包括数据的流式读写、直接HDFS读写等,可根据作业处理的数据量与集群机器硬盘容量,视情况决定所采用的读写方式;再者,为方便用户查看作业信息,XLearning提供可视化界面用于展示作业执行进度和输出日志等内容;另外,XLearning还支持TensorFlow分布式模式的ClusterSpec自动分配构建,单机模式和其他深度学习框架代码不用做任何修改即可迁移到XLearning上,便于用户快速使用;最后,利用深度学习框架本身的Checkpoint机制和直接读写HDFS数据功能,XLearning方便用户实现训练恢复继续执行。
作为国内人工智能领域的先行者,360公司以平台开源的形式,实现了行业已有资源的集成和优化。相信未来,以360公司牵头的大数据安全协同技术国家工程实验室将为提升我国网络安全和大数据人工智能产业和学界的整体水平贡献更多力量。