Verta Model Catalog is the place to publish models that are ready to be consumed by other models or applications.
The basic concept in Verta Model Catalog is a Registered Model. A registered model has a name, permissions and metadata associated with it. A registered model contains a collection of Registered Model Versions.
A Registered Model Version (RMV) is the unit of reuse, deployment, and monitoring, e.g., if you are using a specific Registered Model, you will be using a version of that registered model or the RMV.
Since the definition of a “model” varies from team to team, e.g., model weights only, ONNX, containers etc., Verta distinguishes between three model version types as follows:
- Standard Verta Models: Models that follow the Verta Model Specification and can be deployed from within Verta to the supported deployment systems (e.g., Verta Inference, Spark, Kafka, SageMaker etc.),
- User Containerized Models: Fully packaged model containers that are to be run within Verta,
- Custom models: completely flexible, packaging and deployment managed by the user
The Verta Model specification defines the information required by Verta Standard Models. It includes:
- Implementation language (required)
- Model class deriving from the VertaModelBase class (required)
- Artifacts the model depends on (optional)
- Code dependencies (optional)
- Library dependencies
- OS dependencies (optional)
This is the base class that Verta Standard Models should derive from. A brief overview is provided below; the full documentation can be found in the relevant API reference (e.g., Python).
from verta.registry import VertaModelBase
def __init__(self, artifacts):
def predict(self, data):
Note: the definition of a Verta Standard Model is flexible enough to cover both traditional models as well as functions (e.g., data transformations).
See the Catalog Guides for examples of how to create and interact with Registered Models and Registered Model Versions within Verta.