IP 洞察 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

IP 洞察

Amazon SageMaker IP 洞察是一种无监督学习算法,可以学习 IPv4 地址的使用模式。它旨在捕获 IPv4 地址与各种实体(例如用户 ID 或账号)之间的关联。例如,您可以使用它来识别试图从异常 IP 地址登录 Web 服务的用户。或者,您可以使用它来识别尝试从异常 IP 地址创建计算资源的账户。经过训练的 IP Insight 模型可以托管在端点上,以进行实时预测或用于处理批量转换。

SageMaker IP 洞察以(实体,IPv4 地址)对的形式提取历史数据,以此来学习每个实体的 IP 使用模式。使用(实体,IPv4 地址)事件进行查询时,SageMaker IP 洞察模型返回一个分数,用于推理事件模式的异常程度。例如,当用户尝试从 IP 地址登录时,如果 IP 洞察分数足够高,Web 登录服务器会决定触发多重身份验证系统。在更高级的解决方案中,您可以将 IP 洞察分数提供到另一个机器学习模型中。例如,您可以将 IP Insight 分数与其他特征结合起来,用于对其他安全系统的调查结果进行排名,例如 Amazon GuardDuty 提供的特征。

SageMaker IP 洞察算法还可以学习 IP 地址的向量表示,称为嵌入。您可以在下游机器学习任务中,使用向量编码嵌入作为特征,从而利用在 IP 地址中观察到的信息。例如,在衡量集群和可视化任务中 IP 地址之间的相似性等任务中,您可以使用它们。

IP 洞察的输入/输出接口

训练和验证

SageMaker IP 洞察算法支持训练和验证数据通道。它使用可选的验证通道,根据预定义的负采样策略,计算曲线下面积 (Area-Under-Curve) 得分。AUC 指标验证模型在区分正样本和负样本方面做得如何。训练和验证数据内容类型需要为 text/csv 格式。CSV 数据的第一列是不透明字符串,为实体提供唯一标识符。第二列是采用点分十进制表示法的 IPv4 地址。IP 洞察目前仅支持文件模式。有关更多信息以及示例,请参阅 IP 洞察训练数据格式

推理

对于推理,IP 洞察支持 text/csvapplication/jsonapplication/jsonlines 数据内容类型。有关 SageMaker 提供的推理的常见数据格式的更多信息,请参阅用于推理的常见数据格式。IP 洞察推理返回的输出格式 application/jsonapplication/jsonlines。这些输出数据中的每个记录包含各个输入数据点对应的 dot_product(或相容性分数)。有关更多信息以及示例,请参阅 IP 洞察推理数据格式

IP 洞察算法的 EC2 实例建议

SageMaker IP 洞察算法可以在 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_dimnum_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

64

ml.m5.large

ml.m5.large ml.m5.large ml.m5.large ml.m5.large ml.m5.2xlarge ml.m5.2xlarge

128

ml.m5.large

ml.m5.large ml.m5.large ml.m5.large ml.m5.large ml.m5.2xlarge ml.m5.4xlarge

256

ml.m5.large

ml.m5.large ml.m5.large ml.m5.large ml.m5.xlarge ml.m5.4xlarge

512

ml.m5.large

ml.m5.large ml.m5.large ml.m5.large ml.m5.2xlarge

1024

ml.m5.large

ml.m5.large ml.m5.large ml.m5.xlarge ml.m5.4xlarge

2048

ml.m5.large

ml.m5.large ml.m5.xlarge ml.m5.xlarge

mini_batch_sizenum_ip_encoder_layersrandom_negative_sampling_rateshuffled_negative_sampling_rate 超参数的值还会影响所需的内存量。如果这些值很大,则可能需要使用比正常更大的实例类型。

IP 洞察示例笔记本

有关说明如何训练 SageMaker IP 洞察算法并使用它执行推理的示例笔记本,请参阅 SageMaker IP 洞察算法简介。有关如何创建和访问可用于在 SageMaker 中运行示例的 Jupyter 笔记本实例的说明,请参阅 Amazon SageMaker 笔记本实例。创建笔记本实例后,选择 SageMaker 示例选项卡以查看所有 SageMaker 示例的列表。要打开笔记本,请选择其使用选项卡,然后选择创建副本