IP Insights - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

IP Insights

Amazon SageMaker IP 洞察是一種無監督的學習演算法,可學習 IPv4 地址的使用模式。它旨在擷取 IPv4 地址和各種實體之間的關聯,例如使用者 ID 或帳戶號碼。例如,您可以使用它來識別嘗試從異常 IP 地址登入 web 服務的使用者。或是,您可以使用它來識別嘗試從異常 IP 地址建立運算資源的帳戶。訓練後的 IP Insights 模型可以託管在端點上,用於進行即時預測或處理批次轉換。

SageMaker IP 洞察會以 (實體、IPv4 位址) 配對形式擷取歷史資料,並學習每個實體的 IP 使用模式。使用 (實體、IPv4 位址) 事件進行查詢時, SageMaker IP 洞察模型會傳回分數,以推斷事件模式的異常情況。例如,當使用者嘗試從一個 IP 地址登入時,若 IP Insights 分數夠高,web 登入伺服器便可以判斷觸發多重驗證系統。在更進階的解決方案中,您可以將 IP Insights 分數提供給另一個機器學習模型。例如,您可以將 IP Insight 分數與其他功能結合,以對其他安全系統 (例如 Amazon 的安全系統) 的發現進行排名 GuardDuty。

SageMaker IP 洞察演算法也可以學習 IP 位址的向量表示,稱為內嵌。您可以使用向量編碼的內嵌,做為使用 IP 地址內所觀察到資訊的下游機器學習任務中的特徵。例如,您可以在任務 (例如測量叢集中 IP 地址及虛擬化任務中 IP 地址之間的相似度) 中使用他們。

IP Insights 演算法的輸入/輸出介面

訓練與驗證

SageMaker IP 洞察演算法支援訓練和驗證資料通道。它使用可選的驗證通道來計算預定義的負採樣策略的 area-under-curve (AUC)分數。AUC 指標會驗證模型區別正面及負面樣本的程度。訓練和驗證資料內容類型必須是 text/csv 格式。CSV 資料的第一欄是一個不透明字串,提供實體的唯一識別符。第二欄則是一個 IPv4 地址,以小數點表示法表示。IP Insights 目前僅支援檔案模式。如需詳細資訊及一些範例,請參閱IP Insights 訓練資料格式

推論

針對推論,IP Insights 支援 text/csvapplication/jsonapplication/jsonlines 資料內容類型。如需有關由提供的一般推論資料格式的詳細資訊 SageMaker,請參閱推論的常用資料格式。IP Insights 推論會傳回格式化成 application/jsonapplication/jsonlines 的輸出。輸出資料中的每一筆記錄都包含每一個輸入資料點的對應 dot_product (或相容性分數)。如需詳細資訊及一些範例,請參閱IP Insights 推論資料格式

IP Insights 演算法的 EC2 執行個體建議事項

SageMaker IP 深入解析演算法可以在 GPU 和 CPU 執行個體上執行。針對訓練任務,我們建議使用 GPU 執行個體。但是,針對具有大型訓練資料集的特定工作負載,分散式 CPU 執行個體可能可以減少訓練成本。針對推論,我們建議使用 CPU 執行個體。IP Insights 可支援 P2、P3、G4dn 和 G5 GPU 系列。

IP Insights 演算法的 GPU 執行個體

IP Insights 支援所有可用的 GPU。若您需要加速訓練,我們建議從單一 GPU 執行個體開始,例如 ml.p3.2xlarge,然後移動到多 GPU 環境,例如 ml.p3.8xlarge 和 ml.p3.16xlarge。多 GPU 會自動在其中分割訓練資料的迷你批次。若您從單一 GPU 切換到多個 GPU,mini_batch_size 會平均分割為所使用的 GPU 數量。您可以會希望增加 mini_batch_size 的值來彌補此行為。

IP Insights 演算法的 CPU 執行個體

我們建議的 CPU 執行個體類型大部分會取決於執行個體的可用記憶體和模型大小。模型大小會由兩個超參數決定:vector_dimnum_entity_vectors。支援的模型大小上限是 8 GB。下表會根據不同模型大小的這些輸入參數,列出您會部署的典型 EC2 執行個體類型。在表 1 中,第一欄的 vector_dim 值範圍介於 32 到 2048 之間,而第一列的 num_entity_vectors 值範圍則介於 10,000 到 50,000,000 之間。

vector_dim \ num_entity_vectors. 10,000 50,000 100,000 500,000 1,000,000 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 Insights 範例筆記本

如需示範如何訓練 SageMaker IP Insights 演算法並使用它執行推論的範例筆記本,請參閱 SageMakerIP 洞見演算法簡介。如需如何建立及存取可用來執行中範例的 Jupyter 筆記本執行個體的指示 SageMaker,請參閱。Amazon SageMaker Notebook 執行個體建立記事本執行個體之後,請選擇 [SageMaker 範例] 索引標籤以查看所有 SageMaker 範例的清單。若要開啟筆記本,請選擇其使用標籤,然後選擇建立複本