本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
IP 洞察
Amazon SageMaker IP Insights 是一种无人监督的学习算法,用于学习 IPv4 地址的使用模式。它旨在捕获 IPv4 地址与各种实体(例如用户 ID 或账号)之间的关联。例如,您可以使用它来识别试图从异常 IP 地址登录 Web 服务的用户。或者,您可以使用它来识别尝试从异常 IP 地址创建计算资源的账户。经过训练的 IP Insight 模型可以托管在端点上,以进行实时预测或用于处理批量转换。
SageMaker IP Insights 以(实体、IPv4 地址)配对的形式提取历史数据,并了解每个实体的 IP 使用模式。当使用(实体、IPv4 地址)事件进行查询时, SageMaker IP Insights 模型会返回一个分数,该分数可以推断事件模式的异常程度。例如,当用户尝试从 IP 地址登录时,如果 IP 洞察分数足够高,Web 登录服务器会决定触发多重身份验证系统。在更高级的解决方案中,您可以将 IP 洞察分数提供到另一个机器学习模型中。例如,您可以将 IP Insight 分数与其他功能相结合,对其他安全系统(例如来自 Amazon 的安全系统)的发现结果进行排名 GuardDuty。
SageMaker IP Insights 算法还可以学习 IP 地址的矢量表示形式,即嵌入。您可以在下游机器学习任务中,使用向量编码嵌入作为特征,从而利用在 IP 地址中观察到的信息。例如,在衡量集群和可视化任务中 IP 地址之间的相似性等任务中,您可以使用它们。
IP 洞察的输入/输出接口
训练和验证
SageMaker IP Insights 算法支持训练和验证数据通道。它使用可选的验证通道根据预定义的负采样策略计算 area-under-curve (AUC) 分数。AUC 指标验证模型在区分正样本和负样本方面做得如何。训练和验证数据内容类型需要为 text/csv
格式。CSV 数据的第一列是不透明字符串,为实体提供唯一标识符。第二列是采用点分十进制表示法的 IPv4 地址。IP 洞察目前仅支持文件模式。有关更多信息以及示例,请参阅 IP 洞察训练数据格式。
推理
对于推理,IP 洞察支持 text/csv
、application/json
和 application/jsonlines
数据内容类型。有关提供的用于推理的常用数据格式的更多信息 SageMaker,请参阅用于推理的常用数据格式。IP 洞察推理返回的输出格式 application/json
或 application/jsonlines
。这些输出数据中的每个记录包含各个输入数据点对应的 dot_product
(或相容性分数)。有关更多信息以及示例,请参阅 IP 洞察推理数据格式。
IP 洞察算法的 EC2 实例建议
SageMaker IP Insights 算法可以在 GPU 和 CPU 实例上运行。对于训练作业,我们建议使用 GPU 实例。但是,对于具有大型训练数据集的某些工作负载,分布式 CPU 实例可降低训练成本。对于推理,我们建议使用 CPU 实例。IP 洞察支持 P2、P3、G4dn 和 G5 GPU 系列。
IP 洞察算法的 GPU 实例
IP 洞察支持所有可用的 GPU。如果您需要加快训练速度,我们建议您从单个 GPU 实例开始,例如 ml.p3.2xlarge,然后迁移到多 GPU 环境,例如 ml.p3.8xlarge 和 ml.p3.16xlarge。多 GPU 会自动将训练数据拆分成小批次以便在其上使用。如果从单 GPU 切换到多 GPU,则按照使用的 GPU 数量均分 mini_batch_size
。您可能需要增加 mini_batch_size
的值来补偿这种情况。
IP 洞察算法的 CPU 实例
我们推荐的 CPU 实例类型在很大程度上取决于实例的可用内存和型号大小。模型大小由两个超参数决定:vector_dim
和 num_entity_vectors
。支持的最大模型大小为 8 GB。下表针对各种模型大小,列出了基于这些输入参数部署的典型 EC2 实例类型。在表 1 中,第一列的 vector_dim
值范围为 32 到 2048,第一行的 num_entity_vectors
值范围为 1 万到 5000 万。
vector_dim \
num_entity_vectors . |
10000 | 50000 | 100000 | 500,000 | 1000000 | 5,000,000 | 10,000,000 | 50,000,000 |
---|---|---|---|---|---|---|---|---|
32 |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.xlarge |
ml.m5.2xlarge |
ml.m5.4xlarge |
|
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.2xlarge |
ml.m5.2xlarge |
|
|
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.2xlarge |
ml.m5.4xlarge |
|
|
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.xlarge |
ml.m5.4xlarge |
||
|
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.2xlarge |
|||
|
ml.m5.large |
ml.m5.large |
ml.m5.large |
ml.m5.xlarge |
ml.m5.4xlarge |
|||
|
ml.m5.large |
ml.m5.large |
ml.m5.xlarge |
ml.m5.xlarge |
mini_batch_size
、num_ip_encoder_layers
、random_negative_sampling_rate
和 shuffled_negative_sampling_rate
超参数的值还会影响所需的内存量。如果这些值很大,则可能需要使用比正常更大的实例类型。
IP 洞察示例笔记本
有关演示如何训练 SageMaker IP Insights 算法并使用该算法进行推断的示例笔记本,请参阅 SageMakerIP Insights 算法简介