Principalele produse la pachet

  • Binance folosește modele de învățare automată pentru a monitoriza activitățile suspecte de pe platformă.

  • O problemă cunoscută sub numele de caracteristici învechite poate avea un impact negativ asupra performanței unor astfel de modele, determinându-le să facă predicții sau clasificări inexacte.

  • Conducta noastră de streaming – sau procesul de alimentare continuă a modelului cu date în timp real – constă din două părți: procesarea datelor și servirea datelor.

  • Procesarea datelor este împărțită în trei categorii: Stream computing, ingerare și scufundare.

Aflați cum folosim învățarea automată pentru a proteja ecosistemul Binance.

Echipa noastră de AI de risc, formată din ingineri de învățare automată și oameni de știință a datelor, lucrează non-stop pentru a combate frauda și pentru a proteja utilizatorii Binance. Pentru a realiza acest lucru, aceștia folosesc soluții bazate pe inteligență artificială care pot identifica și răspunde la potențialele amenințări, cum ar fi înșelătoriile peer-to-peer (P2P), furtul detaliilor de plată și atacurile de preluare a conturilor (ATO), pentru a numi câteva.

În acest articol, vom explica modul în care echipa noastră de AI de risc utilizează o conductă de streaming pentru a asigura răspunsuri în timp real, pe lângă ceea ce se întâmplă în culise.

Dacă nu sunteți familiarizat cu învățarea automată, vă recomandăm să citiți următoarea secțiune pentru a obține o prezentare generală de bază a unora dintre termenii pe care îi vom folosi pe parcursul acestui articol.

Loturi și Streaming

Inginerii de învățare automată folosesc de obicei două tipuri de conducte: lot și streaming. Ambele au avantajele și dezavantajele lor, în funcție de ce cere situația.

Conductele batch, după cum sugerează și numele, procesează datele în loturi. Inginerii le folosesc de obicei pentru a procesa volume mari de date.

Pe de altă parte, conductele de streaming procesează datele în timp real pe măsură ce sunt colectate. Acest lucru le face ideale pentru situațiile care necesită un răspuns aproape instantaneu; de exemplu, detectarea unui hacker înainte ca acesta să poată retrage fonduri dintr-un cont furat.

Rețineți că ambele conducte sunt la fel de importante. Conductele de streaming sunt excelente pentru a oferi răspunsuri în timp real, în timp ce conductele batch sunt mai bune la manipularea unor volume mari de date.

În cazul prevenirii fraudei, trebuie să acordăm prioritate datelor în timp real pentru a evita o situație numită „învechire a modelului”, care se referă la modelele de învățare automată care devin depășite sau inexacte.

Semnificația învechirii

La fel cum oamenii pot deveni mai puțin eficienți la o sarcină dacă nu rămân la curent cu cele mai recente informații sau tehnici, modelele de învățare automată pot deveni, de asemenea, mai puțin precise dacă nu sunt actualizate în mod regulat în funcție de situație.

Un lucru pe care nu-l doriți este un model conceput pentru a preveni ca frauda să devină învechită. Consecințele variază de la modelul care etichetează incorect o tranzacție legitimă ca fiind frauduloasă sau nu identifică un cont compromis. Prin urmare, folosim o conductă de streaming pentru a ne asigura că modelele de prevenire a fraudei funcționează cu date în timp real.

Calcularea pentru un model de preluare de cont (ATO).

Să luăm un exemplu din modelul nostru ATO, pe care îl antrenăm pentru a identifica conturile pe care infractorii le-au deturnat cu intenții rău intenționate. Una dintre caracteristicile măsurate de acest model este numărul de tranzacții pe care un anumit client le-a făcut în ultimul minut.

Hackerii tind să urmeze un model secvenţial, angajându-se într-un număr mare de operaţiuni, cum ar fi retragerile, pe o perioadă scurtă. Sistemul nostru trebuie să calculeze această caracteristică cât mai curând posibil în cazul unor potențiale amenințări. Aceasta înseamnă reducerea la minimum a întârzierilor între momentul în care utilizatorul ia măsuri și momentul în care datele de activitate ale acestui utilizator sunt procesate de modelele noastre. Doar câteva secunde pot fi diferența dintre oprirea unui hacker și pierderea unui utilizator de toți banii.

Pentru mai multe informații despre modul în care funcțiile întârziate afectează performanța modelului, puteți consulta acest articol al LinkedIn Engineering: Funcții aproape în timp real pentru personalizare aproape în timp real.

Rolul calculului batch

Rețineți că importanța învechirii caracteristicii poate depinde de modelul sau caracteristica utilizată. Unele caracteristici, de exemplu, sunt relativ stabile. În cazul ATO menționat mai sus, ar trebui, de asemenea, să extragem date despre retragerile utilizatorului din ultimele 30 de zile pentru a calcula un raport bazat pe cele mai recente tranzacții ale acestuia.

În acest caz, calculul batch pe perioade de timp mai lungi, cum ar fi intervale zilnice sau orare, este acceptabilă, în ciuda stării mai mari care rezultă din așteptarea ca datele să ajungă în depozitele de date și ca joburile batch să ruleze periodic.

Echilibrarea prospețimii și a latenței

În cele din urmă, alegerea între conductele în lot și fluxul de flux ar trebui făcută pe baza cerințelor specifice ale cazului de utilizare și a caracteristicilor în cauză. Luarea în considerare cu atenție a acestor factori ne permite să construim sisteme eficiente de prevenire a fraudelor care să ne protejeze utilizatorii.

Utilizarea unei conducte de streaming ne permite să acordăm prioritate prospețimii față de latență pentru funcțiile sensibile la timp. Diagrama de mai sus ilustrează această nevoie, deoarece numărul de operațiuni pentru preluarea caracteristicilor ar trebui să fie trei în loc de două.

Acesta este motivul pentru care o conductă de învățare automată în timp real este crucială pentru operațiunile de zi cu zi ale echipei noastre de risc.

Defalcarea conductei de streaming

Învățarea automată în timp real pentru echipa Binance AI riscă constă în principal din două părți:

  • Procesarea datelor (partea superioară a diagramei)

  • Difuzarea datelor (partea de jos a diagramei)

Procesarea datelor

În ceea ce privește prelucrarea datelor, putem împărți conducta noastră de streaming (Flink Job) în trei categorii în funcție de responsabilitățile lor:

  • Stream computing: inginerie de caracteristici

  • Ingestie de flux: asimilare de caracteristici

  • Scufundarea fluxului: îmbogățirea datelor

Stream computing

Componenta stream computing a conductei este responsabilă pentru ingineria caracteristicilor în timp aproape real, procesul de extragere a caracteristicilor din datele brute.

Precalculează funcțiile pe care modelele noastre de învățare automată le vor folosi pentru predicția online. Există două tipuri de metode de calcul pentru conducta de calcul în flux: bazate pe timp și bazate pe evenimente.

  1. Bazat pe timp. Calcularea numărului de tranzacții la fiecare 10 minute. Acest lucru introduce o oarecare oboseală, dar scade latența.

  2. Bazat pe evenimente. Calculul caracteristicilor pe baza evenimentului care sosește. Acest lucru scade stagnarea, dar crește ușor latența.

Preferința noastră este să nu folosim calculul în timp real cât mai mult posibil și iată de ce:

  1. Există un compromis între latență și stație. Caracteristicile de calcul pe măsură ce sosesc solicitările online limitează logica de calcul la abordări ușoare. În timp ce această metodă scade stagnarea, calculul caracteristicii crește latența predicției.

  2. Scalare independentă este o provocare, deoarece serviciile de predicție și de calcul depind unele de altele.

  3. Calculul la cerere, bazat pe traficul de solicitare, creează o presiune de scalare imprevizibilă.

  4. Calculul în timp real nu este adaptabil la soluțiile noastre de monitorizare a modelului (formare-servire oblică) și de monitorizare a caracteristicilor, deoarece caracteristicile nu sunt stocate într-o bază de date centrală, adică într-un magazin de caracteristici.

Ingestie de flux

Componenta de asimilare a fluxului este responsabilă pentru asimilarea în timp aproape real a funcțiilor în magazinul nostru de funcții de pe platforma de învățare automată Kafka. Magazinele de caracteristici sunt baze de date centralizate care adăpostesc caracteristici utilizate în mod obișnuit. Ele joacă un rol esențial în conductele de învățare automată. Puteți afla mai multe despre ele în următoarele articole: O privire mai atentă asupra magazinului nostru de funcții de învățare automată și utilizarea MLOps pentru a construi o conductă de învățare automată de la capăt la capăt în timp real.

Chiuvetă pentru flux

Componenta de colectare a fluxului este în principal responsabilă pentru cufundarea evenimentelor în timp real într-o anumită destinație - cum ar fi sistemele de fișiere foarte distribuite (HDFS) precum S3 sau alte baze de date externe, cum ar fi ElasticSearch - în funcție de cerințele proiectului.

Pentru echipa noastră de AI de risc, există, în general, două modele de îmbogățire a datelor care pot fi aplicate datelor în timp real din Kafka, în funcție de cazul de utilizare:

  1. Date statice. De exemplu, preluarea unei liste de producători populari care stau în S3 pentru proiecte de afaceri legate de P2P în joburile Flink. Datele de referință sunt statice și necesită doar actualizarea mai puțin de o dată pe lună.

  2. Date dinamice. Ratele de schimb în timp real (BTC în USD), de exemplu, sunt obținute din baze de date externe precum Redis. Căutarea per înregistrare asigură o latență scăzută și o precizie ridicată dacă datele de referință se modifică.

Servirea datelor

Componenta de servire a datelor a conductei este responsabilă de predicția online și de calculul loturilor.

  1. Predicție online. Acest lucru se întâmplă atunci când solicitările vin prin Decision Hub (motorul de reguli interne al echipei noastre de risc). Serviciul relevant va apela apoi magazinul de funcții pentru a prelua funcțiile și le va trimite modelului de învățare automată pentru punctare. Echipa noastră Risk AI are peste 20 de modele de învățare automată concepute pentru a face față diferitelor cerințe de afaceri.

  2. Calcul batch. Deși poate introduce o întârziere de până la câteva zile, joacă un rol important aici, deoarece completează caracteristicile calculate în timp real.

Gânduri de închidere

Este important de reținut că piața cripto funcționează 24/7, spre deosebire de piețele financiare tradiționale care au ore de deschidere și de închidere. În fiecare secundă, există un aflux continuu de date noi (retrageri, depozite, tranzacții etc.) care ne obligă să fim atenți la actorii răi care încearcă să fure fondurile utilizatorilor sau informațiile personale.

Echipa noastră de AI de risc a lucrat neobosit pentru a dezvolta și menține un sistem AI sofisticat care poate semnala în mod eficient activitățile suspecte. Datorită eforturilor lor, putem lucra rapid pentru a proteja conturile Binance compromise de potențiale pierderi sau pentru a atenua cât mai mult posibil daunele.

Rămâneți la curent pentru mai multe informații despre eforturile noastre de învățare automată sau consultați câteva dintre articolele noastre anterioare de mai jos. Vă interesează o carieră de învățare automată la Binance? Consultați Binance Engineering pe pagina noastră de cariere pentru postări de locuri de muncă deschise.

Lectură suplimentară

  • O privire mai atentă la magazinul nostru de funcții de învățare automată

  • Folosirea MLOps pentru a construi o conductă de învățare automată end-to-end în timp real

  • Un studiu de caz de inginerie caracteristică în consistența și detectarea fraudelor