Parallelizing Word2Vec in Shared and Distributed Memory
Shihao Ji, Nadathur Satish, Sheng Li, and Pradeep Dubey

TL;DR
This paper presents a scalable parallel implementation of Word2Vec that leverages minibatching and matrix operations to efficiently utilize multi-core and distributed systems, achieving high processing speeds.
Contribution
It introduces a novel approach combining minibatching and distributed computing techniques to significantly improve Word2Vec's scalability and efficiency.
Findings
Achieves near-linear scaling across multiple cores and nodes
Processes hundreds of millions of words per second
Outperforms previous Word2Vec implementations in speed
Abstract
Word2Vec is a widely used algorithm for extracting low-dimensional vector representations of words. It generated considerable excitement in the machine learning and natural language processing (NLP) communities recently due to its exceptional performance in many NLP applications such as named entity recognition, sentiment analysis, machine translation and question answering. State-of-the-art algorithms including those by Mikolov et al. have been parallelized for multi-core CPU architectures but are based on vector-vector operations that are memory-bandwidth intensive and do not efficiently use computational resources. In this paper, we improve reuse of various data structures in the algorithm through the use of minibatching, hence allowing us to express the problem using matrix multiply operations. We also explore different techniques to distribute word2vec computation across nodes in a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTopic Modeling · Advanced Graph Neural Networks · Natural Language Processing Techniques
