Snap ML: a highly-accelerated, scalable software library for machine learning
summary
Snap ML is a C++/CUDA library with scikit‑learn‑style Python bindings, MPI and Spark APIs that trains generalized linear models using GPU‑accelerated stochastic coordinate descent plus a hierarchical, communication‑aware scheme (CoCoA applied recursively). It adds out‑of‑core streaming that prioritizes data by duality gap and CUDA pipelining. On a single V100 it cuts logistic regression training time by ~10× versus TensorFlow/scikit‑learn on a sparse CTR dataset; on 16 GPUs across nodes it reports 2–3 orders of magnitude speedups on the 4.2B‑row, 1M‑feature Criteo set. Free download from IBM, not yet open source.
AI-written summary · about
chapters (16)
- 0:00Start
- 2:44Why Do We Need the Model To Be Able To Have To Handle Large-Scale Data
- 5:50Interpretability
- 8:21Where Do We Fit in the Ecosystem of Existing Libraries
- 19:13Gpu Acceleration
- 20:03Stochastic Coordinate Descent
- 22:54Performance Guarantees
- 24:31Convergence Rate
- 26:36Mpi Api
- 28:02Mpi Example
- 28:44Sparc Api
- 29:30Click-Through Rate Prediction
- 30:05Train a Machine Learning Model To Predict whether a User Will Click on an Ad
- 31:46Single Node Performance
- 39:28Why Glm
- 41:07Limitations on the Hardware and Software
related talks
30mSnap ML: Accelerated, Accurate,Efficient,Machine Learning
39mMachine Learning with Scala on Spark
16mAmeet Talwalkar, Assistant Professor of Computer Science, UCLA @ MLconf SF Part 2
22mMLOps at Snapchat: Continuous Machine Learning with Kubeflow & Spinnaker
43mLightweight, low-overhead, high-performance: machine learning directly in C++
21mConvolutional Neural Networks at scale in
17mMachine Learning at the Speed of Light with Spark
26mMLbase: A Distributed Machine Learning System
