

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Amazon SageMaker AI IP Insights est un algorithme d'apprentissage non supervisé qui apprend les modèles d'utilisation des IPv4 adresses. Il est conçu pour capturer les associations entre les IPv4 adresses et diverses entités, telles que les numéros d'utilisateur IDs ou de compte. Par exemple, vous pouvez l'utiliser afin d'identifier un utilisateur qui tente de se connecter à un service web à partir d'une adresse IP anormale. Vous pouvez également l'utiliser pour identifier un compte qui tente de créer des ressources informatiques à partir d'une adresse IP inhabituelle. Les modèles IP Insights entraînés peuvent être hébergés au niveau d'un point de terminaison afin d'effectuer des prédictions en temps réel ou utilisés pour le traitement des transformations par lots.

SageMaker AI IP Insights ingère les données historiques sous forme de paires (entité, IPv4 adresse) et apprend les modèles d'utilisation de l'IP de chaque entité. Lorsqu'il est interrogé avec un événement (entité, IPv4 adresse), un modèle SageMaker AI IP Insights renvoie un score qui déduit à quel point le schéma de l'événement est anormal. Par exemple, lorsqu'un utilisateur tente de se connecter à partir d'une adresse IP, si le score IP Insights est suffisamment élevé, un serveur de connexion web peut décider de déclencher un système d'authentification multi-facteurs. Outre les solutions avancées, vous pouvez renseigner un autre modèle de machine learning avec le score IP Insights. Par exemple, vous pouvez associer le score IP Insight à d'autres fonctionnalités pour classer les résultats d'un autre système de sécurité, tel que ceux d'[Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html).

L'algorithme SageMaker AI IP Insights peut également apprendre des représentations vectorielles d'adresses IP, appelées *intégrations*. Vous pouvez utiliser ces intégrations vectorielles comme des caractéristiques dans les tâches de machine learning en aval qui utilisent les informations observées dans les adresses IP. Par exemple, vous pouvez les utiliser dans des tâches telles que l'évaluation des similarités entre les adresses IP dans la mise en cluster et les tâches de visualisation.

**Topics**
+ [

## Interface d'entrée/de sortie pour l'algorithme IP Insights
](#ip-insights-inputoutput)
+ [

## Recommandation pour l'instance EC2 relative à l'algorithme IP Insights
](#ip-insights-instances)
+ [

## Exemples de blocs-notes IP Insights
](#ip-insights-sample-notebooks)
+ [

# Fonctionnement d'IP Insights
](ip-insights-howitworks.md)
+ [

# Hyperparamètres IP Insights
](ip-insights-hyperparameters.md)
+ [

# Réglage d'un modèle IP Insights
](ip-insights-tuning.md)
+ [

# Formats de données IP Insights
](ip-insights-data-formats.md)

## Interface d'entrée/de sortie pour l'algorithme IP Insights
<a name="ip-insights-inputoutput"></a>

**Entraînement et validation**

L'algorithme SageMaker AI IP Insights prend en charge les canaux de données de formation et de validation. Il utilise le canal de validation optionnel pour calculer un score area-under-curve (AUC) sur une stratégie d'échantillonnage négatif prédéfinie. La métrique AUC valide les performances du modèle quant à la discrimination entre les échantillons positifs et négatifs. Les types de contenu des données d'entraînement et de validation doivent être au format `text/csv`. La première colonne des données CSV est une chaîne opaque qui fournit un identificateur unique pour l'entité. La deuxième colonne est une IPv4 adresse en notation décimale. Actuellement, seul le mode File (Fichier) est pris en charge par IP Insights. Pour plus d'informations et pour obtenir des exemples, consultez [Formats de données d'entraînement IP Insights](ip-insights-training-data-formats.md).

**Inférence**

Pour l'inférence, l'algorithme IP Insights prend en charge les contenus de données du type `text/csv`, `application/json` et `application/jsonlines`. Pour plus d'informations sur les formats de données courants pour l'inférence fournis par l' SageMaker IA, consultez[Formats de données courants pour l’inférence](cdf-inference.md). L'inférence IP Insights renvoie la sortie au format `application/json` ou `application/jsonlines`. Chaque enregistrement dans ces données de sortie contient la valeur `dot_product` correspondante (ou score de compatibilité) pour chaque point de données d'entrée. Pour plus d'informations et pour obtenir des exemples, consultez [Formats de données d'inférence IP Insights](ip-insights-inference-data-formats.md).

## Recommandation pour l'instance EC2 relative à l'algorithme IP Insights
<a name="ip-insights-instances"></a>

L'algorithme SageMaker AI IP Insights peut s'exécuter à la fois sur des instances de GPU et de CPU. Pour les tâches d'entraînement, il est recommandé d'utiliser des instances GPU. Toutefois, pour certaines charges de travail comprenant des ensembles de données d'entraînement volumineux, il est possible de réduire les coûts d'entraînement en utilisant des instances d'UC distribuées. Il est recommandé d'utiliser des instances d'UC pour l'inférence. IP Insights prend en charge les familles de GPU P2, P3, G4dn et G5.

### Instances GPU pour l'algorithme IP Insights
<a name="ip-insights-instances-gpu"></a>

IP Insights prend en charge toutes les options disponibles GPUs. Pour accélérer l'entraînement, il est recommandé de commencer par une seule instance GPU (ml.p3.2xlarge, par exemple), puis de passer à un environnement à plusieurs GPU (ml.p3.8xlarge et ml.p3.16xlarge, par exemple). Répartissez GPUs automatiquement les mini-lots de données d'entraînement entre eux. Si vous passez d'un processeur graphique unique à un processeur multiple GPUs, le processeur `mini_batch_size` est divisé en parts égales par le nombre de processeurs GPUs utilisés. Vous pouvez augmenter la valeur `mini_batch_size` afin de compenser cette répartition.

### Instances d'UC pour l'algorithme IP Insights
<a name="ip-insights-instances-cpu"></a>

Le type d'instance d'UC recommandé dépend en grande partie de la mémoire disponible sur l'instance et de la taille du modèle. La taille du modèle dépend de deux hyperparamètres : `vector_dim` et `num_entity_vectors`. La taille maximale prise en charge est de 8 Go. Le tableau ci-dessous répertorie les types d'instances EC2 types déployés en fonction de ces paramètres d'entrée pour diverses tailles de modèles. Dans le tableau 1, la valeur de `vector_dim` dans la première colonne est comprise entre 32 et 2048 ; les valeurs de `num_entity_vectors` sur la première ligne sont comprises entre 10 000 et 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 |  |  |  |  | 

Les valeurs des hyperparamètres `mini_batch_size`, `num_ip_encoder_layers`, `random_negative_sampling_rate` et `shuffled_negative_sampling_rate` affectent également la quantité de mémoire requise. Si ces valeurs sont volumineuses, vous devrez peut-être utiliser un type d'instance plus élevé qu'habituellement.

## Exemples de blocs-notes IP Insights
<a name="ip-insights-sample-notebooks"></a>

Pour un exemple de bloc-notes expliquant comment entraîner l'algorithme SageMaker AI IP Insights et effectuer des inférences avec celui-ci, voir [An Introduction to the SageMaker AIIP Insights](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/ipinsights_login/ipinsights-tutorial.html) Algorithm. Pour savoir comment créer et accéder à des instances de bloc-notes Jupyter que vous pouvez utiliser pour exécuter l'exemple dans SageMaker AI, consultez. [Instances de SageMaker blocs-notes Amazon](nbi.md) Après avoir créé une instance de bloc-notes, choisissez l'onglet **Exemples d'SageMaker IA** pour voir la liste de tous les exemples d' SageMaker IA. Pour ouvrir un bloc-notes, choisissez son onglet **Use** (Utiliser), puis **Create copy** (Créer une copie).

# Fonctionnement d'IP Insights
<a name="ip-insights-howitworks"></a>

Amazon SageMaker AI IP Insights est un algorithme non supervisé qui consomme les données observées sous forme de paires (entité, IPv4 adresse) associant des entités à des adresses IP. IP Insights détermine la probabilité qu'une entité utilise une adresse IP donnée en apprenant les représentations vectorielles latentes correspondant aux entités et aux adresses IP. La distance entre ces deux représentations peut ensuite servir d'indicateur quant à la probabilité de cette association.

L'algorithme IP Insights utilise un réseau neuronal afin d'apprendre les représentations vectorielles latentes pour les entités et les adresses IP. Les entités sont d'abord hachées en un grand espace de hachage fixe, puis encodées par une simple couche d'intégration. Les chaînes de caractères telles que les noms d'utilisateur ou de compte IDs peuvent être introduites directement dans IP Insights lorsqu'elles apparaissent dans les fichiers journaux. Vous n'avez pas besoin de prétraiter les données pour les identificateurs d'entité. Vous pouvez fournir des entités sous la forme d'une valeur de chaîne arbitraire durant l'entraînement et l'inférence. La valeur de la taille de hachage configurée doit être suffisamment élevée pour que le nombre de *collisions*, qui se produisent lorsque des entités distinctes sont mappées au même vecteur latent, reste négligeable. Pour plus d'informations sur la sélection de tailles de hachage appropriées, consultez [Feature Hashing for Large Scale Multitask Learning](https://alex.smola.org/papers/2009/Weinbergeretal09.pdf). Pour représenter les adresses IP, d'autre part, IP Insights utilise un réseau d'encodeurs spécialement conçu pour représenter de manière unique chaque IPv4 adresse possible en exploitant la structure des préfixes des adresses IP.

Pendant l'entraînement, IP Insights génère automatiquement des échantillons négatifs en appairant de façon aléatoire les entités et les adresses IP. Ces échantillons négatifs représentent des données moins susceptibles de se produire en réalité. Le modèle est entraîné afin de distinguer les échantillons positifs observés dans les données d'entraînement de ces échantillons négatifs générés. Plus spécifiquement, le modèle est entraîné afin de réduire l'*entropie croisée*, ou *perte logistique*, qui se définit comme suit : 

![\[Image contenant l'équation de la perte logistique.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/ip-insight-image-cross-entropy.png)


yn est l'étiquette qui indique si l'échantillon est issu de la distribution réelle régissant les données observées (yn=1) ou de la distribution générant des échantillons négatifs (yn=0). pn est la probabilité que l'échantillon soit issu de la distribution réelle, comme prévu par le modèle.

La génération d'échantillons négatifs est un important processus permettant d'obtenir un modèle précis des données observées. Si les échantillons négatifs sont très peu probables, par exemple si toutes les adresses IP dans les échantillons négatifs sont 10.0.0.0, alors le modèle apprend facilement à distinguer les échantillons négatifs et ne parvient pas à caractériser avec précision l'ensemble de données observé réel. Afin que les échantillons négatifs soient plus réalistes, IP Insights les crée en générant de façon aléatoire des adresses IP et en choisissant de façon aléatoire les adresses IP issues des données d'entraînement. Vous pouvez configurer le type d'échantillonnage négatif et les fréquences de génération des échantillons négatifs à l'aide des hyperparamètres `random_negative_sampling_rate` et `shuffled_negative_sampling_rate`.

Soit une énième (paire entité, adresse IP), le modèle IP Insights génère un *score*, Sn, qui indique le degré de compatibilité entre l'entité et l'adresse IP. Ce score correspond au ratio du logarithme de cote (log-odds-ratio) pour un couple (entité, adresse IP) donné de la paire issue d'une distribution réelle par rapport à une paire issue d'une distribution négative. Il se définit comme suit :

![\[Image contenant l'équation du score, un ratio du logarithme de cote (log-odds-ratio).\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/ip-insight-image-log-odds.png)


En substance, le score est une mesure de la similarité entre les représentations vectorielles de la énième entité et l'adresse IP. Il peut être interprété comme le degré de probabilité qu'il y aurait d'observer cet événement en réalité plutôt que dans un ensemble de données généré de façon aléatoire. Pendant l'entraînement, l'algorithme utilise ce score afin de calculer une estimation de la probabilité d'un échantillon issu de la distribution réelle, pn, à utiliser dans la réduction de l'entropie croisée, où :

![\[Image illustrant l'équation de la probabilité que l'échantillon soit issu d'une distribution réelle.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/ip-insight-image-sample-probability.png)


# Hyperparamètres IP Insights
<a name="ip-insights-hyperparameters"></a>

Dans la demande [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html), vous spécifiez l'algorithme d'entraînement. Vous pouvez également spécifier des hyperparamètres spécifiques à l'algorithme sous forme de cartes. string-to-string Le tableau suivant répertorie les hyperparamètres de l'algorithme Amazon SageMaker AI IP Insights.


| Nom du paramètre | Description | 
| --- | --- | 
| num\$1entity\$1vectors | Nombre de représentations vectorielles d'entités (vecteurs d'intégration d'entité) à entraîner. Chaque entité de l'ensemble d'entraînement est affectée de façon aléatoire à l'un de ces vecteurs à l'aide d'une fonction de hachage. En raison des conflits de hachage, il est possible que plusieurs entités soient affectées au même vecteur. Dans ce cas, un même vecteur représenterait alors plusieurs entités. Ceci produit généralement un effet négligeable sur les performances du modèle, tant que le taux de conflits reste peu conséquent. Pour que le taux de conflits reste faible, définissez une valeur aussi élevée que possible. Cependant, la taille du modèle, et par conséquent la mémoire requise, pour l'entraînement et l'inférence est mise à l'échelle de façon linéaire avec cet hyperparamètre. Nous vous recommandons de définir cette valeur sur deux fois le nombre d'identificateurs d'entité uniques. **Obligatoire** Valeurs valides : 1 ≤ nombre entier positif ≤ 250 000 000  | 
| vector\$1dim | Taille des vecteurs d'intégration pour représenter les entités et les adresses IP. Plus cette valeur est élevée, plus il est possible d'encoder d'informations à l'aide de ces représentations. En pratique, la taille du modèle est mise à l'échelle de façon linéaire avec ce paramètre et limite la taille possible de la dimension. En outre, l'utilisation de représentations vectorielles trop volumineuses peut entraîner un surajustement du modèle, notamment pour les petits ensembles de données d'entraînement. Un surajustement se produit lorsqu'un modèle n'apprend aucun schéma dans les données mais mémorise de manière efficace les données d'entraînement et, par conséquent, ne peut pas généraliser correctement et donne des résultats médiocres pendant l'inférence. La valeur recommandée est 128. **Obligatoire** Valeurs valides : 4 ≤ nombre entier positif ≤ 4 096  | 
| batch\$1metrics\$1publish\$1interval | Intervalle (tous les X lots) auquel la fonction de MXNet compteur de vitesse Apache affiche la vitesse d'entraînement du réseau (échantillons/seconde).  **Facultatif** Valeurs valides : entier positif ≥ 1 Valeur par défaut : 1,000 | 
| epochs | Nombre de passages sur les données d'entraînement. La valeur optimale dépend de la taille des données et du taux d'apprentissage. Les valeurs standard vont de 5 à 100. **Facultatif** Valeurs valides : entier positif ≥ 1 Valeur par défaut : 10 | 
| learning\$1rate | Taux d'apprentissage de l'optimiseur. IP Insights utilise un optimiseur gradient-descent-based Adam. Le taux d'apprentissage contrôle efficacement le pas d'apprentissage afin de mettre à jour les paramètres du modèle à chaque itération. Si le taux d'apprentissage est trop élevé, le modèle risque de diverger car l'entraînement est susceptible de dépasser un minima. D'un autre côté, un taux d'apprentissage trop faible ralentit la convergence. Les valeurs standard vont de 1e-4 à 1e-1. **Facultatif** Valeurs valides : 1e-6 ≤ valeur flottante ≤ 10 Valeur par défaut : 0.001 | 
| mini\$1batch\$1size | Nombre d'exemples dans chaque mini-lot. La procédure d'entraînement traite les données dans les mini-lots. La valeur optimale dépend du nombre d'identificateurs de compte uniques dans l'ensemble de données. En général, plus l'entraînement est important`mini_batch_size`, plus l'entraînement est rapide et plus le nombre de shuffled-negative-sample combinaisons possibles est élevé. Toutefois, si la valeur de `mini_batch_size` est élevée, l'entraînement est plus susceptible de converger vers un minimum local médiocre et de produire des résultats d'inférence relativement mauvais.  **Facultatif** Valeurs valides : 1 ≤ nombre entier positif ≤ 500 000 Valeur par défaut : 10,000 | 
| num\$1ip\$1encoder\$1layers | Nombre de couches entièrement connectées utilisées pour encoder l'intégration de l'adresse IP. Plus le nombre de couches est élevé, plus le modèle peut capturer les schémas parmi les adresses IP. Toutefois, l'utilisation d'un grand nombre de couches augmente le risque d'un surajustement. **Facultatif** Valeurs valides : 0 ≤ nombre entier positif ≤ 100 Valeur par défaut : 1 | 
| random\$1negative\$1sampling\$1rate | Nombre d'échantillons négatifs aléatoires, R, à générer par échantillon en entrée. La procédure d'entraînement s'appuie sur les échantillons négatifs afin d'empêcher les représentations vectorielles du modèle de se réduire en un seul point. L'échantillonnage négatif aléatoire génère R adresses IP aléatoires pour chaque compte d'entrée dans le mini-lot. La somme de `random_negative_sampling_rate` (R) et de `shuffled_negative_sampling_rate` (S) doit être comprise dans l'intervalle : 1 ≤ R \$1 S ≤ 500. **Facultatif** Valeurs valides : 0 ≤ nombre entier positif ≤ 500 Valeur par défaut : 1 | 
| shuffled\$1negative\$1sampling\$1rate | Nombre d'échantillons négatifs réorganisés, S, à générer par échantillon en entrée. Dans certains cas, il peut être utile d'utiliser des échantillons négatifs plus réalistes collectés de façon aléatoire à partir des données d'entraînement. Ce type d'échantillonnage négatif s'obtient en réorganisant les données dans un mini-lot. Un échantillonnage négatif réorganisé génère S adresses IP négatives en réorganisant les paires d'adresses IP et de comptes dans un mini-lot. La somme de `random_negative_sampling_rate` (R) et de `shuffled_negative_sampling_rate` (S) doit être comprise dans l'intervalle : 1 ≤ R \$1 S ≤ 500. **Facultatif** Valeurs valides : 0 ≤ nombre entier positif ≤ 500 Valeur par défaut : 1 | 
| weight\$1decay | Coefficient de dégradation de pondération. Ce paramètre ajoute un facteur de régularisation L2, qui est requis pour empêcher le modèle de surajuster les données d'entraînement. **Facultatif** Valeurs valides : 0.0 ≤ valeur flottante ≤ 10.0 Valeur par défaut : 0.00001 | 

# Réglage d'un modèle IP Insights
<a name="ip-insights-tuning"></a>

Le *réglage de modèle automatique *, ou réglage d'hyperparamètre, détecte la meilleure version d'un modèle en exécutant plusieurs tâches qui testent une plage d'hyperparamètres sur votre ensemble de données. Vous choisissez les hyperparamètres réglables, une plage de valeurs pour chacun d'eux et une métrique d'objectif. Vous choisissez la métrique d'objectif parmi les métriques que calcule l'algorithme. Le réglage de modèle automatique recherche parmi les hyperparamètres choisis la combinaison de valeurs qui produira un modèle permettant d'optimiser la métrique d'objectif.

Pour plus d'informations sur le réglage de modèle, consultez [Réglage automatique du modèle grâce à l' SageMaker IA](automatic-model-tuning.md).

## Métriques calculées par l'algorithme IP Insights
<a name="ip-insights-metrics"></a>

L'algorithme Amazon SageMaker AI IP Insights est un algorithme d'apprentissage non supervisé qui apprend les associations entre les adresses IP et les entités. L'algorithme entraîne un modèle discriminateur, qui apprend à séparer les points de données observés (*échantillons positifs*) à partir de points de données générés de façon aléatoire (*échantillons négatifs*). Le réglage de modèle automatique de l'algorithme IP Insights permet de rechercher le modèle capable de distinguer de la manière la plus précise possible les données de validation non étiquetées et les échantillons négatifs générés automatiquement. La précision du modèle de l'ensemble de données de validation est mesurée d'après l'aire située sous la courbe ROC. Cette métrique `validation:discriminator_auc` accepte des valeurs comprises entre 0 et 1, où 1 correspond à une précision parfaite.

L'algorithme IP Insights calcule une métrique `validation:discriminator_auc` pendant la validation, dont la valeur est utilisée comme fonction objective à optimiser pour le réglage des hyperparamètres.


| Nom de la métrique | Description | Orientation de l'optimisation | 
| --- | --- | --- | 
| validation:discriminator\$1auc |  Aire située sous la courbe ROC sur l'ensemble de données de validation. L'ensemble de données de validation n'est pas étiqueté. La métrique AUC (aire située sous la courbe) décrit la capacité du modèle à distinguer les points de données de validation des points de données générés de façon aléatoire.  |  Agrandir  | 

## Hyperparamètres IP Insights réglables
<a name="ip-insights-tunable-hyperparameters"></a>

Vous pouvez régler les hyperparamètres suivants pour l'algorithme SageMaker AI IP Insights. 


| Nom du paramètre | Type de paramètre | Plages recommandées | 
| --- | --- | --- | 
| epochs |  IntegerParameterRange  |  MinValue: 1, MaxValue 100  | 
| learning\$1rate |  ContinuousParameterRange  |  MinValue: 1e-4, MaxValue : 0,1  | 
| mini\$1batch\$1size |  IntegerParameterRanges  |  MinValue: 100, MaxValue 50 000  | 
| num\$1entity\$1vectors |  IntegerParameterRanges  |  MinValue: 10000, MaxValue 1000000  | 
| num\$1ip\$1encoder\$1layers |  IntegerParameterRanges  |  MinValue: 1, MaxValue 10  | 
| random\$1negative\$1sampling\$1rate |  IntegerParameterRanges  |  MinValue: 0, MaxValue 10  | 
| shuffled\$1negative\$1sampling\$1rate |  IntegerParameterRanges  |  MinValue: 0, MaxValue 10  | 
| vector\$1dim |  IntegerParameterRanges  |  MinValue: 8, MaxValue 256  | 
| weight\$1decay |  ContinuousParameterRange  |  MinValue: 0,0, MaxValue 1,0  | 

# Formats de données IP Insights
<a name="ip-insights-data-formats"></a>

Cette section fournit des exemples des formats de données d'entrée et de sortie disponibles utilisés par l'algorithme IP Insights au cours de l'entraînement et de l'inférence.

**Topics**
+ [

# Formats de données d'entraînement IP Insights
](ip-insights-training-data-formats.md)
+ [

# Formats de données d'inférence IP Insights
](ip-insights-inference-data-formats.md)

# Formats de données d'entraînement IP Insights
<a name="ip-insights-training-data-formats"></a>

Voici les formats d'entrée de données disponibles pour l'algorithme IP Insights. Les algorithmes intégrés d'Amazon SageMaker AI respectent le format d'entraînement à la saisie courant décrit dans[Formats de données courants pour l'entraînement](cdf-training.md). Cependant, l'algorithme SageMaker AI IP Insights ne prend actuellement en charge que le format de saisie de données CSV.

## Formats d'entrée de données d'entraînement IP Insights
<a name="ip-insights-training-input-format-requests"></a>

### ENTRÉE : CSV
<a name="ip-insights-input-csv"></a>

Le fichier CSV doit contenir deux colonnes. La première colonne est une chaîne opaque qui correspond à l'identificateur unique d'une entité. La deuxième colonne est l' IPv4 adresse de l'événement d'accès de l'entité en notation décimale. 

content-type: text/csv

```
entity_id_1, 192.168.1.2
entity_id_2, 10.10.1.2
```

# Formats de données d'inférence IP Insights
<a name="ip-insights-inference-data-formats"></a>

Voici les formats d'entrée et de sortie disponibles pour l'algorithme IP Insights. Les algorithmes intégrés d'Amazon SageMaker AI respectent le format d'inférence d'entrée courant décrit dans[Formats de données courants pour l’inférence](cdf-inference.md). Cependant, l'algorithme SageMaker AI IP Insights ne prend actuellement pas en charge le format Recordio.

## Formats de demande d'entrée IP Insights
<a name="ip-insights-input-format-requests"></a>

### ENTRÉE : format CSV
<a name="ip-insights-input-csv-format"></a>

Le fichier CSV doit contenir deux colonnes. La première colonne est une chaîne opaque qui correspond à l'identificateur unique d'une entité. La deuxième colonne est l' IPv4 adresse de l'événement d'accès de l'entité en notation décimale. 

content-type: text/csv

```
entity_id_1, 192.168.1.2
entity_id_2, 10.10.1.2
```

### ENTRÉE : format JSON
<a name="ip-insights-input-json"></a>

Les données JSON peuvent être fournies en différents formats. IP Insights suit les formats d' SageMaker IA les plus courants. Pour plus d'informations sur les formats d'inférence, consultez [Formats de données courants pour l’inférence](cdf-inference.md).

content-type: application/json

```
{
  "instances": [
    {"data": {"features": {"values": ["entity_id_1", "192.168.1.2"]}}},
    {"features": ["entity_id_2", "10.10.1.2"]}
  ]
}
```

### ENTRÉE : format JSONLINES
<a name="ip-insights-input-jsonlines"></a>

Le type de contenu JSON Lines est utile pour exécuter des tâches de transformation par lots. Pour plus d'informations sur les formats d'inférence basés sur l' SageMaker IA, consultez[Formats de données courants pour l’inférence](cdf-inference.md). Pour plus d'informations sur l'exécution des tâches de transformation par lots, consultez [Transformation par lots à des fins d'inférence avec Amazon AI SageMaker](batch-transform.md).

content-type: application/jsonlines

```
{"data": {"features": {"values": ["entity_id_1", "192.168.1.2"]}}},
{"features": ["entity_id_2", "10.10.1.2"]}]
```

## Formats de réponse de sortie IP Insights
<a name="ip-insights-ouput-format-response"></a>

### SORTIE : format de réponse JSON
<a name="ip-insights-output-json"></a>

La sortie par défaut de l'algorithme SageMaker AI IP Insights se `dot_product` situe entre l'entité d'entrée et l'adresse IP. Le paramètre dot\$1product indique le degré de compatibilité, d'après le modèle, de l'entité et de l'adresse IP. Le paramètre `dot_product` est sans limite. Pour effectuer des prédictions quant à savoir si un événement est anormal, vous devez définir un seuil en fonction de la distribution définie. Pour plus d'informations sur l'utilisation de l'algorithme `dot_product` pour la détection des anomalies, consultez l'ouvrage [An Introduction to the SageMaker AIIP Insights](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/ipinsights_login/ipinsights-tutorial.html) Algorithm.

accept: application/json

```
{
  "predictions": [
    {"dot_product": 0.0},
    {"dot_product": 2.0}
  ]
}
```

Les utilisateurs avancés peuvent accéder aux intégrations d'entité et d'adresses IP apprises par le modèle en fournissant le paramètre content-type `verbose=True` supplémentaire à l'en-tête Accept. Vous pouvez utiliser les paramètres `entity_embedding` et `ip_embedding` pour déboguer, visualiser et comprendre le modèle. En outre, vous pouvez utiliser ces intégrations dans d'autres techniques de machine learning, comme la classification ou la mise en cluster.

accept: application/json;verbose=True

```
{
  "predictions": [
    {
        "dot_product": 0.0,
        "entity_embedding": [1.0, 0.0, 0.0],
        "ip_embedding": [0.0, 1.0, 0.0]
    },
    {
        "dot_product": 2.0,
        "entity_embedding": [1.0, 0.0, 1.0],
        "ip_embedding": [1.0, 0.0, 1.0]
    }
  ]
}
```

### SORTIE : format de réponse JSONLINES
<a name="ip-insights-jsonlines"></a>

accepter : application/jsonlines 

```
{"dot_product": 0.0}
{"dot_product": 2.0}
```

accept: application/jsonlines; verbose=True 

```
{"dot_product": 0.0, "entity_embedding": [1.0, 0.0, 0.0], "ip_embedding": [0.0, 1.0, 0.0]}
{"dot_product": 2.0, "entity_embedding": [1.0, 0.0, 1.0], "ip_embedding": [1.0, 0.0, 1.0]}
```