Parallelizing Word2Vec in Shared and Distributed Memory

By Shihao Ji, Nadathur Rajagopalan Satish, Sheng R. Li, Pradeep K. Dubey. 2016

72 citations recorded by the source corpus.

Word2vec is a widely used algorithm for extracting low-dimensional vector representations of words. State-of-the-art algorithms including those by Mikolov et al. [1] , [2] have been parallelized for multi-core CPU architectures, but are based on vector-vector operations with “Hogwild” updates that are memory-bandwidth intensive and do not efficiently use computational resources. In this paper, we propose “HogBatch” by improving reuse of various data structures in the algorithm through the use of minibatching and negative sample sharing, hence allowing us to express the problem using matrix multiply operations. We also explore different techniques to distribute word2vec computation across nodes in a computer cluster, and demonstrate good strong scalability up to 32 nodes. The new algorithm is particularly suitable for modern multi-core/many-core architectures, especially Intel's latest Knights Landing processors, and allows us to scale up the computation near linearly across cores and nodes, and process hundreds of millions of words per second, which is the fastest word2vec implementation to the best of our knowledge. We released the source code for reproducible research and general usage.

Subfields: Artificial Intelligence, Computer Vision and Pattern Recognition, Natural Language Processing, Representation & Self-Supervised Learning

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Liangjie Hong
  2. Yue Shi
  3. Ting-Li Chen
  4. Yizhou Sun
  5. James A. Evans
  6. Matt Taddy
  7. Austin C. Kozlowski
  8. Geoffrey E. Hinton

In Computer Vision and Pattern Recognition

  1. Yizhou Sun
  2. Yue Shi
  3. Ting-Li Chen
  4. Matt Taddy
  5. Liangjie Hong
  6. Luc Van Gool
  7. Dacheng Tao
  8. Trevor Darrell

In Natural Language Processing

  1. James A. Evans
  2. Yue Shi
  3. Ting-Li Chen
  4. Yizhou Sun
  5. Matt Taddy
  6. Liangjie Hong
  7. Austin C. Kozlowski

In Representation & Self-Supervised Learning

  1. Yizhou Sun
  2. Ting-Li Chen
  3. James A. Evans
  4. Yue Shi
  5. Matt Taddy
  6. Liangjie Hong
  7. Austin C. Kozlowski
  8. Geoffrey E. Hinton

Citations in the corpus