欢迎访问一起赢论文辅导网
SCI期刊论文
当前位置:首页 > SCI期刊论文
RDBMS上的声明式递归计算
来源:一起赢论文网     日期:2020-01-04     浏览数:1478     【 字体:

 论文题目:Declarative Recursive Computation on an RDBMS, or, Why You Should 

Use a Database for Distributed Machine Learning 
中文题目:RDBMS上的声明式递归计算,或者为什么要使用数据库进行分布式
机器学习 
论文作者:Jankov, Dimitrije, Shangyu Luo, Binhang Yuan, Zhuhua Cai, Jia Zou, Chris 
Jermaine, and Zekai J. Gao 
论文出处:45
th
 International Conference on VeryLarge Data Bases – VLDB 2019 
论文地址:http://www.vldb.org/pvldb/vol12/p822-jankov.pdf 
研究问题: 
诸如TensorFlow 之类的现代机器学习(ML)平台主要是为了支持数据并行
性而设计的,其中在一组计算单元上并行执行一组几乎相同的计算(例如,梯度
计算)。计算之间的唯一区别是,每个计算都针对不同的训练数据(称为“批次”)
进行操作。对于异步数据并行性而言,在每次计算完成后,都将本地结果加载到
参数服务器;对于同步数据并行性而言,在每次计算完成后,都将本地结果全局
聚合并用于更新模型。但问题是,数据并行性有其局限性。例如,数据并行性隐
含地假设正在学习的模型(以及使用批处理更新模型时生成的中间数据)可以适
合计算单元(可以是服务器或GPU)的RAM。但是,该假设有时候不成立。例
如,目前最好的NVIDIA Tesla V100 Tensor Core GPU具有32GB的RAM,然而
这32GB的RAM无法存储全连接层的200,000个类别的条目的矢量编码。处理
这样规模的模型需要并行化,在这种模型中,要学习的统计模型不是简单地在不
同的计算单元上进行复制,而是要进行分区和并行操作,并由一系列批量同步操
作执行。然而,现有的分布式机器学习系统为模型并行性提供的支持十分有限。
该论文研究如何对现代关系数据库管理系统(RDBMS)进行少量更改,以使其
适合于分布式学习计算。 
研究方法: 
该论文认为可以使用关系型数据库的相关技术来实现模型并行化。更加具体
的,模型的不同部分可以存储在一组表中,部分模型上的计算通常可以通过一些
SQL查询来表示。实际上,对于开发人员来说,学习算法的模型并行SQL与数
据并行实现很相似。关系数据库管理系统(RDBMS)提供了声明性的编程接口,
这意味着程序员或自动算法生成器,如果通过自动微分自动生成了ML算法,则
只需指定他/她/它想要的内容,而无需指定需要写出如何计算它。计算将由系统
自动生成,然后进行优化和执行以匹配数据大小,布局和计算硬件。无论计算是
在本地计算机上还是在分布式环境中运行,代码都是相同的。相反,诸如
TensorFlow之类的系统提供的声明性相对较弱,因为必须在某个物理计算单元
(例如GPU)上指定并执行计算图中的每个逻辑运算(例如矩阵乘法)。使用关
系技术的另一个好处是,RDBMS中的分布式计算已经研究了三十多年,并且速
度快,功能强大。RDBMS附带的查询优化器对于优化分布式计算非常有效。但
是,有两个原因导致RDBMS无法作为大多数大型ML算法的平台直接使用。首
先,RDBMS缺乏足够的递归支持。在深度学习中,“遍历”深度神经网络的各
个层,然后向后“遍历”整个网络以传播错误是必要的操作。虽然在RDBMS中,
这种“循环”可以通过表之间的递归依赖关系来声明性地表示,但是RDBMS对
递归的支持通常仅限于通过诸如传递闭包之类的集合来计算fixed-points。另一个
挑战是,典型的深度学习计算的查询计划可能会运行到成千上万的运算符,而现
[返回]
上一篇:基于联合概率矩阵分解的群推荐方法研究
下一篇:基于双记忆注意力的方面级别情感分类模型