IP Insights - Amazon SageMaker

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

Amazon SageMaker IP Insights est un algorithme d'apprentissage non supervisé qui apprend les modèles d'utilisation des 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.

SageMaker IP Insights ingère les données historiques sous forme de paires (entité, adresse IPv4) et apprend les modèles d'utilisation de l'IP de chaque entité. Lorsqu'il est interrogé avec un événement (entité, adresse IPv4), un modèle SageMaker IP Insights renvoie un score qui indique dans quelle mesure 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.

L'algorithme SageMaker 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.

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

Entraînement et validation

L'algorithme SageMaker 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 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, consultezFormats de données courants pour 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 SageMaker IP Insights peut être exécuté à 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

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 un exemple de bloc-notes expliquant comment entraîner l'algorithme SageMaker IP Insights et réaliser des inférences avec celui-ci, voir An Introduction to the SageMaker IP Insights Algorithm. Pour savoir comment créer et accéder à des instances de bloc-notes Jupyter dans lesquelles vous pouvez exécuter l'exemple SageMaker, consultez. Instances Amazon SageMaker Notebook Après avoir créé une instance de bloc-notes, cliquez sur l'onglet SageMaker Exemples pour afficher la liste de tous les SageMaker exemples. Pour ouvrir un bloc-notes, choisissez son onglet Use (Utiliser), puis Create copy (Créer une copie).