本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
保护分布式训练作业中机器学习计算实例之间的通信
默认情况下,Amazon SageMaker 在 Amazon Virtual Private Cloud (Amazon VPC) 中运行训练作业,以帮助您保持数据安全。您可以通过配置一个私有 VPC 添加另一层安全性来保护您的训练容器和数据。分布式 ML 框架和算法通常传输与模型直接相关的信息(如权重),而不是传输训练数据集。当执行分布式训练时,您可以进一步保护在实例之间传输的数据。这可以帮助您遵守法规要求。为此,请使用容器间流量加密。
启用容器间流量加密可能会增加训练时间,在您使用分布式深度学习算法时尤其如此。启用容器间流量加密不会影响具有单个计算实例的训练作业。但是,对于具有多个计算实例的训练作业,对训练时间的影响取决于计算实例之间的通信量。对于受影响的算法,添加此另一层安全性还会增加成本。大多数 SageMaker 内置算法(如 XGBoost、DeepAR 和线性学习器)的训练时间通常不受影响。
您可以为训练作业或超级参数优化作业启用容器间流量加密。您可以使用 SageMaker APIs 或控制台启用容器间流量加密。
有关在私有 VPC 中运行训练作业的信息,请参阅为 SageMaker 训练作业授予您的 Amazon VPC 中的资源的访问权限。
启用容器间流量加密 (API)
在使用 APIs 在训练或超参数优化作业上启用容器间流量加密之前,您需要将入站和出站规则添加到私有 VPC 的安全组。
启用容器间流量加密 (API)
-
在安全组中为您的私有 VPC 添加以下入站和出站规则:
协议 端口范围 源 UDP
500
Self Security Group ID
50
N/A
Self Security Group ID
-
当您向
CreateTrainingJob
或 API 发送请求时,请为CreateHyperParameterTuningJob
True
和 参数 指定 。EnableInterContainerTrafficEncryption
AWS 安全组控制台可能会将显示端口范围显示为“全部”,但是 EC2 会忽略指定的端口范围,因为它不适用于 ESP 50 IP 协议。
启用容器间流量加密(控制台)
在训练作业中启用容器间流量加密
在训练作业中启用容器间流量加密
-
通过以下网址打开 Amazon SageMaker 控制台:https://console.amazonaws.cn/sagemaker/
。 -
在导航窗格中,选择 Training (训练),然后选择 Training jobs (训练作业)。
-
选择 Create training job (创建训练作业)。
-
在 Network (网络) 下,选择 VPC。可以使用默认 VPC 或您创建的 VPC。
-
选择 Enable inter-container traffic encryption (启用容器间流量加密)。
启用容器间流量加密后,完成训练作业的创建。有关更多信息,请参阅步骤 4:训练模型。
在超级参数优化作业中启用容器间流量加密
在超级参数优化作业中启用容器间流量加密
-
通过以下网址打开 Amazon SageMaker 控制台:https://console.amazonaws.cn/sagemaker/
。 -
在导航窗格中,选择 Training (训练),然后选择 Hyperparameter tuning jobs (超参数优化作业)。
-
选择 Create hyperparameter tuning job (创建超参数优化作业)。
-
在 Network (网络) 下,选择 VPC。可以使用默认 VPC 或您创建的 VPC。
-
选择 Enable inter-container traffic encryption (启用容器间流量加密)。
启用容器间流量加密后,完成超级参数优化作业的创建。有关更多信息,请参阅配置并启动超参数优化作业。