Hello Guys. Today’s topic of our discussion is HUMMINGBIRD-ML.
We all have used traditional ML Models like Linear Regression, Logistic Regression, Decision Tree, etc, in the initial stages of our way in the field of Machine Learning.
Unfortunately, traditional ML libraries and toolkits (such as Scikit-Learn, ML.NET, and H2O) are usually developed to run on CPU environments. Which gives lack in performance of a model.
they do not use abstraction such as tensors to represent their computation. The lack of this extraction means that for these frameworks to make use of hardware acceleration, one would need to have many implementations ((for each operator) x (for each hardware backend)) which does not scale well. This means that traditional ML is often missing out on the potential accelerations that deep learning and neural networks have.
Frameworks like TensorFlow, PyTorch, and ONNX Runtime are built on the idea of individual units and have tensors as their basic computational unit. These frameworks can run efficiently on hardware accelerators like GPUs and their prediction performance can be further optimized with compiler frameworks such as TVM(TVM is an open source deep learning compiler stack for CPUs, GPUs, and specialized accelerators).
Hummingbird compiles traditional ML pipelines into tensor computations to take advantage of the optimizations that are being implemented for neural network systems. This allows users to seamlessly leverage hardware acceleration.
HummingBird converts scikit_learn, ONNX.ML, etc models to PyTorch framework so that it can run with GPUs and attain a great performance.
This first open-source release of Hummingbird currently supports converting the following trees to PyTorch:
1. Fundamentals of AI, ML and Deep Learning for Product Managers
2. The Unfortunate Power of Deep Learning
3. Graph Neural Network for 3D Object Detection in a Point Cloud
4. Know the biggest Notable difference between AI vs. Machine Learning
Have a look at the performance and efficiency difference between scikit-learn model, Pytorch with CPU as resource and Pytorch with GPU as hardware accelerator.
That’s all about HummingBird, in upcoming months Microsoft is planning to introduce some more supports to HummingBird.
So Stay Tuned, Thank You!