IP Insights - Amazon SageMaker

IP Insights

L'algorithme IP Insights d'Amazon SageMaker est un algorithme d'apprentissage non supervisé qui apprend les comportements d'utilisation correspondant aux adresses IPv4. Il est conçu pour capturer les associations entre les adresses IPv4 et diverses entités, telles que les noms d'utilisateur ou les numéros 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.

IP Insights de SageMaker intègre les données historiques telles que les paires (entité, adresse IPv4) et apprend les comportements d'utilisation des adresses IP de chaque entité. En cas d'interrogation avec un événement (entité, adresse IPv4), un modèle IP Insights de SageMaker renvoie un score qui déduit le degré d'anormalité du comportement de l'événement. 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 combiner le score IP Insights avec d'autres caractéristiques afin de classer les résultats d'un autre système de sécurité, tels les systèmes d'Amazon GuardDuty.

L'algorithme IP Insights de SageMaker peut également apprendre les représentations vectorielles des 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.

Interface d'entrée/de sortie pour l'algorithme IP Insights

Entraînement et validation

L'algorithme IP Insights de SageMaker prend en charge les canaux de données d'entraînement et de validation. Il utilise le canal de validation facultatif afin de calculer un score AUC (aire sous la courbe, Area Under a Curve) en fonction d'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 adresse IPv4 en notation décimale séparée par des points. 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.

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 SageMaker, consultez Formats de données courants à l'inférence. 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.

Recommandation pour l'instance EC2 relative à l'algorithme IP Insights

L'algorithme IP Insights de SageMaker peut s'exécuter sur les instances d'UC et GPU. 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.

Instances GPU pour l'algorithme IP Insights

IP Insights prend en charge tous les processeurs graphiques (GPU) disponibles. 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). S'il y a plusieurs GPU, ils divisent automatiquement entre eux les mini-lots de données d'entraînement. Si vous passez d'un seul à plusieurs GPU, la valeur mini_batch_size est divisée équitablement entre tous les GPU utilisés. Vous pouvez augmenter la valeur mini_batch_size afin de compenser cette répartition.

Instances d'UC pour l'algorithme IP Insights

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 \ 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

Pour obtenir un exemple de bloc-notes illustrant la façon d'entraîner l'algorithme IP Insights de SageMaker et de l'utiliser pour les inférences, consultez l'article relatif à la présentation de l'algorithme IP Insights de SageMaker. Pour savoir comment créer des instances de blocs-notes Jupyter et y accéder afin de les utiliser pour exécuter l'exemple dans SageMaker, consultez Utilisation des instances de bloc-notes Amazon SageMaker. Après avoir créé une instance de bloc-notes, choisissez l'onglet SageMaker Examples (Exemples SageMaker) pour afficher une liste de tous les exemples de SageMaker. Pour ouvrir un bloc-notes, choisissez son onglet Use (Utiliser), puis Create copy (Créer une copie).