Skip to content
GitHubXDiscordRSS

InferenceExperiment

Learn how to create, update, and manage AWS SageMaker InferenceExperiments using Alchemy Cloud Control.

The InferenceExperiment resource lets you create and manage AWS SageMaker InferenceExperiments for evaluating different model variants in a production environment.

Create a basic InferenceExperiment with required properties and a couple of optional ones.

import AWS from "alchemy/aws/control";
const basicInferenceExperiment = await AWS.SageMaker.InferenceExperiment("basicInferenceExperiment", {
Name: "BasicInferenceExperiment",
RoleArn: "arn:aws:iam::123456789012:role/SageMakerExecutionRole",
ModelVariants: [
{
ModelName: "MyModelVariantA",
VariantName: "VariantA",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
},
{
ModelName: "MyModelVariantB",
VariantName: "VariantB",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
}
],
EndpointName: "MySageMakerEndpoint",
Description: "A simple inference experiment to compare model variants."
});

Configure an InferenceExperiment with advanced settings, including data storage configuration and shadow mode.

const advancedInferenceExperiment = await AWS.SageMaker.InferenceExperiment("advancedInferenceExperiment", {
Name: "AdvancedInferenceExperiment",
RoleArn: "arn:aws:iam::123456789012:role/SageMakerExecutionRole",
ModelVariants: [
{
ModelName: "MyModelVariantA",
VariantName: "VariantA",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
},
{
ModelName: "MyModelVariantB",
VariantName: "VariantB",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
}
],
EndpointName: "MySageMakerEndpoint",
DataStorageConfig: {
S3Path: "s3://my-bucket/inference-data/",
KmsKey: "arn:aws:kms:us-west-2:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef"
},
ShadowModeConfig: {
ShadowModelVariants: [
{
ModelName: "MyModelVariantShadow",
VariantName: "ShadowVariant",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
}
]
},
Description: "An advanced inference experiment to evaluate model performance."
});

Create an InferenceExperiment with a specific schedule for running the evaluation.

const scheduledInferenceExperiment = await AWS.SageMaker.InferenceExperiment("scheduledInferenceExperiment", {
Name: "ScheduledInferenceExperiment",
RoleArn: "arn:aws:iam::123456789012:role/SageMakerExecutionRole",
ModelVariants: [
{
ModelName: "MyModelVariantA",
VariantName: "VariantA",
InitialInstanceCount: 1,
InstanceType: "ml.m5.large"
}
],
EndpointName: "MySageMakerEndpoint",
Schedule: {
StartTime: new Date(Date.now() + 1000 * 60 * 60), // Start in 1 hour
EndTime: new Date(Date.now() + 1000 * 60 * 60 * 24), // End in 24 hours
Frequency: "Daily" // Runs every day
},
Description: "A scheduled inference experiment to evaluate model performance daily."
});