[论文解读] DinTucker: Scaling up Gaussian process models on multidimensional arrays with billions of elements
DinTucker 是一种用于在包含数十亿个元素的多维数组上进行大规模张量分解的分布式高斯过程模型,采用分层贝叶斯框架,支持子数组上的本地训练,并通过 MapReduce 实现可扩展的推理。在 NELL 和访问日志等真实数据集上,其预测精度高于 GigaTensor,训练速度更快,同时保持了 InfTucker 的非线性建模能力。
Infinite Tucker Decomposition (InfTucker) and random function prior models, as nonparametric Bayesian models on infinite exchangeable arrays, are more powerful models than widely-used multilinear factorization methods including Tucker and PARAFAC decomposition, (partly) due to their capability of modeling nonlinear relationships between array elements. Despite their great predictive performance and sound theoretical foundations, they cannot handle massive data due to a prohibitively high training time. To overcome this limitation, we present Distributed Infinite Tucker (DINTUCKER), a large-scale nonlinear tensor decomposition algorithm on MAPREDUCE. While maintaining the predictive accuracy of InfTucker, it is scalable on massive data. DINTUCKER is based on a new hierarchical Bayesian model that enables local training of InfTucker on subarrays and information integration from all local training results. We use distributed stochastic gradient descent, coupled with variational inference, to train this model. We apply DINTUCKER to multidimensional arrays with billions of elements from applications in the "Read the Web" project (Carlson et al., 2010) and in information security and compare it with the state-of-the-art large-scale tensor decomposition method, GigaTensor. On both datasets, DINTUCKER achieves significantly higher prediction accuracy with less computational time.
研究动机与目标
- 解决类似 InfTucker 的非参数贝叶斯张量模型在主内存大小限制下的可扩展性瓶颈问题。
- 实现在超过单机容量的海量多维数组(例如 500 亿个以上元素)上的大规模非线性张量分解。
- 将子数组上的本地训练与全局信息融合相结合,在实现计算节点线性可扩展性的同时保持预测精度。
- 首次在 MapReduce 框架中部署高斯过程模型,克服了 GP 可扩展性的先前限制。
- 在真实世界的稀疏和大规模数据上,相较于最先进的分布式张量分解方法(如 GigaTensor),在预测精度和计算效率两方面均表现更优。
提出的方法
- 提出一种分层贝叶斯模型,允许在子数组上对 InfTucker 进行本地训练,同时实现所有本地结果的信息整合。
- 在 MapReduce 框架上,结合分布式随机梯度下降(SGD)与变分推理,以可扩展、并行的方式训练模型。
- 将完整张量划分为非重叠的子数组(例如 50×50×50),以支持分布式处理并减轻每个节点的内存压力。
- 对子数组应用加权采样策略,确保训练代表性,对信息量丰富或非零元素较多的切片赋予更高的采样概率。
- 利用 GP 协方差的 Kronecker 结构,并利用数据稀疏性,降低本地推理过程中的计算成本。
- 在分布式环境中通过多个子数组样本的装袋(bagging)进行预测,以提高鲁棒性和泛化能力。
实验结果
研究问题
- RQ1能否通过分布式计算将类似 InfTucker 的非参数贝叶斯张量模型扩展到包含数十亿个元素的张量?
- RQ2如何将子数组上的本地训练与全局信息融合相结合,以保持与完整模型 InfTucker 相当的预测精度?
- RQ3所提出的分布式 GP 模型是否在预测精度和训练速度两方面均优于现有大规模张量分解方法(如 GigaTensor)?
- RQ4在分布式 GP 训练中,子数组大小与通信成本之间的权衡如何?其对整体性能有何影响?
- RQ5高斯过程模型能否在 MapReduce 框架中有效部署,以支持大规模张量学习?
主要发现
- 在 NELL 知识库(689 亿个条目)和访问日志数据集(715 亿个条目)上,DinTucker 的预测精度显著高于 GigaTensor,且在各种采样策略下 AUC 提升均保持一致。
- DinTucker 的训练时间随着计算节点数量的增加几乎呈线性增长,表明其在 Hadoop 集群上具有强大的水平可扩展性。
- 尽管采用了更复杂的非线性建模,DinTucker 仍因高效的本地推理和通信优化的子数组处理,相比 GigaTensor 显著缩短了训练时间。
- 优先选择信息量丰富的切片的加权子数组采样策略,其性能与均匀采样相当或更优,证实了代表性训练数据选择的重要性。
- 在 NELL 数据集上,DinTucker 的预测精度接近 InfTucker(黄金标准),同时可处理远超 InfTucker 可行范围的数据规模。
- 该模型成功处理了极端稀疏的高维数组(非零元素占比分别为 0.0001% 和 0.003%),在相同计算预算下,其速度和精度均优于 GigaTensor。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。