SageMaker 有两个称为管道的东西:Model Building Pipelines 和 Serial Inference Pipelines。我相信你指的是前者
模型构建管道定义机器学习工作流程中的步骤,例如预处理、超参数调整、批量转换和设置端点
串行推理管道是两个或多个 SageMaker 模型一个接一个地运行
模型构建管道在 JSON 中定义,并由 SageMaker 以某种专有的无服务器方式托管/运行
sagemaker 管道是独立的服务/功能吗?因为我看不到通过控制台创建它们的任何选项,但我确实看到了 CloudFormation 和 CDK 资源。
您可以使用API 创建/修改它们,也可以通过CLI、Python SDK 或CloudFormation 调用它们。这些都在后台使用 AWS API
您可以在 SageMaker Studio 中启动/停止/查看它们:
Left-side Navigation bar > SageMaker resources > Drop-down menu > Pipelines
sagemaker 管道本质上是代码管道吗?这些如何集成,它们有何不同?
不太可能。 CodePipeline 更多地用于构建和部署代码,而不是特定于 SageMaker。据我所知,没有直接集成,除了您可以使用 CP 启动 SM 管道
还有一个 Python SDK,这与 CDK 和 CloudFormation 有何不同?
Python SDK 是一个独立的库,以对开发人员友好的方式与 SageMaker 进行交互。它比 CloudFormation 更具动态性。让我们使用代码构建管道。而 CloudFormation 采用静态 JSON 字符串
一个非常简单的 Python SageMaker SDK 使用示例:
processor = SKLearnProcessor(
framework_version="0.23-1",
instance_count=1,
instance_type="ml.m5.large,
role=...,
)
processing_step = ProcessingStep(
name="processing",
processor=processor,
code="preprocessor.py"
)
pipeline = Pipeline(name="foo", steps=[processing_step])
pipeline.upsert(role_arn = ...)
pipeline.start()
pipeline.definition() 生成相当冗长的 JSON,如下所示:
{
"Version": "2020-12-01",
"Metadata": {},
"Parameters": [],
"PipelineExperimentConfig": {
"ExperimentName": {
"Get": "Execution.PipelineName"
},
"TrialName": {
"Get": "Execution.PipelineExecutionId"
}
},
"Steps": [
{
"Name": "processing",
"Type": "Processing",
"Arguments": {
"ProcessingResources": {
"ClusterConfig": {
"InstanceType": "ml.m5.large",
"InstanceCount": 1,
"VolumeSizeInGB": 30
}
},
"AppSpecification": {
"ImageUri": "246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-scikit-learn:0.23-1-cpu-py3",
"ContainerEntrypoint": [
"python3",
"/opt/ml/processing/input/code/preprocessor.py"
]
},
"RoleArn": "arn:aws:iam::123456789012:role/foo",
"ProcessingInputs": [
{
"InputName": "code",
"AppManaged": false,
"S3Input": {
"S3Uri": "s3://bucket/preprocessor.py",
"LocalPath": "/opt/ml/processing/input/code",
"S3DataType": "S3Prefix",
"S3InputMode": "File",
"S3DataDistributionType": "FullyReplicated",
"S3CompressionType": "None"
}
}
]
}
}
]
}
您可以使用上述 JSON 与 CloudFormation/CDK,但您构建 JSON 与 SageMaker SDK
您还可以使用 Step Function 状态机、Data Science SDK 或 Airflow 定义模型构建工作流