部署多容器终端节点 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

部署多容器终端节点

SageMaker 多容器终端使客户能够部署多个容器,以便在 SageMaker 终端节点上部署不同的模型。容器可以作为推理管道按顺序运行,也可以使用直接调用单独访问每个容器,以提高端点利用率并优化成本。

有关按顺序调用多容器终端节点中容器的信息,请参阅部署推理管道.

有关在多容器终端节点中调用特定容器的信息,请参阅使用具有直接调用功能的多容器终端节点

创建多容器终端节点(Bto 3)

通过调用创建多容器终端节点CreateModelCreateEndpointConfig, 和CreateEndpointAPI,就像您创建任何其他终端节点一样。您可以按顺序运行这些容器作为推理管道,或使用直接调用运行每个单独的容器。多容器终端节点具有以下要求,当您调用create_model

  • 使用Containers参数而不是PrimaryContainer,并将多个容器包含在Containers参数。

  • 这些区域有:ContainerHostname对于具有直接调用的多容器终端节点中的每个容器都是必需的。

  • 设置ModeInferenceExecutionConfig字段中返回的Direct用于直接调用每个容器,或Serial来使用容器作为推理管道。默认模式为 Serial

注意

目前,多容器终端节点最多支持 15 个容器。

以下示例创建多容器模型用于直接调用。

  1. 创建容器元素和InferenceExecutionConfig与直接调用。

    container1 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage1:mytag', 'ContainerHostname': 'firstContainer'} container2 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage2:mytag', 'ContainerHostname': 'secondContainer' } inferenceExecutionConfig = {'Mode': 'Direct' }
  2. 使用容器元素创建模型,并将InferenceExecutionConfig字段中返回的子位置类型。

    import boto3 sm_client = boto3.Session().client('sagemaker') response = sm_client.create_model( ModelName = 'my-direct-mode-model-name', InferenceExecutionConfig = inferenceExecutionConfig, ExecutionRoleArn = role, Containers = [container1, container2])

要创建一个 onint,然后你可以调用创建终端节点配置创建终端节点就像创建任何其他端点一样。

更新多容器终端节点

要更新多容器终端节点,请完成以下步骤。

  1. Call创建模型创建一个新模型,其中包含ModeInferenceExecutionConfig字段中返回的子位置类型。

  2. Call创建终端节点配置通过使用您在上一步中创建的新模型来创建具有不同名称的新端点配置。

  3. Call更新终端节点以使用您在上一步中创建的新终端节点配置更新终端节点。

删除多容器终端节点

要删除终端节点,请调用删除终端节点,并提供您希望删除的终端节点的名称作为EndpointName参数。