Skip to main content
QUICK REVIEW

[论文解读] Factorbird - a Parameter Server Approach to Distributed Matrix Factorization

Sebastian Schelter, Venu Satuluri|arXiv (Cornell University)|Nov 3, 2014
Stochastic Gradient Optimization Techniques参考文献 25被引用 28
一句话总结

Factorbird 是一种基于参数服务器的分布式矩阵分解系统,采用无锁 Hogwild! 风格的随机梯度下降(SGD),可扩展至包含超过 380 亿个非零元素的巨大矩阵。通过协同划分数据矩阵和模型矩阵,最大限度减少冲突和网络流量,实现高吞吐量,成功在 229M × 195M 的 Twitter 互动矩阵上训练出一个 400 亿参数的模型——这是迄今为止报告的最大规模分解。

ABSTRACT

We present Factorbird, a prototype of a parameter server approach for factorizing large matrices with Stochastic Gradient Descent-based algorithms. We designed Factorbird to meet the following desiderata: (a) scalability to tall and wide matrices with dozens of billions of non-zeros, (b) extensibility to different kinds of models and loss functions as long as they can be optimized using Stochastic Gradient Descent (SGD), and (c) adaptability to both batch and streaming scenarios. Factorbird uses a parameter server in order to scale to models that exceed the memory of an individual machine, and employs lock-free Hogwild!-style learning with a special partitioning scheme to drastically reduce conflicting updates. We also discuss other aspects of the design of our system such as how to efficiently grid search for hyperparameters at scale. We present experiments of Factorbird on a matrix built from a subset of Twitter's interaction graph, consisting of more than 38 billion non-zeros and about 200 million rows and columns, which is to the best of our knowledge the largest matrix on which factorization results have been reported in the literature.

研究动机与目标

  • 设计一种可扩展、可扩展的系统,用于训练大规模矩阵分解模型,其规模超出单台机器的内存容量。
  • 支持批处理和流式处理场景,以满足实时推荐系统的需求。
  • 通过智能地划分数据和模型,最小化分布式 SGD 中的更新冲突和网络流量。
  • 通过单次训练运行实现高效的超参数搜索。
  • 证明在协同过滤中对已知最大矩阵进行分解的可行性,其非零元素超过 380 亿个。

提出的方法

  • 使用参数服务器架构,在多台机器上存储和更新全局模型参数。
  • 应用无锁、异步 SGD(Hogwild! 风格),允许并发更新,无需同步开销。
  • 采用协同划分策略:一个因子矩阵在学习者机器上划分,而另一个则与输入数据共置,以实现更新本地化并减少网络流量。
  • 引入带全局、用户和项目偏置的加权损失函数,以提高在稀疏、部分观测数据上的预测准确性。
  • 利用 memcached 作为共享参数存储,支持每秒 420 万条命令的高吞吐量访问,以实现低延迟参数访问。
  • 通过在单次训练运行中对多种配置进行网格搜索,实现可扩展的超参数调优。

实验结果

研究问题

  • RQ1参数服务器架构能否高效地将矩阵分解扩展到包含数十亿个非零元素的矩阵?
  • RQ2在大规模稀疏设置下,如何在不使用同步机制的情况下最小化分布式 SGD 中的更新冲突?
  • RQ3对模型和数据矩阵实施协同划分策略,是否能显著减少网络流量和更新争用?
  • RQ4如何在不进行多次独立训练运行的情况下,高效地在大规模场景下执行超参数搜索?
  • RQ5在现实世界推荐系统中,矩阵分解的实际规模上限是什么?

主要发现

  • Factorbird 在一个包含超过 385 亿个非零元素的 22900 万 × 19500 万矩阵上成功训练了 400 亿参数的模型,这是迄今为止文献中报告的最大规模矩阵分解。
  • 系统在训练期间实现了对 memcached 平均每秒 420 万条命令的访问速度,并每秒更新约 4 亿个参数。
  • 在 50 台学习者机器(每台 16 核 CPU 和 16 GB 内存)上,单次 SGD 遍历完整训练集耗时约 2.5 小时。
  • 该模型捕捉到了有意义的语义结构,例如欧洲政客、流行明星和美国体育人物的聚类,表明其具备有效的表征学习能力。
  • 协同划分策略显著减少了更新冲突和网络流量,从而实现了高吞吐量和可扩展性。
  • 该系统展示了在单次训练运行中实现大规模超参数搜索的可行性,显著降低了调优开销。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。