NOMAD: Generating Embeddings for Massive Distributed Graphs
About
Successful machine learning on graphs or networks requires embeddings that not only represent nodes and edges as low-dimensional vectors but also preserve the graph structure. Established methods for generating embeddings require flexible exploration of the entire graph through repeated use of random walks that capture graph structure with samples of nodes and edges. These methods create scalability challenges for massive graphs with millions-to-billions of edges because single-node solutions have inadequate memory and processing capabilities. We present NOMAD, a distributed-memory graph embedding framework using the Message Passing Interface (MPI) for distributed graphs. NOMAD implements proximity-based models proposed in the widely popular LINE (Large-scale Information Network Embedding) algorithm. We propose several practical trade-offs to improve the scalability and communication overheads confronted by irregular and distributed graph embedding methods, catering to massive-scale graphs arising in web and science domains. NOMAD demonstrates median speedups of 10/100x on CPU-based NERSC Perlmutter cluster relative to the popular reference implementations of multi-threaded LINE and node2vec, 35-76x over distributed PBG, and competitive embedding quality relative to LINE, node2vec, and GraphVite, while yielding 12-370x end-to-end speedups on real-world graphs.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Node Classification | Computers (random 10/10/80) | Micro-F183 | 15 | |
| Node Classification | YouTube (10% labeled nodes) | Micro F1 Score27 | 9 | |
| Node Classification | physics (10% test) | Micro-F183 | 5 | |
| Node Classification | pubmed 10% nodes (test) | Micro F162 | 5 | |
| Node Classification | photo (10% test nodes) | Micro-F189 | 5 | |
| Node Classification | ogbn-arxiv 10% nodes (test) | Micro-F154 | 5 | |
| Node Classification | ogbn-products 10% nodes (test) | Micro-F172 | 5 | |
| Node Classification | ogbn-proteins (10% test) | Micro-F166 | 4 | |
| Node Classification | reddit 10% nodes (test) | Micro-F192 | 4 | |
| Graph Embedding | Pubmed | Speedup12 | 1 |