A Model represents the results of a Training Pipeline. It is a collection of Model Versions.
Each time a Training Pipeline run finishes, it will publish a new version to the corresponding Model.
A Model has metadata about:
Which Pipeline created it
Who created it
Model versions that it has
Every Model Version belongs to a model. It represents:
A model binary that was generated after running your training script(s)
Associated metadata (which training run generated it, when was it created)
Within the same model, each model version differs by the parameters that are used to create the Training Pipeline runs. For example, model versions generated from the same Training Pipeline might have different algorithmic performance due to different model hyper-parameters or training data set (e.g different date partitions).
Model Version artefacts can be downloaded via the UI or API as a binary file.
Model Versions can be used by either deploying them as a Model Endpoint, or via a Batch Scoring Pipeline. Model Endpoint is suited for real time inference, while Batch Scoring is suited for batch inference.
Deploying a Model Version as a Model Endpoint is achieved in Bedrock by ensuring that the Git repo contains the following:
bedrock.hcl file with the
serve stanza completed.
A valid file that contains your Serving Code (eg.
Bedrock will help orchestrate and manage the starting of a HTTP or GRPC model server.
For documentation on serve stanza, please see bedrock.hcl documentation.
One Model Version can be deployed multiple times to the same or different model endpoints.
To gracefully update a model endpoint with a newer Model Version, you can deploy the new Version to the same endpoint first, then undeploy the old version.
More details can be found in Model Endpoint documentation.
Usage of model version via batch scoring can be found in Batch Scoring pipeline documentation.