Models overview
Cloudera AI allows data scientists to build, deploy, and manage models as REST APIs to serve predictions.
Challenge
Data scientists often develop models using a variety of open source Python and R packages. However, exposing those models to stakeholders for testing can be challenging. In many organizations, deploying a model requires involvement from a separate DevOps team, which typically has its own policies and processes for introducing a new code.
For example, a model developed in Python by data scientists might be rebuilt in another language by the DevOps team before deployment. This approach can be slow and error-prone, sometimes delaying model deployment for months. It also introduces compliance risks, since a redeveloped model might not accurately reproduce the original model.
Once a model has been deployed, you then need to ensure that the devops team has a way to rollback the model to a previous version if needed. This means the data science team also needs a reliable way to retain history of the models they build and ensure that they can rebuild a specific version if needed. At any time, data scientists (or any other stakeholders) must have a way to accurately identify which version of a model is/was deployed.
Solution
- Create a snapshot of model code, model parameters, and dependencies.
- Package a trained model into an immutable artifact and provide basic serving code.
- Add a REST endpoint that automatically accepts input parameters matching the function, and that returns a data structure that matches the function’s return type.
- Save the model along with some metadata.
- Deploy a specified number of model API replicas, automatically load balanced.
