保护分布式训练作业中机器学习计算实例之间的通信 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

保护分布式训练作业中机器学习计算实例之间的通信

默认情况下,亚马逊在亚马逊虚拟私有云(AmazonVPC)中 SageMaker 运行训练作业,以帮助保护您的数据安全。您可以通过配置有来增加另一个安全级别来保护您的训练容器和数据VPC。分布式机器学习框架和算法通常传输与模型直接相关的信息(如权重),而不是传输训练数据集。当执行分布式训练时,您可以进一步保护在实例之间传输的数据。这可以帮助您遵守法规要求。为此,请使用容器间流量加密。

注意

对于医疗保健领域的使用案例,最佳安全实践是对节点之间的通信进行加密。

启用容器间流量加密可能会延长训练时间,尤其是在使用分布式深度学习算法的情况下。启用容器间流量加密不会影响具有单个计算实例的训练作业。但是,对于具有多个计算实例的训练作业,对训练时间的影响取决于计算实例之间的通信量。对于受影响的算法,添加此另一层安全性还会增加成本。大多数 SageMaker 内置算法(例如 Deepar 和线性学习器)的训练时间通常不会受到影响。XGBoost

您可以为训练作业或超级参数优化作业启用容器间流量加密。您可以使用 SageMaker APIs或控制台启用容器间流量加密。

有关以私有模式运行训练作业的信息VPC,请参阅让 SageMaker 培训工作访问您的 Amazon 中的资源 VPC

启用容器间流量加密 () API

在使用对训练或超参数调整作业启用容器间流量加密之前APIs,请将入站和出站规则添加到私有安全组VPC中。

启用容器间流量加密 () API
  1. 在私有安全组中添加以下入站和出站规则VPC:

    协议 端口范围 来源

    UDP

    500

    Self Security Group ID

    ESP 50

    N/A

    Self Security Group ID

  2. CreateTrainingJob或发送请求时 CreateHyperParameterTuningJobAPI,请TrueEnableInterContainerTrafficEncryption参数指定。

注意

对于ESP 50协议, Amazon 安全组控制台可能会将端口范围显示为 “全部”。但是,Amazon EC2 会忽略指定的端口范围,因为它不适用于 ESP 50 IP 协议。

启用容器间流量加密(控制台)

在训练作业中启用容器间流量加密

在训练作业中启用容器间流量加密
  1. 打开 Amazon SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/

  2. 在导航窗格中,选择 Training (训练),然后选择 Training jobs (训练作业)

  3. 选择 Create training job (创建训练作业)

  4. 在 “网络” 下,选择一个VPC。您可以使用默认值VPC或已创建的默认值。

  5. 选择启用容器间流量加密

启用容器间流量加密后,完成训练作业的创建。有关更多信息,请参阅 步骤 4:训练模型

在超级参数优化作业中启用容器间流量加密

在超级参数优化作业中启用容器间流量加密
  1. 打开 Amazon SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/

  2. 在导航窗格中,选择训练,然后选择超参数优化作业

  3. 选择 Create hyperparameter tuning job (创建超参数优化作业)

  4. 在 “网络” 下,选择一个VPC。您可以使用默认值VPC或您创建的默认值。

  5. 选择启用容器间流量加密

启用容器间流量加密后,完成超级参数优化作业的创建。有关更多信息,请参阅 配置并启动超参数调优作业