对更强大的大数据分析解决方案的需求刺激了新一代系统的编程模型、抽象和平台的发展。对于这些问题,一个完整的解决方案将处理数据争吵和处理,它将支持任何形式或规模的数据分析。它将支持广泛的机器学习算法,但也提供了构建新算法的原语。它将是可定制的,可扩展到大量数据,并映射到现代多核、GPU、协处理器和计算集群硬件。为了实现这些目标,机器学习研究人员正在开发新的技术和解决方案,4,6,7在数据库和分布式系统研究领域,2,5,8以及主要的工业参与者。1,3.这些平台为机器学习提供了更高层次的数据抽象,并对现代硬件进行了优化。
Elgohary等人关于“通过压缩线性代数缩放机器学习”的工作首次出现在VLDB基金论文集,2试图通过应用数据库思想(成本估计、查询优化、基于成本的数据放置和布局)来解决其中的许多挑战。它是在IBM和Apache的SystemML声明式机器学习项目中进行的。这篇论文展示了这种数据库技术在机器学习环境中是多么有效。作者观察到机器学习中的核心数据对象(特征矩阵、权向量)往往具有规则的结构和重复的值。这些数据上的机器学习任务由较低级的线性代数运算组成。这类操作通常涉及重复的浮点计算,由于CPU在RAM中遍历大型矩阵,因此带宽有限。
作者开发了一种矩阵的压缩表示,以及直接在压缩矩阵数据上工作的压缩线性代数操作。这些操作一起减少了执行计算所需的带宽,从而大大提高了性能。本文巧妙地利用了关系数据库系统的思想:面向列的压缩、基于抽样的成本估计以及在压缩速度和压缩率之间进行权衡。
作者开发了一种矩阵的压缩表示,以及直接在压缩矩阵数据上工作的压缩线性代数操作。
这篇论文有几个显著的贡献。首先,作者确定了一组由多个分布式机器学习平台和算法共享的线性代数基元。其次,他们不仅开发了矩阵中单个列的压缩技术,还开发了利用列之间相关性的“列分组”技术。它们表明,偏移列表和游程编码在效率和性能之间提供了一组很好的权衡。第三,本文开发了基于缓存的矩阵乘法等运算算法。最后,本文给出了如何估计压缩矩阵的大小和选择有效的压缩策略。这些技术共同说明了数据库系统的概念如何在机器学习空间中得到极大的应用。
1.阿巴迪,M.等。Tensorflow:用于大规模机器学习的系统。OSDI, 16(2016), 265283。
2.Ewen, S., Tzoumas, K., Kaufmann, M.和Markl, V.旋转快速迭代数据流。在5 . VLDB基金论文集, 11(2012), 12681279。
3.Ghoting, A.等人。SystemML: MapReduce上的声明式机器学习。ICDE。IEEE, 2011, 231242。
4.Low, Y.等。GraphLab:机器学习的一个新的并行框架。在人工智能不确定性会议论文集。(卡特琳娜岛,加州,2010年7月)。
5.等;Mllib: Apache Spark中的机器学习。JMLR, 17, 1(2016), 12351241。
6.Paszke, A.等人。自动分化。PyTorch, 2017年。
7.团队,t。t。d。等人。一个用于快速计算数学表达式的python框架。arXiv预印本arXiv:1605.02688, 2016。
8.扎哈里亚,M.,乔杜里,M.,富兰克林,M. j ., Shenker, A.和Stoica, I. Spark:具有工作集的集群计算。HotCloud10日,2010年。
数字图书馆是由计算机协会出版的。版权所有©2019 ACM股份有限公司
没有发现记录