Wichtigste Imbissbuden
Binance nutzt Modelle des maschinellen Lernens, um verdächtige Aktivitäten auf der Plattform zu überwachen.
Ein Problem, das als „veraltete Features“ bezeichnet wird, kann sich negativ auf die Leistung solcher Modelle auswirken und dazu führen, dass sie ungenaue Vorhersagen oder Klassifizierungen vornehmen.
Unsere Streaming-Pipeline – oder der Prozess der kontinuierlichen Versorgung des Modells mit Echtzeitdaten – besteht aus zwei Teilen: Datenverarbeitung und Datenbereitstellung.
Die Datenverarbeitung wird weiter in drei Kategorien unterteilt: Stream Computing, Ingestion und Senke.
Erfahren Sie, wie wir maschinelles Lernen zum Schutz des Binance-Ökosystems nutzen.
Unser Risiko-KI-Team, das aus Ingenieuren für maschinelles Lernen und Datenwissenschaftlern besteht, arbeitet rund um die Uhr daran, Betrug zu bekämpfen und Binance-Benutzer zu schützen. Zu diesem Zweck verwenden sie KI-gesteuerte Lösungen, die potenzielle Bedrohungen erkennen und darauf reagieren können, wie beispielsweise Peer-to-Peer-Betrug (P2P), Diebstahl von Zahlungsdaten und Account-Takeover-Angriffe (ATO), um nur einige zu nennen.
In diesem Artikel erklären wir, wie unser Risiko-KI-Team zusätzlich zu dem, was hinter den Kulissen passiert, eine Streaming-Pipeline verwendet, um Reaktionen in Echtzeit zu gewährleisten.
Wenn Sie mit maschinellem Lernen nicht vertraut sind, empfehlen wir Ihnen, den folgenden Abschnitt zu lesen, um einen grundlegenden Überblick über einige der Begriffe zu erhalten, die wir in diesem Artikel verwenden.
Batch und Streaming
Ingenieure für maschinelles Lernen verwenden normalerweise zwei Arten von Pipelines: Batch und Streaming. Beide haben ihre Vor- und Nachteile, je nachdem, was die Situation erfordert.
Batch-Pipelines verarbeiten Daten, wie der Name schon sagt, in Stapeln. Ingenieure verwenden sie normalerweise, um große Datenmengen zu verarbeiten.
Streaming-Pipelines hingegen verarbeiten Daten in Echtzeit, während sie erfasst werden. Sie eignen sich daher ideal für Situationen, in denen eine nahezu sofortige Reaktion erforderlich ist, beispielsweise um einen Hacker zu erkennen, bevor er Geld von einem gestohlenen Konto abheben kann.
Beachten Sie, dass beide Pipelines gleich wichtig sind. Streaming-Pipelines eignen sich hervorragend für die Bereitstellung von Echtzeitantworten, während Batch-Pipelines besser für die Verarbeitung großer Datenmengen geeignet sind.
Bei der Betrugsprävention müssen wir Echtzeitdaten priorisieren, um eine Situation namens „Modellveralterung“ zu vermeiden. Dabei handelt es sich um veraltete oder ungenaue Modelle des maschinellen Lernens.
Die Bedeutung der Abgestandenheit
Genauso wie Menschen bei der Ausführung einer Aufgabe weniger effektiv werden können, wenn sie nicht über die neuesten Informationen oder Techniken auf dem Laufenden bleiben, können auch Modelle des maschinellen Lernens weniger genau werden, wenn sie nicht regelmäßig situationsgerecht aktualisiert werden.
Ein Modell, das Betrug verhindern soll, darf auf gar keinen Fall ungenutzt bleiben. Die Folgen reichen davon, dass das Modell eine legitime Transaktion fälschlicherweise als betrügerisch kennzeichnet oder ein kompromittiertes Konto nicht erkennt. Daher verwenden wir eine Streaming-Pipeline, um sicherzustellen, dass Betrugspräventionsmodelle mit Echtzeitdaten arbeiten.
Berechnung für ein Account Takeover (ATO)-Modell
Nehmen wir ein Beispiel aus unserem ATO-Modell, das wir trainieren, um Konten zu identifizieren, die von Kriminellen in böswilliger Absicht gekapert wurden. Eines der Merkmale, die dieses Modell misst, ist die Anzahl der Transaktionen, die ein bestimmter Kunde in der letzten Minute getätigt hat.
Hacker neigen dazu, einem sequentiellen Muster zu folgen und in einem kurzen Zeitraum eine große Anzahl von Vorgängen, wie z. B. Abhebungen, durchzuführen. Unser System muss diese Funktion im Falle potenzieller Bedrohungen so schnell wie möglich berechnen. Dies bedeutet, dass die Verzögerungen zwischen der Aktion des Benutzers und der Verarbeitung der Aktivitätsdaten dieses Benutzers durch unsere Modelle minimiert werden müssen. Schon wenige Sekunden können den Unterschied ausmachen, ob ein Hacker gestoppt wird oder ob ein Benutzer sein gesamtes Geld verliert.
Weitere Informationen zu den Auswirkungen verzögerter Funktionen auf die Modellleistung finden Sie in diesem Artikel von LinkedIn Engineering: Nahezu Echtzeitfunktionen für nahezu Echtzeitpersonalisierung.
Die Rolle der Batchverarbeitung
Beachten Sie, dass die Bedeutung der Veralterung von Features vom verwendeten Modell oder Feature abhängen kann. Einige Features sind beispielsweise relativ stabil. Im oben genannten ATO-Fall müssten wir auch Daten zu den Abhebungen des Benutzers in den letzten 30 Tagen abrufen, um ein Verhältnis basierend auf seinen letzten Transaktionen zu berechnen.
In diesem Fall ist Batch-Computing über längere Zeiträume, beispielsweise tägliche oder stündliche Intervalle, akzeptabel, trotz der höheren Veralterung, die durch das Warten auf das Eintreffen der Daten in den Data Warehouses und die regelmäßige Ausführung von Batch-Jobs entsteht.
Frische und Latenz ausbalancieren
Letztendlich sollte die Wahl zwischen Batch- und Streaming-Pipelines auf der Grundlage der spezifischen Anforderungen des Anwendungsfalls und der betreffenden Funktionen getroffen werden. Durch die sorgfältige Berücksichtigung dieser Faktoren können wir wirksame Betrugspräventionssysteme aufbauen, die unsere Benutzer schützen.

Durch die Verwendung einer Streaming-Pipeline können wir bei zeitkritischen Features Aktualität gegenüber Latenz priorisieren. Das obige Diagramm veranschaulicht diese Notwendigkeit, da die Anzahl der Vorgänge zum Abrufen von Features drei statt zwei betragen sollte.
Aus diesem Grund ist eine Echtzeit-Pipeline für maschinelles Lernen für die tägliche Arbeit unseres Risikoteams von entscheidender Bedeutung.
Aufschlüsselung der Streaming-Pipeline
Das Echtzeit-Maschinenlernen für das Binance Risk AI-Team besteht hauptsächlich aus zwei Teilen:
Datenverarbeitung (oberer Teil des Diagramms)
Datenbereitstellung (unterer Teil des Diagramms)

Datenverarbeitung
In Bezug auf die Datenverarbeitung können wir unsere Streaming-Pipeline (Flink Job) basierend auf ihren Verantwortlichkeiten in drei Kategorien unterteilen:
Stream-Computing: Feature-Engineering
Stream-Aufnahme: Feature-Aufnahme
Stream-Sinking: Datenanreicherung
Stream-Computing
Die Stream-Computing-Komponente der Pipeline ist für das nahezu in Echtzeit erfolgende Feature-Engineering verantwortlich, also den Prozess des Extrahierens von Features aus Rohdaten.
Es berechnet vorab Merkmale, die unsere Modelle für maschinelles Lernen für Online-Vorhersagen verwenden. Es gibt zwei Arten von Berechnungsmethoden für die Streaming-Computing-Pipeline: zeitbasiert und ereignisbasiert.
Zeitbasiert. Die Anzahl der Transaktionen wird alle 10 Minuten berechnet. Dies führt zu einer gewissen Veralterung, verringert aber die Latenz.
Ereignisbasiert. Funktionen werden auf Grundlage des eintreffenden Ereignisses berechnet. Dies verringert die Veralterung, erhöht jedoch leicht die Latenz.
Wir bevorzugen es, möglichst auf Echtzeitberechnungen zu verzichten. Und zwar aus folgenden Gründen:
Es besteht ein Kompromiss zwischen Latenz und Veralterung. Das Berechnen von Features bei eingehenden Online-Anfragen beschränkt die Berechnungslogik auf einfache Ansätze. Während diese Methode die Veralterung verringert, erhöht die Feature-Berechnung die Vorhersagelatenz.
Eine unabhängige Skalierung stellt eine Herausforderung dar, da die Vorhersage- und Computerdienste voneinander abhängig sind.
On-Demand-Computing auf Basis von Anforderungsverkehr erzeugt einen unvorhersehbaren Skalierungsdruck.
Echtzeitberechnungen sind nicht an unsere Lösungen zur Modellüberwachung (Training-Serving-Skew) und Funktionsüberwachung anpassbar, da die Funktionen nicht in einer zentralen Datenbank, d. h. einem Feature Store, gespeichert sind.
Streamaufnahme
Die Stream-Ingestion-Komponente ist für die nahezu in Echtzeit erfolgende Aufnahme von Features aus der Machine-Learning-Plattform Kafka in unseren Feature Store verantwortlich. Feature Stores sind zentralisierte Datenbanken, die häufig verwendete Features enthalten. Sie spielen eine wesentliche Rolle in Machine-Learning-Pipelines. Weitere Informationen zu ihnen finden Sie in den folgenden Artikeln: Ein genauerer Blick auf unseren Machine-Learning-Feature-Store und Verwenden von MLOps zum Erstellen einer End-to-End-Machine-Learning-Pipeline in Echtzeit.
Bachspüle
Die Stream-Sink-Komponente ist hauptsächlich dafür verantwortlich, Echtzeit-Ereignisse je nach Projektanforderungen an ein bestimmtes Ziel zu leiten, beispielsweise hochverteilte Dateisysteme (HDFS) wie S3 oder andere externe Datenbanken wie ElasticSearch.
Für unser Risiko-KI-Team gibt es grundsätzlich zwei Datenanreicherungsmuster, die je nach Anwendungsfall auf Echtzeitdaten in Kafka angewendet werden können:
Statische Daten. Beispielsweise das Abrufen einer Liste beliebter Maker, die in S3 für P2P-bezogene Geschäftsprojekte in Flink-Jobs sitzen. Die Referenzdaten sind statisch und müssen nur seltener als einmal im Monat aktualisiert werden.
Dynamische Daten. Echtzeit-Wechselkurse (BTC zu USD) werden beispielsweise aus externen Datenbanken wie Redis bezogen. Die Suche pro Datensatz gewährleistet geringe Latenz und hohe Genauigkeit, wenn sich Referenzdaten ändern.
Datenbereitstellung
Die Datenbereitstellungskomponente der Pipeline ist für die Online-Vorhersage und Batch-Berechnung verantwortlich.
Online-Vorhersage. Dies geschieht, wenn Anfragen über den Decision Hub (die interne Regel-Engine unseres Risikoteams) eingehen. Der entsprechende Dienst ruft dann den Feature Store auf, um Features abzurufen und sie zur Bewertung an das maschinelle Lernmodell zu senden. Unser Risk AI-Team verfügt über mehr als 20 maschinelle Lernmodelle, die für die Bewältigung unterschiedlicher Geschäftsanforderungen entwickelt wurden.
Batch-Computing. Obwohl es zu einer Verzögerung von bis zu einigen Tagen führen kann, spielt es hier eine wichtige Rolle, da es die in Echtzeit berechneten Features ergänzt.
Abschließende Gedanken
Es ist wichtig zu beachten, dass der Kryptomarkt rund um die Uhr aktiv ist, im Gegensatz zu traditionellen Finanzmärkten, die Öffnungszeiten haben. Jede Sekunde gibt es einen kontinuierlichen Zustrom neuer Daten (Abhebungen, Einzahlungen, Transaktionen usw.), sodass wir nach böswilligen Akteuren Ausschau halten müssen, die versuchen, Benutzergelder oder persönliche Informationen zu stehlen.
Unser Risiko-KI-Team hat unermüdlich daran gearbeitet, ein ausgeklügeltes KI-System zu entwickeln und zu pflegen, das verdächtige Aktivitäten effektiv kennzeichnen kann. Dank ihrer Bemühungen können wir schnell handeln, um kompromittierte Binance-Konten vor potenziellen Verlusten zu schützen oder den Schaden so weit wie möglich zu begrenzen.
Bleiben Sie dran, um weitere Einblicke in unsere Bemühungen im Bereich maschinelles Lernen zu erhalten, oder sehen Sie sich unten einige unserer früheren Artikel an. Sie interessieren sich für eine Karriere im Bereich maschinelles Lernen bei Binance? Schauen Sie auf unserer Karriereseite unter Binance Engineering nach offenen Stellenangeboten.
Weitere Informationen
Ein genauerer Blick auf unseren Feature Store für maschinelles Lernen
Verwenden von MLOps zum Erstellen einer End-to-End-Pipeline für maschinelles Lernen in Echtzeit
Eine Feature-Engineering-Fallstudie zu Konsistenz und Betrugserkennung



