Hlavní témata příspěvku:
Binance využívá modely strojového učení ke sledování podezřelé aktivity na platformě.
Problém známý jako zastaralé/nepřesné funkce může negativně ovlivnit výkon takových modelů a způsobit, že budou vytvářet nepřesné předpovědi nebo klasifikace.
Naše streamingové potrubí – neboli proces nepřetržitého zásobování modelu daty v reálném čase – se skládá ze dvou částí: zpracování dat a doručování dat.
Zpracování dat je rozděleno do tří kategorií: stream computing, sběr dat (ingesting) a vypouštění dat (sinking).
Náš tým pro rizika AI složený z inženýrů strojového učení a datových vědců nepřetržitě pracuje na boji proti podvodům a ochraně uživatelů Binance. Aby toho dosáhli, používají řešení řízená umělou inteligencí, která dokážou identifikovat a reagovat na potenciální hrozby, jako jsou peer-to-peer (P2P) podvody, krádeže platebních údajů a útoky na převzetí účtu (ATO), abychom jmenovali alespoň některé.
V tomto článku se budeme zabývat tím, jak náš tým rizik AI používá potrubí k zajištění reakcí v reálném čase, a také to, co se děje v zákulisí.
Pokud nejste obeznámeni se strojovým učením, doporučujeme přečíst si následující část, kde najdete základní přehled některých pojmů, které budeme v tomto článku používat.
Dávka a průtok
Inženýři strojového učení obvykle používají dva typy kanálů: dávkové a streamování. Obojí má svá pro a proti, podle toho, co situace vyžaduje.
Dávkové kanály, jak název napovídá, zpracovávají data v dávkách. Inženýři je obecně používají ke zpracování velkých objemů dat.
Na druhou stranu streaming pipelines zpracovávají data v reálném čase tak, jak jsou shromažďována. Díky tomu jsou ideální pro situace, které vyžadují téměř okamžitou odezvu; například odhalení hackera předtím, než bude moci vybrat prostředky z ukradeného účtu.
Obě potrubí jsou stejně důležitá. Proudové kanály jsou skvělé pro poskytování odpovědí v reálném čase, zatímco dávkové kanály jsou lepší pro zpracování velkých objemů dat.
V případě prevence podvodů musíme upřednostňovat data v reálném čase, abychom se vyhnuli situaci zvané „zastaralost modelu“, která odkazuje na zastaralé nebo nepřesné modely strojového učení.
Význam zatuchlosti (zastaralý)
Stejně jako se lidé mohou stát méně efektivními v úkolu, pokud nemají aktuální informace nebo techniky, mohou být modely strojového učení také méně přesné, pokud nejsou pravidelně aktualizovány podle situace.
Jedna věc, kterou nechcete, je, aby se model určený k zabránění podvodům stal zastaralým. Důsledky sahají od modelu nesprávného označení legitimní transakce jako podvodné až po selhání identifikace kompromitovaného účtu. Proto používáme streaming pipeline, abychom zajistili, že modely prevence podvodů budou pracovat s daty v reálném čase.
Zpracování pro model ATO (Account Takeover Attacks).
Vezměme si příklad z našeho modelu ATO, který trénujeme, abychom identifikovali účty, které zločinci převzali se zlým úmyslem. Jednou z charakteristik, kterou tento model měří, je počet transakcí, které konkrétní zákazník provedl v poslední minutě.
Hackeři mají tendenci řídit se sekvenčním vzorem prováděním velkého počtu operací, jako je stažení, v krátké době. Náš systém musí tuto zvláštnost v případě potenciálních hrozeb co nejrychleji identifikovat. To znamená minimalizovat prodlevy mezi dobou, kdy uživatel provede akci, a dobou, kdy jsou data o aktivitě uživatele zpracována našimi modely. Jen pár sekund může znamenat rozdíl mezi zastavením hackera a tím, že uživatel přijde o všechny své peníze.
Další informace o tom, jak zpožděné funkce ovlivňují výkon modelu, najdete v tomto článku LinkedIn Engineering: Funkce téměř v reálném čase pro personalizaci téměř v reálném čase.
Role dávkového zpracování
Pamatujte, že důležitost zastaralé funkce může záviset na používaném modelu nebo funkci. Některé funkce jsou například relativně stabilní. V případě výše zmíněného ATO bychom také potřebovali získat data o výběru uživatelů za posledních 30 dní, abychom vypočítali poměr založený na nejnovějších transakcích.
V tomto případě je přijatelné dávkové zpracování po delší období, jako jsou denní nebo hodinové intervaly, a to i přes zvýšenou neaktuálnost vyplývající z čekání na příchod dat do datových skladů a periodicky spouštěných dávkových úloh.
Vyrovnávání aktualizace a latence
Nakonec by volba mezi dávkovým a proudovým potrubím měla být provedena na základě konkrétních požadavků případu použití a příslušných schopností. Pečlivé zvážení těchto faktorů nám umožňuje vytvářet účinné systémy prevence podvodů, které chrání naše uživatele.

Použití streamingového kanálu nám umožňuje upřednostnit aktualizaci před latencí u časově citlivých zdrojů. Výše uvedený diagram tuto potřebu ilustruje, protože počet operací pro získání zdrojů by měl být tři místo dvou.
To je důvod, proč je potrubí pro strojové učení v reálném čase klíčové pro každodenní operace našeho rizikového týmu.
Podrobnosti o streamovacím potrubí
Strojové učení týmu Binance AI Risk v reálném čase se skládá hlavně ze dvou částí:
Zpracování dat (horní část diagramu)
Doručování dat (spodní část diagramu)

Zpracování dat
Pokud jde o zpracování dat, můžeme náš streamovací kanál (Flink Job) rozdělit do tří kategorií na základě jejich odpovědnosti:
Zpracování toku: Feature Engineering
Data Capture: Funkce Capture
Data Draining: Data Enrichment
Zpracování streamu
Komponenta zpracování datového toku je zodpovědná za inženýrství vlastností téměř v reálném čase, proces extrahování prvků z nezpracovaných dat.
Předběžně zpracovává funkce, které naše modely strojového učení použijí pro online predikci. Pro proudový kanál existují dva typy metod zpracování: založené na čase a založené na událostech.
Časově založené. Vypočítá počet transakcí každých 10 minut. Tento proces je poněkud zastaralý, ale snižuje latenci.
Na základě událostí. Vypočítá zdroje na základě události, která se děje. Tento proces snižuje zatuchlost, ale mírně zvyšuje latenci.
Naší předností není co nejvíce využívat zpracování v reálném čase a zde je důvod:
Existuje kompromis mezi latencí a zastaralostí. Jak přicházejí online požadavky, zpracování zdrojů omezuje logiku zpracování na odlehčené přístupy. Ačkoli tato metoda snižuje zastaralost, zpracování zdrojů zvyšuje latenci predikce.
Nezávislé škálování je náročné, protože předpovědní a zpracovatelské služby na sobě závisí.
Zpracování na vyžádání založené na množství požadavku vytváří nepředvídatelný tlak na změnu měřítka.
Zpracování v reálném čase není přizpůsobitelné našemu monitorování modelu (trénink-servis skew, nesoulad, který může nastat mezi výkonem modelu během tréninku a jeho efektivitou při nasazení) a řešením pro monitorování zdrojů, protože zdroje nejsou uloženy v centrální databázi, tzn. , úložiště zdrojů.
Sběr dat
Komponenta pro sběr dat je zodpovědná za zachycení funkcí v našem úložišti funkcí platformy strojového učení Kafka v téměř reálném čase. Úložiště funkcí jsou centralizované databáze, které obsahují běžně používané funkce, hrají zásadní roli v kanálech strojového učení. Více se o nich můžete dozvědět v následujících článcích: Hloubkový pohled na naši schopnost strojového učení a Používání MLOps k vytvoření kompletního kanálu strojového učení v reálném čase.
Únik dat
Komponenta odčerpávání dat je primárně zodpovědná za shromažďování událostí v reálném čase do konkrétního místa určení – jako jsou vysoce distribuované systémy souborů (HDFS) jako S3 nebo jiné externí databáze, jako je ElasticSearch – v závislosti na požadavcích projektu.
Pro náš tým rizik v oblasti umělé inteligence existují obecně dva vzorce obohacení dat, které lze použít na data v reálném čase v Kafka v závislosti na případu použití:
Statická data. Například získání seznamu oblíbených tvůrců v S3 pro obchodní projekty související s P2P v úlohách Flink. Referenční data jsou statická a je třeba je aktualizovat méně než jednou za měsíc.
Dynamická data. Směnné kurzy v reálném čase (například BTC k USD) jsou získávány z externích databází, jako je Redis. Vyhledávání záznamů zajišťuje nízkou latenci a vysokou přesnost, pokud se referenční data změní.
Doručování dat
Komponenta doručování dat kanálu je zodpovědná za online prognózování a dávkové zpracování.
Online předpověď. Vyskytuje se, když požadavky dorazí přes Decision Hub (náš modul interních pravidel týmu pro rizika). Příslušná služba požádá úložiště funkcí o načtení funkcí a jejich odeslání do modelu strojového učení k označení. Náš tým rizik v oblasti umělé inteligence má více než 20 modelů strojového učení navržených tak, aby odpovídaly různým obchodním požadavkům.
Dávkové zpracování. I když může způsobit zpoždění až několika dní, hraje důležitou roli, protože doplňuje zdroje zpracovávané v reálném čase.
Závěrečné úvahy
Je důležité si uvědomit, že kryptotrh funguje 24/7, na rozdíl od tradičních finančních trhů, které mají otevírací a zavírací dobu. Každou sekundu dochází k nepřetržitému toku nových dat (výběry, vklady, obchody atd.), které vyžadují, abychom byli ve střehu po zločincích, kteří se snaží ukrást uživatelské finanční prostředky nebo osobní údaje.
Náš tým rizik pro umělou inteligenci neúnavně pracuje na vývoji a údržbě sofistikovaného systému umělé inteligence, který dokáže účinně nahlásit podezřelou aktivitu. Díky úsilí tohoto týmu můžeme rychle pracovat na ochraně kompromitovaných účtů Binance před potenciálními ztrátami nebo co nejvíce zmírnit škody.
Zůstaňte naladěni na další informace o našem strojovém učení nebo si přečtěte některé z našich předchozích článků níže. Zajímá vás kariéra strojového učení ve společnosti Binance? Podívejte se na Binance Engineering na naší kariérní stránce pro otevřené pozice.
Další čtení
Podrobný pohled na naši schopnost strojového učení
Použití MLOps k vytvoření kompletního kanálu strojového učení v reálném čase
Případová studie funkce Feature Engineering o konzistentnosti a odhalování podvodů
