中文

在多核与众核架构上并行化 Word2Vec

分布式、并行与集群计算 2016-12-26 v2 机器学习

摘要

Word2vec 是一种广泛使用的算法,用于提取词的低维向量表示。包括 Mikolov 等人在内的 SOTA 算法已经针对多核 CPU 架构进行了并行化,但它们基于带有“Hogwild”更新的向量-向量运算,这会大量消耗内存带宽,且无法高效利用计算资源。在本文中,我们提出了“HogBatch”,通过使用小批处理和负样本共享来提高算法中各种数据结构的重用性,从而允许我们使用矩阵乘法运算来表达该问题。我们还探索了在计算集群中跨节点分配 word2vec 计算的不同技术,并展示了高达 32 个节点的良好强扩展性。新算法特别适合现代多核/众核架构,尤其是 Intel 最新的 Knights Landing 处理器,使我们能够跨核心和节点实现近线性的计算扩展,并以每秒数亿词的速度进行处理,据我们所知,这是最快的 word2vec 实现。

关键词

引用

@article{arxiv.1611.06172,
  title  = {Parallelizing Word2Vec in Multi-Core and Many-Core Architectures},
  author = {Shihao Ji and Nadathur Satish and Sheng Li and Pradeep Dubey},
  journal= {arXiv preprint arXiv:1611.06172},
  year   = {2016}
}

备注

NIPS Workshop on Efficient Methods for Deep Neural Networks (2016)