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)
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).