Parallelizing Word2Vec in Multi-Core and Many-Core Architectures

11/18/2016
by   Shihao Ji, et al.
0

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. 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 compute 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/15/2016

Parallelizing Word2Vec in Shared and Distributed Memory

Word2Vec is a widely used algorithm for extracting low-dimensional vecto...
research
01/13/2022

SparseP: Towards Efficient Sparse Matrix Vector Multiplication on Real Processing-In-Memory Systems

Several manufacturers have already started to commercialize near-bank Pr...
research
02/19/2020

Honing and proofing Astrophysical codes on the road to Exascale. Experiences from code modernization on many-core systems

The complexity of modern and upcoming computing architectures poses seve...
research
12/25/2020

Graph500 from OCaml-Multicore Perspective

OCaml is an industrial-strength, multi-paradigm programming language, wi...
research
09/07/2018

A Microbenchmark Characterization of the Emu Chick

The Emu Chick is a prototype system designed around the concept of migra...
research
03/28/2022

Vector In Memory Architecture for simple and high efficiency computing

Data movement is one of the main challenges of contemporary system archi...

Please sign up or login with your details

Forgot password? Click here to reset