APP下载

大数据机器学习系统综述

2020-05-21姜绍俊

电脑知识与技术 2020年9期
关键词:机器学习大数据

摘要:机器学习需要有大量的背景数据作为训练集,而大数据技术正好给机器学习带来了这样的大量数据训练集。结合机器学习和大数据技术,为了实现高效的大数据机器学习而设计的大数据机器学习系统面临着诸多的技术问题。大数据机器学习系统成为大数据技术和机器学习领域研究的重要课题。本文介绍了大数据机器学习系统应该具有的概念、特征及相关典型的大数据机器学习系统。

关键词:大数据;机器学习;大数据机器学习系统

中图分类号:TP3 文献标识码:A

文章编号:1009-3044(2020)09-0185-02

大数据技术是继物联网、云计算、移动云计算之后又一项重大的技术变革,大数据技术的使用已经对各行各业都产生了巨大的影响。大数据技术近年来发展迅速,受到了全球各行各业的高度关注。

大数据技术有着广泛的应用空间,随着计算机和网络技术的发展各行各业动辄达到数百TB甚至数PB规模的数据被生产出来。如此大规模的数据量已经超出了一般计算机的处理能力,在如此大的数据集中往往含有许多在小数据集中不能被发现的知识和价值。因此大数据智能化的分析挖掘技术可以为很多企业带来商业价值。

很多研究表明机器学习处理的样本量越大,机器学习的效果越准确,因此机器学习将会成为大数据技术中的核心力量。目前,随着计算机硬件的发展,计算机的计算能力越来越强大,大量数据加上强的计算能力已成为大数据时代人工智能发展的动力,大数据机器学习进入了新一轮的发展浪潮中,大数据机器学习系统(Big Data Machine Leaming System)成为高度关注的热点研究领域。[1]

现有的大数据系统不是用于大量数据的简单统计分析,就是用于小数据量的数据处理,缺少强大数据处理能力和复杂数据分析能力的大数据机器学习系统。大数据机器学习系统不仅要关注机器学习方法和算法本身,还要关注如何使用分布式和并行化的大数据处理技术,让大数据机器学习系统可以对复杂数据进行有效分析和大量数据的并行处理,从而在有限的时间范围内完成相关机器学习算法的运行。因此,诸多的大数据机器学习系统的研究与开发工作如雨后春笋般的出现。

1 大数据机器学习系统的特征

大数据机器学习系统既不是大数据处理技术问题也不是机器学习算法研究问题,它应该是一个结合大数据和机器学习技术的交叉系统问题。大数据机器学习系统应该继续研究机器学习算法本身.即通过对大量数据的准备、分析和处理得到更加健壮、更加准确的机器学习模型。由于在大数据机器学习系统中需要对大量的数据进行处理,而传统的串行化处理方法难以在有限的时间内完成机器学习的任务,限制了大数据机器学习系统的使用效率和应用前景。因此大数据机器学习系统还应该在分布式、并行化等方面进行研究,从而建立一个大规模分布式、并行化的机器学习系统。

一个成功的大数据机器学习系统应该具有一些基本的技术特征:首先它需要考虑训练数据集的大小,如何提取相关数据集的特征,在一个系统化的平台上训练机器学习的算法;其次它应该提供相关的训练模型,保证训练模型的健壮性,并对模型中的参数和超参进行有效管理;最后为了更好地拥有系统的开发性和广泛的应用能力,它应该提供对底层系统的抽象,以实现对底层通用大数据处理引擎的支持。大数据机器学习系统平台仅仅提供给用户透明的机器学习模型和算法,而底层的计算任务则由底层分布式系统负责完成。

2 典型大数据机器学习系统介绍

2.1 Spark MLlib

MLlib包括底层基础、算法库和实用程序三个部分:;实用程序具有生成测试数据、读入外部数据等功能。底层基础由Spark的运行库、矩阵库和向量库组成,在向量方面MLlib支持本地的密集向量和稀疏向量;在矩阵方面MLlib支持本地矩阵和分布式矩阵。Spark中的算法库由广义线性模型、聚类算法、分类算法、回归算法、决策树和评估算法等组成。

Spark Mllib其算法种类和接口有限,难以满足实际使用过程中的各种需求,其在灵活性方面也存在不足。

2.2 Apache SystemML

Apache SystemML[2-3]是在2015年由IBM开源的机器学习系统,作为大数据机器学习系统受到广泛的认可,SystemML支持单机和分布式部署,分布式部署支持Hadoop和Spark框架。Apache SystemML支持的机器学习算法有:描述性统计、分类、聚类、回归、矩阵分解、生存分析等。

Apache SystemML具有两大优点:第一,声明式机器学习使算法表达更容易和更自然,该算法用类似R语言或Python语言来表示,提供了表达自定义分析的灵活性以及底层输入格式和物理数据表示形式的独立性;第二,根据数据和集群特性可以提供自动化的服务,以确保系统运行的效率和可扩展性。

2.3 Apache Flink

2010年,由柏林工业大学、柏林洪堡大学等合作研究的云上的信息管理,Flink是从Stratoshphere的一个分支开始。Apache Flinkc4]是开源流处理框架,其核心是用Java和Scala编写的分布式数据流引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。

Flink提供了一些数据分析软件包供分析人员使用。数据集应用程序接口,用户可以方便地使用Flink对静态数據进行分布式批量处理;数据流应用程序接口,用户可以方便地对分布式数据流进行各种操作;表格应用程序接口,将结构化数据抽象成关系表,通过soL对该表进行各种查询操作。最后,针对一些特定的应用领域Flink也提供了相关的库。

2.4 Graph Lab

Graph Labc5J是由CMU(卡内基梅隆大学)在2010年提出的一个基于图像处理模型的开源图计算框架。该框架高度抽象,可以执行机器学习相关的算法,在计算过程中数据具有高度的一致性和高效的并行性。该框架最初是为大规模机器学习开发的,但是该框架也同样适用于数据挖掘方面的应用。GraphLab能够解决机器学习中具备依赖的稀疏数据集、迭代可收敛、异步执行等问题。GraphLab能够智能地选择数据存储与计算节点,可以直接从HDFS中读取数据或是将计算结果直接写入到HDFS中。最后,GraphLab提供了相关应用程序接口和实现了相关的开发工具箱。

2.5 Parameter Server

Parameter Serverc6]具有高效的通信能力,因此不需要停下来等待一些机器的执行,这大大节省了系统的运行时间。Pa-rameter Server允许算法根据情况在收敛速度和系统性能之间做出平衡选择,进一步减少了系统同步的成本和延时。该系统可以随时插入新的服务节点,当插入新的节点时不需要重新启动系统。当大规模的服务器集群在运行时,出现节点的运行故障是不可避免的,Parameter Server可以快速地恢复系统的运行。全局共享的参数可以被表示成各种形式,这大大方便了机器学习算法的开发,并且提供高性能多线程库。

2.6 Petuum

Petuumc7]是由Eric Xing博士领导的研究团队实现的大数据学习系统,它可以帮助企业解决在人工智能和机器学习过程中遇到的瓶颈和其他问题。Petuum目前是在深度学习、预测性分析、知识萃取、内容概况和集成方法等方面创建的机器学习平台。该平台可以应用到自然语言处理、图片和视频分析以及交易数据中的异常检测等。Petuum系统由调度器、参数服务器、计算节点和机器学习算法组成。Petuum中的参数服务器使用SSP(Stale synchronous parallel)协议,它的优点是使计算节点的运行速度与网络通信的时间开销之间达到一种平衡。

2.7 Mariana

腾讯深度学习平台Marianac8]以GPU服务器为主,实现并行化计算,实现了DNN的数据并行框架、CNN的模型并行和数据并行框架、DNN CPU集群框架。Mariana通过数据并行和模型并行,解决了深度学习耗时过长的问题。Mariana通过模型并行可以支持大规模的数据并行处理。Mariana在应用方面主要体现在DNN的数据并行框架在微信语音识别中得到应用,通过Mariana对微信语音识别的准确率获得了极大的提升,识别能力已经是业界一流水平;另外CNN数据并行和模型并行框架已在图像识别应用中初见成效。此外,通过大规模广告并行化训练,还可以应用在广告推荐或个性化推荐等领域。

2.8 百度机器学习云平台

百度云机器学习平台(Baidu Machine Learning,简称BML)是基于百度云平台自主研发的机器学习系统。BMLc9]主要应用于大数据的统计与分析、数据挖掘、模型训练、商业智能等,例如百度公司内部的广告预估、搜索结果排序等。BML高效的分布式计算能力让几百TB的训练样本花费几个小时就能完成训练任务。BML提供多种大数据机器学习算法,包括数据预处理、数据分类、数据聚类、深度学习、序列模型等。

3 总结

大数据技术和机器学习算法的发展推动了大数据机器学习系统的研究热潮。大数据机器学习系统即需要考虑大数据面临的大规模数据量,又需要设计合理高效的机器学习算法。本文介绍了目前国内外在这方面工作的情况及进展,并列举了国内外正在使用和运行的大数据机器学习系统。通过本文介绍的大数据机器学习系统,希望可以给研究或使用大数据机器学习系统的学者提供一点帮助。

參考文献:

[1]黄宜华,大数据机器学习系统研究进展[J].大数据,2015,1(1):35-54.

[2] Ghoting A,Krishnamurthy R,Pednault E,et aI.SystemML:Declar-ative machine learning on MapReduce[C]//2011 lEEE 27th In-ternational Conference on Data Engineering, April 11-16,2011. Hannover, Germany. lEEE, 2011: 231-242.

[3] Boehm M,Tatikonda S,Reinwald B,et aI.Hybrid parallelizationstrategies for large-scale machine leaming in SystemML[J].Pro-ceedings of the VLDB Endowment, 2014,7(7):553-564.

[4] Alexandrov A,Bergmann R,Ewen S,et aI.The Stratosphere plat-form for big data analytics[J].The VLDB Journal, 2014,23(6):939-964。

[5] Low Y,Bickson D,Gonzalez J,et aI.Distributed GraphLab[J].Pro-ceedings of the VLDB Endowment, 2012,5(8):716-727.

[6] Li M,Andersen D G,Park J W, et al_Scaling distributed ma-chine learning with the parameter server[C].llth USENIX Sym-posium on Operating Systems Design and Implementation (OS-DI 14). 2014: 583-598.

[7] Dai W, Wei J,Zheng X,et aJ.Petuum:a framework for itera-tive-convergent distributed ML[C].Proceedings of Advances inNeural Information Processing Systems 26, Big Learning Work-shop, California, USA, 2013.

[8]邹永强.Mariana-腾讯深度学习平台的进展与应用[C].2014年中国大数据技术大会,北京,2014.

[9]刘伟.百度机器学习云平台[C].2015年中国数据库技术大会,北京,2015.

【通联编辑:张薇】

基金项目:基于暗通道先验的雾天图像增强算法的研究(项目编号:2019XZX-06)

作者简介:姜绍俊(1982-),男,辽宁大连人,硕士,讲师,研究方向:图像处理、机器学习。

猜你喜欢

机器学习大数据
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究
大数据环境下基于移动客户端的传统媒体转型思路