Release 1.1.0 - Self-Service ML Model Deployment
Released: Jan 31, 2023
TL;DR
This release solves one of the biggest pain points of deploying an ML model—waiting for an engineer to spin up a new dedicated service (e.g. Kubernetes) for the model. Now anyone can deploy a new serverless model themselves within Sumatra, so there's no back-and-forth between teams. Users can view and manage models directly in the Sumatra UI so you can easily track all of your models and model versions.
Featured in this release
- Deploy a model without a new microservice
- View and manage models in the UI
- Add a comment to new model versions
Deploy a model without a new microservice
Now you can create, test, and deploy a new model entirely within Sumatra. You can even push it live to production while Sumatra handles the infrastructure for you.
Sumatra can serve a wide variety models built in a wide variety of environments, as long as the final artifact is serialized to PMML. An example in scikit-learn:
# train model in sklearn then serialize with sklearn2pmml
pipeline = PMMLPipeline([
("imputer", SimpleImputer(missing_values=np.nan, strategy='mean')),
("classifier", GradientBoostingClassifier(n_estimators=100))
])
pipeline.fit(train[features], train.target)
sklearn2pmml(pipeline, "my_model.pmml")
The one-liner to deploy to Sumatra:
sumatra.create_model_from_pmml("my_model_name", "my_model.pmml")
See the Models docs for the full details.
Can I still use my own model service?
Absolutely.
Sumatra's native model inference is one of many approaches for serving ML models, based on Sumatra's real-time features. There is no requirement to migrate legacy model services. Further, you can migrate a Sumatra PMML model to a standalone service if, at any time, that better suits your needs.
View and manage models in the UI
See all of your models and their versions in one place! From the main menu, navigate to "Models". This screen displays all models you've created, and you can see all the versions by clicking on a model. The status indicators show which model versions are Processing, Ready for use, and Live in your topology.
Click a version to open the row and display the code snippet used to call the model inference function, the input/output schema, and the metadata for that model version.
Tip
Click the copy icon to easily copy and paste the snippet into the Scowl code editor to invoke model inference.
Add a comment to new model versions
When uploading a model through your Python client, there is a comment field for notes or a description of that version. Use it to explain what improved, bugs fixed, or anything else you want to include.
create_model_from_pmml("delivery_time",
"delivery_time_v0.8.0.pmml",
comment="Raised max-depth from 3 to 4")
One more thing
- Added
ArrayMin
,ArrayMax
, andArraySum
functions to Scowl
Questions or feedback?
Questions or feedback about this release? Email us at hello@sumatra.ai or message us in our Slack Community!