Hauptthemen des Beitrags:

  • Binance nutzt Modelle des maschinellen Lernens, um verdächtige Aktivitäten auf der Plattform zu überwachen.

  • Ein Problem, das als veraltete/ungenaue Funktionen bekannt ist, kann sich negativ auf die Leistung solcher Modelle auswirken und dazu führen, dass sie ungenaue Vorhersagen oder Klassifizierungen treffen.

  • Unsere Streaming-Pipeline – oder der Prozess der kontinuierlichen Versorgung des Modells mit Echtzeitdaten – besteht aus zwei Teilen: Datenverarbeitung und Datenbereitstellung.

  • Die Datenverarbeitung ist in drei Kategorien unterteilt: Stream Computing, Datenerfassung (Ingest) und Datenentleerung (Sinking).

Unser KI-Risikoteam aus Ingenieuren für maschinelles Lernen und Datenwissenschaftlern arbeitet rund um die Uhr, um Betrug zu bekämpfen und Binance-Benutzer zu schützen. Um dies zu erreichen, nutzen sie KI-gesteuerte Lösungen, die potenzielle Bedrohungen wie Peer-to-Peer-Betrug (P2P), Diebstahl von Zahlungsdaten und Kontoübernahmeangriffe (ATO) erkennen und darauf reagieren können, um nur einige zu nennen.

In diesem Artikel besprechen wir, wie unser KI-Risikoteam eine Pipeline nutzt, um Echtzeitreaktionen sicherzustellen, und was hinter den Kulissen passiert.

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.

Charge und Fluss

Normalerweise verwenden Ingenieure für maschinelles Lernen zwei Arten von Pipelines: Batch und Streaming. Beides hat seine Vor- und Nachteile, je nachdem, was die Situation erfordert.

Batch-Pipelines verarbeiten Daten, wie der Name schon sagt, stapelweise. Im Allgemeinen werden sie von Ingenieuren zur Verarbeitung großer Datenmengen eingesetzt.

Andererseits verarbeiten Streaming-Pipelines Daten in Echtzeit, während sie erfasst werden. Dies macht sie ideal für Situationen, die eine nahezu sofortige Reaktion erfordern; Beispielsweise kann ein Hacker erkannt werden, bevor er Geld von einem gestohlenen Konto abheben kann.

Beide Pipelines sind gleich wichtig. Stream-Pipelines eignen sich hervorragend für die Bereitstellung von Antworten in Echtzeit, während Batch-Pipelines besser für die Verarbeitung großer Datenmengen geeignet sind.

Bei der Betrugsprävention müssen wir Echtzeitdaten Priorität einräumen, um eine Situation namens „Modellveraltung“ zu vermeiden, die sich auf veraltete oder ungenaue Modelle für maschinelles Lernen bezieht.

Die Bedeutung von Abgestandenheit (veraltet)

So wie Menschen bei einer Aufgabe weniger effektiv sein können, wenn sie nicht über die neuesten Informationen oder Techniken verfügen, können auch Modelle des maschinellen Lernens an Genauigkeit verlieren, wenn sie nicht regelmäßig entsprechend der Situation aktualisiert werden.

Sie möchten nicht, dass ein Modell zur Betrugsprävention obsolet wird. Die Konsequenzen reichen von der fälschlichen Kennzeichnung einer legitimen Transaktion durch das Modell als betrügerisch bis hin zur Nichtidentifizierung eines kompromittierten Kontos. Daher nutzen wir eine Streaming-Pipeline, um sicherzustellen, dass Betrugspräventionsmodelle mit Echtzeitdaten arbeiten.

Verarbeitung für ein Account Takeover Attacks (ATO)-Modell

Nehmen wir ein Beispiel aus unserem ATO-Modell, das wir trainieren, um Konten zu identifizieren, die Kriminelle mit böswilliger Absicht übernommen haben. 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 sequenziellen Muster zu folgen, indem sie in kurzer Zeit eine große Anzahl von Vorgängen, wie z. B. Abhebungen, durchführen. Unser System muss diese Besonderheit bei potenziellen Bedrohungen schnellstmöglich erkennen. Dies bedeutet, dass die Verzögerungen zwischen dem Zeitpunkt, zu dem ein Benutzer eine Aktion ausführt, und dem Zeitpunkt, zu dem die Aktivitätsdaten des Benutzers von unseren Modellen verarbeitet werden, minimiert werden. Nur wenige Sekunden können den Unterschied ausmachen, ob ein Hacker gestoppt wird oder ob ein Benutzer sein ganzes Geld verliert.

Weitere Informationen darüber, wie sich verzögerte Funktionen auf die Modellleistung auswirken, finden Sie in diesem LinkedIn Engineering-Artikel: „Near-Echtzeit-Funktionen für nahezu Echtzeit-Personalisierung“.

Die Rolle der Stapelverarbeitung

Beachten Sie, dass die Bedeutung der veralteten Funktion vom verwendeten Modell oder der verwendeten Funktion abhängen kann. Einige Funktionen sind beispielsweise relativ stabil. Im Fall des oben erwähnten ATO müssten wir auch die Abhebungsdaten der Benutzer der letzten 30 Tage abrufen, um ein Verhältnis basierend auf den letzten Transaktionen zu berechnen.

In diesem Fall ist die Stapelverarbeitung für längere Zeiträume, beispielsweise in täglichen oder stündlichen Abständen, akzeptabel, trotz der zunehmenden Veraltung, die durch das Warten auf den Dateneingang in Data Warehouses und die regelmäßige Ausführung von Stapelverarbeitungsaufträgen entsteht.

Aktualisierung und Latenz ausgleichen

Letztendlich sollte die Wahl zwischen Batch- und Stream-Pipelines auf der Grundlage der spezifischen Anwendungsfallanforderungen und -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 Ressourcen der Aktualisierung Vorrang vor der Latenz einräumen. Das obige Diagramm veranschaulicht diesen Bedarf, da die Anzahl der Vorgänge zum Abrufen der Ressourcen drei statt zwei betragen sollte.

Aus diesem Grund ist eine Pipeline für maschinelles Lernen in Echtzeit für den täglichen Betrieb unseres Risikoteams von entscheidender Bedeutung.

Details zur Stream-Pipeline

Das maschinelle Echtzeitlernen des Binance AI Risk-Teams besteht hauptsächlich aus zwei Teilen:

  • Datenverarbeitung (oben im Diagramm)

  • Datenlieferung (unten im Diagramm)

Datenverarbeitung

Bezüglich der Datenverarbeitung können wir unsere Streaming-Pipeline (Flink-Job) anhand ihrer Verantwortlichkeiten in drei Kategorien einteilen:

  • Stream-Verarbeitung: Feature Engineering

  • Datenerfassung: Merkmalserfassung

  • Datenentleerung: Datenanreicherung

Stream-Verarbeitung

Die Stream-Verarbeitungskomponente der Pipeline ist für das Feature-Engineering nahezu in Echtzeit verantwortlich, den Prozess des Extrahierens von Features aus Rohdaten.

Es verarbeitet Funktionen vor, die unsere Modelle für maschinelles Lernen für Online-Vorhersagen verwenden. Es gibt zwei Arten von Verarbeitungsmethoden für die Stream-Pipeline: zeitbasiert und ereignisbasiert.

  1. Zeitbasiert. Berechnet alle 10 Minuten die Anzahl der Transaktionen. Dieser Prozess ist etwas veraltet, reduziert aber die Latenz.

  2. Ereignisbasiert. Berechnet Ressourcen basierend auf dem stattfindenden Ereignis. Dieser Prozess verringert die Veraltung, erhöht jedoch leicht die Latenz.

Wir ziehen es vor, so weit wie möglich auf die Echtzeitverarbeitung zu verzichten. Hier ist der Grund dafür:

  1. Es gibt einen Kompromiss zwischen Latenz und Veralterung. Wenn Online-Anfragen eingehen, beschränkt die Ressourcenverarbeitung die Verarbeitungslogik auf einfache Ansätze. Obwohl diese Methode die Veralterung verringert, erhöht die Ressourcenverarbeitung die Vorhersagelatenz.

  2. Eine unabhängige Skalierung ist eine Herausforderung, da Prognose- und Verarbeitungsdienste voneinander abhängen.

  3. Die bedarfsgesteuerte Verarbeitung basierend auf der Anforderungsmenge erzeugt einen unvorhersehbaren Skalierungsdruck.

  4. Die Echtzeitverarbeitung ist nicht an unsere Modellüberwachungslösungen (Training-Serving-Skew, eine Diskrepanz, die zwischen der Leistung eines Modells während des Trainings und seiner Wirksamkeit bei der Bereitstellung auftreten kann) und Ressourcenüberwachungslösungen anpassbar, da Ressourcen nicht in einer zentralen Datenbank gespeichert werden, d. h. , ein Ressourcen-Repository.

Datenerfassung

Die Datenerfassungskomponente ist dafür verantwortlich, Funktionen in unserem Feature-Repository der Kafka-Plattform für maschinelles Lernen nahezu in Echtzeit zu erfassen. Feature-Repositories sind zentralisierte Datenbanken, die häufig verwendete Features enthalten. Sie spielen eine wesentliche Rolle in Pipelines für maschinelles Lernen. Mehr darüber erfahren Sie in den folgenden Artikeln: Ein detaillierter Blick auf unsere maschinellen Lernfähigkeiten und Verwendung von MLOps zum Aufbau einer End-to-End-Pipeline für maschinelles Lernen in Echtzeit.

Datenverlust

Die Data-Drain-Komponente ist in erster Linie dafür verantwortlich, Echtzeitereignisse an einem bestimmten Ziel zu sammeln – etwa Highly Distributed File Systems (HDFS) wie S3 oder anderen externen Datenbanken wie ElasticSearch – abhängig von den Projektanforderungen.

Für unser KI-Risikoteam gibt es im Allgemeinen zwei Datenanreicherungsmuster, die je nach Anwendungsfall auf Echtzeitdaten in Kafka angewendet werden können:

  1. Statische Daten. Zum Beispiel das Abrufen einer Liste beliebter Hersteller in S3 für P2P-bezogene Geschäftsprojekte in Flink-Jobs. Referenzdaten sind statisch und müssen nur seltener als einmal im Monat aktualisiert werden.

  2. Dynamische Daten. Echtzeit-Wechselkurse (z. B. BTC zu USD) werden aus externen Datenbanken wie Redis bezogen. Die Datensatzsuche sorgt für geringe Latenz und hohe Genauigkeit, wenn sich Referenzdaten ändern.

Datenlieferung

Die Datenbereitstellungskomponente der Pipeline ist für die Online-Prognose und Stapelverarbeitung verantwortlich.

  1. Online-Prognose. Tritt auf, wenn Anfragen über Decision Hub (unsere interne Regel-Engine unseres Risikoteams) eingehen. Der entsprechende Dienst fordert das Feature-Repository auf, die Features abzurufen und sie zum Markieren an das Modell für maschinelles Lernen zu senden. Unser KI-Risikoteam verfügt über mehr als 20 Modelle für maschinelles Lernen, die auf unterschiedliche Geschäftsanforderungen zugeschnitten sind.

  2. Stapelverarbeitung. Obwohl es zu einer Verzögerung von bis zu einigen Tagen kommen kann, spielt es eine wichtige Rolle, da es die in Echtzeit verarbeiteten Ressourcen ergänzt.

Schlussbetrachtungen

Es ist wichtig zu beachten, dass der Kryptomarkt im Gegensatz zu herkömmlichen Finanzmärkten, die Öffnungs- und Schließzeiten haben, rund um die Uhr geöffnet ist. Jede Sekunde gibt es einen kontinuierlichen Fluss neuer Daten (Abhebungen, Einzahlungen, Geschäfte usw.), der uns dazu zwingt, nach Kriminellen Ausschau zu halten, die versuchen, Benutzergelder oder persönliche Daten zu stehlen.

Unser KI-Risikoteam hat unermüdlich daran gearbeitet, ein hochentwickeltes KI-System zu entwickeln und zu warten, das verdächtige Aktivitäten wirksam kennzeichnen kann. Dank der Bemühungen dieses Teams können wir schnell daran arbeiten, kompromittierte Binance-Konten vor möglichen Verlusten zu schützen oder den Schaden so weit wie möglich zu begrenzen.

Bleiben Sie auf dem Laufenden, um weitere Informationen zu unseren maschinellen Lernbemühungen zu erhalten, oder lesen Sie unten einige unserer vorherigen Artikel. Interessiert an einer Karriere im Bereich maschinelles Lernen bei Binance? Schauen Sie sich Binance Engineering auf unserer Karriereseite für offene Stellen an.

Weiterführende Literatur

  • Ein detaillierter Blick auf unsere maschinellen Lernfähigkeiten

  • Verwendung von MLOps zum Aufbau einer End-to-End-Pipeline für maschinelles Lernen in Echtzeit

  • Eine Feature-Engineering-Fallstudie zu Konsistenz und Betrugserkennung