In my last post, I talked about how Deep Neural Network(DNN) frameworks like Pytorch and TensorFlow utilize Tensor operations for fast computations using GPU.
But what if this could be extended to standard Machine Learning libraries like Sklearn and XGBoost?
Enterprises usually carry out the scoring of ML models multiple times. This greatly adds to the latency issues as they are slow.
The idea behind Hummingbird is that you can ‘convert’ your standard ML pipelines into DNNs and then utilize the power of Tensor operations along with GPU memory. By doing this, the inference times are significantly reduced!
First we train the model using standard ways. The pipeline, which includes the pre-processing and modelling, is then converted into a Pytorch based DNN by Hummingbird, which is used for carrying out predictions.
Hummingbird currently supports most of the mainly used ML algorithms like Linear regression, Tree-based algorithms, XGBoost, etc. and pre-processors like Scaling, PCA, Feature Selection, etc.
The best part is that it takes just one function, Convert(), to completely convert your standard pipeline into a DNN! Check out the difference in times taken by Sklearn and Hummingbird in the plot below.