Skip to main content
Version: Preview

SageMaker

Experimental
Creates:
AssetsLineageRun History

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The SageMaker plugin discovers models, inference endpoints, model registry groups, feature groups and training jobs from Amazon SageMaker.

Models and model package groups are both catalogued as Models, told apart by the kind metadata field. A registry group named the same as a deployed model resolves to the same asset. Feature groups are catalogued as Datasets, with their feature definitions as the schema, and training jobs as Jobs with run history.

Training jobs are off by default because an account keeps a long job history. Turn them on with include_training_jobs: true.

Lineage

EdgeMeaning
S3 bucket FEEDS modelThe bucket holding the model artifact
Model FEEDS endpointA production variant serves the model
S3 bucket FEEDS training jobA training channel reads from the bucket
Training job PRODUCES modelThe model's artifact is the one the job wrote
Feature group PRODUCES Glue tableThe offline store is queryable through the table
Feature group PRODUCES S3 bucketThe offline store writes to the bucket

Edges into S3 and Glue name assets those plugins own. Marmot drops an edge whose other end is not catalogued, so run the S3 and Glue plugins alongside this one to see them.

Required Permissions

AWS Configuration

See AWS Configuration for the supported AWS configuration options.

Example Configuration


credentials:
region: "us-east-1"
profile: "production"
tags_to_metadata: true
include_endpoints: true
include_model_packages: true
include_feature_groups: true
include_training_jobs: false
tags:
- "aws"
- "ml"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
credentialsAWSCredentialsfalseAWS credentials configuration
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
include_endpointsboolfalseWhether to discover inference endpoints
include_feature_groupsboolfalseWhether to discover feature groups from the feature store
include_model_packagesboolfalseWhether to discover model package groups from the model registry
include_tags[]stringfalseList of AWS tags to include as metadata. By default, all tags are included.
include_training_jobsboolfalseWhether to discover training jobs. Accounts keep a long job history, so this is off by default
tagsTagsConfigfalseTags to apply to discovered assets
tags_to_metadataboolfalseConvert AWS tags to Marmot metadata

Available Metadata

The following metadata fields are available:

FieldTypeDescription
algorithm_imagestringContainer image the job trained with
algorithm_namestringMarketplace algorithm the job trained with
arnstringThe ARN of the model, endpoint, feature group or training job
column_namestringFeature name
containers[]objectContainers of an inference pipeline, each with its image, model_data_url and mode
created_atstringWhen the resource was created
data_capture_s3_uristringS3 location captured requests and responses are written to
data_typestringFeature type (String, Integral, Fractional)
descriptionstringDescription of the model package group or feature group
domainstringMachine learning domain the model package belongs to
ended_atstringWhen training ended
endpoint_configstringName of the endpoint configuration in use
environmentmap[string]stringContainer environment variables, with credential-looking values masked
event_time_featurestringFeature holding the event timestamp
execution_role_arnstringIAM role the model runs under
failure_reasonstringWhy the training job failed
final_metricsmap[string]float32Last value the job reported for each metric
glue_tablestringGlue table the offline store is queryable through, as database.table
hyperparametersmap[string]stringHyperparameters the job ran with
imagestringContainer image the model is served from
input_channelsmap[string]stringTraining channels, each mapping a channel name to its S3 location
instance_countint32Number of instances the job ran on
instance_typestringInstance type the job ran on
is_nullableboolFalse for the record identifier and event time features, which every record must carry
is_primary_keyboolWhether the feature is the record identifier
kindstringWhich kind of model this is (model, model_package_group)
kms_key_idstringKMS key the endpoint storage volume is encrypted with
last_modified_atstringWhen the endpoint was last modified
latest_approval_statusstringApproval status of the newest version
latest_imagestringContainer image of the newest approved version
latest_model_data_urlstringS3 artifact of the newest approved version
latest_versionint32Newest version number in the model package group
modestringContainer mode (SingleModel or MultiModel)
model_artifacts_s3_uristringS3 location of the model artifact the job produced
model_data_urlstringS3 location of the model artifact
model_quality_statistics_s3_uristringS3 location of the model quality statistics report
network_isolationboolWhether the model container runs without network access
offline_store_s3_uristringS3 location of the offline store
online_storeboolWhether the online store is enabled
output_s3_pathstringS3 prefix the job wrote its output to
record_identifierstringFeature that identifies a record
regionstringAWS region the resource lives in
sample_payload_urlstringS3 location of a sample inference payload
started_atstringWhen training started
statusstringStatus of the resource
supported_content_types[]stringContent types the model package accepts
supported_response_mime_types[]stringResponse MIME types the model package returns
taskstringMachine learning task the model package performs
urlstringLink to the resource in the AWS console. Not set for model package groups or feature groups, which the classic console has no route to
variants[]objectProduction variants, each with its name, model, instance_type, instance_count, weight and serverless flag
version_countintNumber of versions in the model package group
vpc_subnet_countintNumber of VPC subnets the model is attached to

AWS resource tags are added as tag_<key> when tags_to_metadata is on.