Principaux points à retenir

  • Binance utilise des modèles d'apprentissage automatique pour surveiller les activités suspectes sur la plateforme.

  • Un problème connu sous le nom de fonctionnalités obsolètes peut avoir un impact négatif sur les performances de ces modèles, les amenant à effectuer des prédictions ou des classifications inexactes.

  • Notre pipeline de streaming – ou le processus d'alimentation continue du modèle avec des données en temps réel – se compose de deux parties : le traitement des données et la diffusion des données.

  • Le traitement des données est divisé en trois catégories : calcul de flux, ingestion et absorption.

Découvrez comment nous utilisons l'apprentissage automatique pour protéger l'écosystème Binance.

Notre équipe d'IA des risques, composée d'ingénieurs en apprentissage automatique et de data scientists, travaille 24 heures sur 24 pour lutter contre la fraude et protéger les utilisateurs de Binance. Pour y parvenir, ils utilisent des solutions basées sur l'IA capables d'identifier et de répondre aux menaces potentielles, telles que les escroqueries peer-to-peer (P2P), le vol d'informations de paiement et les attaques de piratage de compte (ATO), pour n'en nommer que quelques-unes.

Dans cet article, nous expliquerons comment notre équipe d’IA des risques utilise un pipeline de streaming pour garantir des réponses en temps réel en plus de ce qui se passe dans les coulisses.

Si vous n'êtes pas familier avec l'apprentissage automatique, nous vous recommandons de lire la section suivante pour avoir un aperçu de base de certains des termes que nous utiliserons tout au long de cet article.

Lot et streaming

Les ingénieurs en machine learning utilisent généralement deux types de pipelines : le batch et le streaming. Les deux ont leurs avantages et leurs inconvénients, selon les besoins de la situation.

Les pipelines par lots, comme leur nom l'indique, traitent les données par lots. Les ingénieurs les utilisent généralement pour traiter de gros volumes de données.

D’un autre côté, les pipelines de streaming traitent les données en temps réel au fur et à mesure de leur collecte. Cela les rend idéaux pour les situations qui nécessitent une réponse quasi instantanée ; par exemple, détecter un pirate informatique avant qu'il ne puisse retirer des fonds d'un compte volé.

Notez que les deux pipelines sont d’égale importance. Les pipelines de streaming sont excellents pour fournir des réponses en temps réel, tandis que les pipelines par lots sont plus efficaces pour gérer de gros volumes de données.

Dans le cas de la prévention de la fraude, nous devons donner la priorité aux données en temps réel pour éviter une situation appelée « obsolescence des modèles », qui fait référence au fait que les modèles d'apprentissage automatique deviennent obsolètes ou inexacts.

L’importance de l’obsolescence

Tout comme les gens peuvent devenir moins efficaces dans une tâche s'ils ne restent pas informés des dernières informations ou techniques, les modèles d'apprentissage automatique peuvent également devenir moins précis s'ils ne sont pas régulièrement mis à jour en fonction de la situation.

Une chose dont vous ne voulez pas, c’est un modèle conçu pour empêcher la fraude de devenir obsolète. Les conséquences vont du modèle qualifiant à tort une transaction légitime de frauduleuse à l’incapacité d’identifier un compte compromis. Par conséquent, nous utilisons un pipeline de streaming pour garantir que les modèles de prévention de la fraude fonctionnent avec des données en temps réel.

Calcul pour un modèle de reprise de compte (ATO)

Prenons un exemple de notre modèle ATO, que nous entraînons pour identifier les comptes que les criminels ont détournés avec une intention malveillante. L'une des caractéristiques mesurées par ce modèle est le nombre de transactions qu'un client spécifique a effectuées au cours de la dernière minute.

Les pirates ont tendance à suivre un schéma séquentiel, en effectuant un grand nombre d’opérations, comme des retraits, sur une courte période. Notre système doit calculer cette fonctionnalité le plus tôt possible en cas de menaces potentielles. Cela signifie minimiser les délais entre le moment où l’utilisateur agit et le moment où les données d’activité de cet utilisateur sont traitées par nos modèles. Quelques secondes seulement peuvent faire la différence entre arrêter un pirate informatique et un utilisateur perdre tout son argent.

Pour plus d'informations sur la manière dont les fonctionnalités retardées affectent les performances du modèle, vous pouvez vous référer à cet article de LinkedIn Engineering : Fonctionnalités en temps quasi réel pour une personnalisation en temps quasi réel.

Le rôle du calcul par lots

Notez que l’importance de l’obsolescence des fonctionnalités peut dépendre du modèle ou de la fonctionnalité utilisée. Certaines fonctionnalités, par exemple, sont relativement stables. Dans le cas ATO mentionné ci-dessus, nous aurions également besoin de récupérer les données sur les retraits de l’utilisateur au cours des 30 derniers jours pour calculer un ratio basé sur ses transactions les plus récentes.

Dans ce cas, le calcul par lots sur des périodes plus longues, telles que des intervalles quotidiens ou horaires, est acceptable malgré l'obsolescence plus élevée résultant de l'attente de l'arrivée des données dans les entrepôts de données et de l'exécution périodique des tâches par lots.

Équilibrer fraîcheur et latence

En fin de compte, le choix entre les pipelines par lots et par streaming doit être fait en fonction des exigences spécifiques du cas d'utilisation et des fonctionnalités en question. La prise en compte attentive de ces facteurs nous permet de créer des systèmes efficaces de prévention de la fraude qui protègent nos utilisateurs.

L'utilisation d'un pipeline de streaming nous permet de donner la priorité à la fraîcheur plutôt qu'à la latence pour les fonctionnalités urgentes. Le diagramme ci-dessus illustre ce besoin, car le nombre d'opérations pour récupérer les fonctionnalités doit être de trois au lieu de deux.

C’est pourquoi un pipeline d’apprentissage automatique en temps réel est crucial pour les opérations quotidiennes de notre équipe de gestion des risques.

Briser le pipeline de streaming

L'apprentissage automatique en temps réel pour l'équipe Binance Risk AI se compose principalement de deux parties :

  • Traitement des données (partie supérieure du diagramme)

  • Service de données (partie inférieure du diagramme)

Traitement de l'information

Concernant le traitement des données, nous pouvons diviser notre pipeline de streaming (Flink Job) en trois catégories en fonction de leurs responsabilités :

  • Informatique de flux : ingénierie des fonctionnalités

  • Ingestion de flux : ingestion de fonctionnalités

  • Coulage de flux : enrichissement des données

Informatique en flux

Le composant de calcul de flux du pipeline est responsable de l'ingénierie des fonctionnalités en temps quasi réel, le processus d'extraction de fonctionnalités à partir de données brutes.

Il précalcule les fonctionnalités que nos modèles d'apprentissage automatique utiliseront pour la prédiction en ligne. Il existe deux types de méthodes de calcul pour le pipeline de calcul en streaming : basées sur le temps et basées sur les événements.

  1. Basé sur le temps. Calcul du nombre de transactions toutes les 10 minutes. Cela introduit une certaine obsolescence mais réduit la latence.

  2. Basé sur des événements. Calcul des caractéristiques en fonction de l'événement arrivant. Cela réduit le caractère obsolète mais augmente légèrement la latence.

Notre préférence est de ne pas utiliser autant que possible le calcul en temps réel, et voici pourquoi :

  1. Il existe un compromis entre latence et obsolescence. Les fonctionnalités informatiques à mesure que les demandes en ligne arrivent limitent la logique informatique à des approches légères. Bien que cette méthode réduise l’obsolescence, le calcul des caractéristiques augmente la latence de prédiction.

  2. La mise à l'échelle indépendante est un défi puisque les services de prédiction et de calcul dépendent les uns des autres.

  3. L'informatique à la demande basée sur le trafic de requêtes crée une pression d'évolutivité imprévisible.

  4. Le calcul en temps réel n'est pas adaptable à nos solutions de surveillance de modèle (biais formation-servion) ​​et de surveillance des fonctionnalités, car les fonctionnalités ne sont pas stockées dans une base de données centrale, c'est-à-dire un magasin de fonctionnalités.

Ingestion de flux

Le composant d'ingestion de flux est responsable de l'ingestion en temps quasi réel des fonctionnalités dans notre magasin de fonctionnalités à partir de la plateforme d'apprentissage automatique Kafka. Les magasins de fonctionnalités sont des bases de données centralisées qui hébergent les fonctionnalités couramment utilisées. Ils jouent un rôle essentiel dans les pipelines d’apprentissage automatique. Vous pouvez en savoir plus à leur sujet dans les articles suivants : Un examen plus approfondi de notre magasin de fonctionnalités d'apprentissage automatique et Utilisation de MLOps pour créer un pipeline d'apprentissage automatique de bout en bout en temps réel.

Puits de ruisseau

Le composant récepteur de flux est principalement responsable de l'envoi d'événements en temps réel vers une destination spécifique, telle que des systèmes de fichiers hautement distribués (HDFS) comme S3 ou d'autres bases de données externes telles qu'ElasticSearch, en fonction des exigences du projet.

Pour notre équipe d'IA des risques, il existe généralement deux modèles d'enrichissement des données qui peuvent être appliqués aux données en temps réel dans Kafka en fonction du cas d'utilisation :

  1. Données statiques. Par exemple, récupérer une liste de créateurs populaires assis dans S3 pour des projets commerciaux liés au P2P dans les emplois Flink. Les données de référence sont statiques et ne nécessitent une mise à jour que moins d'une fois par mois.

  2. Données dynamiques. Les taux de change en temps réel (BTC vers USD), par exemple, sont obtenus à partir de bases de données externes comme Redis. La recherche par enregistrement garantit une faible latence et une grande précision si les données de référence changent.

Service de données

Le composant de distribution de données du pipeline est responsable de la prédiction en ligne et du calcul par lots.

  1. Prédiction en ligne. Cela se produit lorsque les demandes transitent par le Decision Hub (le moteur de règles interne de notre équipe de gestion des risques). Le service concerné appellera ensuite le magasin de fonctionnalités pour récupérer les fonctionnalités et les envoyer au modèle d'apprentissage automatique pour évaluation. Notre équipe Risk AI dispose de plus de 20 modèles d’apprentissage automatique conçus pour répondre à différentes exigences commerciales.

  2. Calcul par lots. Même s'il peut introduire un retard pouvant aller jusqu'à quelques jours, il joue ici un rôle important puisqu'il complète les caractéristiques calculées en temps réel.

Pensées finales

Il est important de noter que le marché des cryptomonnaies fonctionne 24h/24 et 7j/7, contrairement aux marchés financiers traditionnels qui ont des horaires d’ouverture et de fermeture. Chaque seconde, il y a un afflux continu de nouvelles données (retraits, dépôts, transactions, etc.) qui nous obligent à être à l'affût des mauvais acteurs qui tentent de voler les fonds ou les informations personnelles des utilisateurs.

Notre équipe d’IA des risques a travaillé sans relâche pour développer et maintenir un système d’IA sophistiqué capable de signaler efficacement les activités suspectes. Grâce à leurs efforts, nous pouvons travailler rapidement pour protéger les comptes Binance compromis contre des pertes potentielles ou atténuer les dommages autant que possible.

Restez à l'écoute pour plus d'informations sur nos efforts d'apprentissage automatique ou consultez certains de nos articles précédents ci-dessous. Intéressé par une carrière en apprentissage automatique chez Binance ? Consultez Binance Engineering sur notre page Carrières pour les offres d'emploi ouvertes.

Lectures complémentaires

  • Un examen plus approfondi de notre magasin de fonctionnalités d'apprentissage automatique

  • Utiliser MLOps pour créer un pipeline d'apprentissage automatique de bout en bout en temps réel

  • Une étude de cas d'ingénierie de fonctionnalités sur la cohérence et la détection de fraude