

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

# IP Insights
<a name="ip-insights"></a>

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

SageMaker AI IP Insights 會將歷史資料 (實體、IPv4 地址) 擷取成配對，然後學習每個實體的 IP 使用模式。當使用 (實體、IPv4 地址) 事件進行查詢時，SageMaker AI IP Insights 模型會傳回分數，推論事件模式的異常程度為何。例如，當使用者嘗試從一個 IP 地址登入時，若 IP Insights 分數夠高，web 登入伺服器便可以判斷觸發多重驗證系統。在更進階的解決方案中，您可以將 IP Insights 分數提供給另一個機器學習模型。例如，您可以將 IP Insights 分數與其他特徵合併，對另一個安全系統 (例如 [Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html)) 所發現的結果進行排名。

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

**Topics**
+ [IP Insights 演算法的輸入/輸出介面](#ip-insights-inputoutput)
+ [IP Insights 演算法的 EC2 執行個體建議事項](#ip-insights-instances)
+ [IP Insights 範例筆記本](#ip-insights-sample-notebooks)
+ [IP Insights 的運作方式](ip-insights-howitworks.md)
+ [IP Insights 超參數](ip-insights-hyperparameters.md)
+ [調校 IP Insights 模型](ip-insights-tuning.md)
+ [IP Insights 資料格式](ip-insights-data-formats.md)

## IP Insights 演算法的輸入/輸出介面
<a name="ip-insights-inputoutput"></a>

**訓練與驗證**

SageMaker AI IP Insights 演算法可支援訓練及驗證資料通道。它使用選擇性的驗證通道，來運算預先定義負面抽樣策略上的曲線下區域 (AUC) 分數。AUC 指標會驗證模型區別正面及負面樣本的程度。訓練和驗證資料內容類型必須是 `text/csv` 格式。CSV 資料的第一欄是一個不透明字串，提供實體的唯一識別符。第二欄則是一個 IPv4 地址，以小數點表示法表示。IP Insights 目前僅支援檔案模式。如需詳細資訊及一些範例，請參閱[IP Insights 訓練資料格式](ip-insights-training-data-formats.md)。

**推論**

針對推論，IP Insights 支援 `text/csv`、`application/json` 和 `application/jsonlines` 資料內容類型。如需 SageMaker AI 提供的推論常見資料格式詳細資訊，請參閱[推論的一般資料格式](cdf-inference.md)。IP Insights 推論會傳回格式化成 `application/json` 或 `application/jsonlines` 的輸出。輸出資料中的每一筆記錄都包含每一個輸入資料點的對應 `dot_product` (或相容性分數)。如需詳細資訊及一些範例，請參閱[IP Insights 推論資料格式](ip-insights-inference-data-formats.md)。

## IP Insights 演算法的 EC2 執行個體建議事項
<a name="ip-insights-instances"></a>

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

### IP Insights 演算法的 GPU 執行個體
<a name="ip-insights-instances-gpu"></a>

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 執行個體
<a name="ip-insights-instances-cpu"></a>

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


| `vector_dim` \$1 `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_size`、`num_ip_encoder_layers`、`random_negative_sampling_rate` 和 `shuffled_negative_sampling_rate` 超參數的值也會影響所需的記憶體數量。若這些值較大，您可能需要使用比一般大小更大的執行個體類型。

## IP Insights 範例筆記本
<a name="ip-insights-sample-notebooks"></a>

如需示範如何訓練 SageMaker AI IP Insights 演算法，及使用它來執行推論的範例筆記本，請參閱 [SageMaker AIIP Insights 演算法簡介](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/ipinsights_login/ipinsights-tutorial.html)。如需如何建立並存取 Jupyter 筆記本執行個體以用來執行 SageMaker AI 中範例的指示，請參閱[Amazon SageMaker 筆記本執行個體](nbi.md)。在建立筆記本執行個體後，請選擇 **SageMaker AI 範例**索引標籤以查看所有 SageMaker AI 範例的清單。若要開啟筆記本，請選擇其**使用**標籤，然後選擇**建立複本**。