Getting started with Snap Machine Learning (Snap ML)

Find information about getting started with SNAP ML

This release of PowerAI includes Snap Machine Learning (Snap ML). Snap ML is a library for training generalized linear models. It is being developed at IBM® with the vision to remove training time as a bottleneck for machine learning applications. Snap ML supports many classical machine learning models and scales gracefully to data sets with billions of examples or features. It also offers distributed training, GPU acceleration, and supports sparse data structures.

The Snap ML library offers three different packages:

snap-ml-local
snap-ml-local is used for machine learning on a single machine. Currently, this package includes two python modules:
  • snap_ml
  • pai4sk
The pai4sk module is an integrated version of scikit-learn and snap_ml. For this release, pai4sk is a technology preview.

For more information about snap-ml-local, see /opt/DL/snap-ml-local/doc/README.md.

snap-ml-mpi
snap-ml-mpi is used for distributed training of machine learning models across a cluster of machines.

For more information about snap-ml-mpi, see /opt/DL/snap-ml-mpi/doc/README.md.

snap-ml-spark
Similar to snap-ml-mpi, the snap-ml-spark package offers distributed training of models across a cluster of machines. The library is available through a spark.ml-like interface and can seamlessly be integrated into existing pySpark application. This package is a technology preview.

For more information about snap-ml-mpi, see /opt/DL/snap-ml-spark/doc/README.md.

Note: The multi-class classification feature of all three packages is a technology preview for this release.