Using SASCTL package to deploy and manage MLFlow models - a step by step introduction
- Article History
- RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
It’s no secret that SAS Viya is a platform that supports the entire analytics lifecycle and allows a wide variety of users with different skills to collaborate.
To better support our users, we want to ensure that they can interact with SAS Viya in the way that makes the most sense to them. For data scientists using Python, that is often through our open source packages, such as SWAT and SASCTL.
In this blog, we will explore what is SASCTL and introduce the new integration with MLflow.
What is SASCTL? 🧐
SASCTL is an open source package developed by SAS that allows Python data scientists to easily communicate with the SAS Viya platform. It can be used as a module or as a command line interface and gives you the ability to register models and modeling assets into SAS Model Manager directly from a Python IDE! Python Zip Model Management functionality, also known as PZMM, exists within the SASCTL package. SASCTL supports a wide variety of Python model packages including fan-favorites sklearn and xgboost.
Introducing support for MLflow 🔗
Many data scientists are leveraging MLflow, an open source MLOps platform, for managing modeling assets. To better support these users, we are integrating SASCTL with MLflow.
We currently support using SASCTL to generate and register modeling assets for MLflow models developed using a variety of common Python packages (such sklearn, statsmodels, scipy, and numpy) with plans to expand to more complex modeling packages.
Get started ⬇️
To start leveraging SASCTL with MLflow, complete the following steps:
- Install sasctl and MLflow to your Python environment.
- Import sasctl, MLflow, and infer_signature from mlflow.models.signature in your Python code.
- Build your model.
- Create the MLflow signature.
- Add the signature as a parameter for the MLflow logging function.
- Point the pzmm.MLFlowModel.readMLmodelFile() function of sasctl to the MLflow files.
- Generate the model metadata using sasctl.
- Register model into Model Manager using pzmm.ImportModel() function of sasctl.
- Use Model Manager to test, deploy and monitor the model.
🎥 The following video walks through each of the steps with code:
- Chapters
- descriptions off, selected
- captions settings, opens captions settings dialog
- captions off, selected
- default, selected
This is a modal window.
Beginning of dialog window. Escape will cancel and close the window.
End of dialog window.
This is a modal window. This modal can be closed by pressing the Escape key or activating the close button.
Other Resources
Want to learn more about SAS Model Manager and Python Models? Check out the following links!
- SASCTL Complete Model Example Notebook
- SASCTL Model Import Example Notebook
- SASCTL Examples
- Register a Python model using the Python Zip Model Management (pzmm) module
- What's New with SAS Model Manager? pzmm (Python Zip Model Management) module updates
- SAS Developers resources
If you liked the article, leave a comment below on what other enhancements you want to see to SASCTL!
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
So excited to see what's next in sasctl! 🐍