Hlavní Takeaways
Binance využívá modely strojového učení ke sledování podezřelé aktivity na platformě.
Problém známý jako zastaralé 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 poskytování dat.
Zpracování dat je dále rozděleno do tří kategorií: Stream computing, ingesting a sinking.
Přečtěte si, jak používáme strojové učení k ochraně ekosystému Binance.
Náš tým rizikové 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 vysvětlíme, jak náš tým rizikové umělé inteligence využívá streamovací kanál k zajištění reakcí v reálném čase kromě toho, 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 získáte základní přehled některých termínů, které budeme v tomto článku používat.
Dávkové a streamování
Inženýři strojového učení obvykle používají dva typy potrubí: 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 obvykle používají ke zpracování velkých objemů dat.
Na druhou stranu streamovací kanály zpracovávají data v reálném čase, když 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ž mohou vybrat prostředky z ukradeného účtu.
Všimněte si, že obě potrubí jsou stejně důležitá. Streamovací kanály jsou vynikající pro poskytování odpovědí v reálném čase, zatímco dávkové kanály jsou lepší při 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 zatuchliny
Stejně jako se lidé mohou stát méně efektivními v úkolu, pokud nebudou mít aktuální informace nebo techniky, modely strojového učení mohou být také méně přesné, pokud nejsou pravidelně aktualizovány podle situace.
Jedna věc, kterou nechcete, je model navržený tak, aby zabránil zaostávání podvodů. Důsledky se pohybují od modelu nesprávného označení legitimní transakce jako podvodné nebo neidentifikace kompromitovaného účtu. Proto používáme streaming, abychom zajistili, že modely prevence podvodů budou pracovat s daty v reálném čase.
Výpočetní model pro model převzetí účtu (ATO).
Vezměme si příklad z našeho modelu ATO, který trénujeme, abychom identifikovali účty, které zločinci unesli se zlým úmyslem. Jednou z vlastností tohoto modelu je počet transakcí, které konkrétní zákazník provedl za poslední minutu.
Hackeři mají tendenci postupovat podle sekvenčního vzoru a během krátké doby se zapojit do velkého počtu operací, jako jsou výběry. Náš systém musí v případě potenciálních hrozeb tuto funkci spočítat co nejdříve. To znamená minimalizovat prodlevy mezi okamžikem, kdy uživatel provede akci, a okamžikem, kdy jsou data o aktivitě tohoto 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 počítání
Všimněte si, že důležitost zastaralosti prvku může záviset na použitém modelu nebo prvku. Některé funkce jsou například relativně stabilní. Ve výše uvedeném případě ATO bychom také potřebovali získat data o výběrech uživatele za posledních 30 dní, abychom vypočítali poměr na základě jeho posledních transakcí.
V tomto případě je dávkové počítání v delších časových obdobích, jako jsou denní nebo hodinové intervaly, přijatelné i přes vyšší zastaralost vyplývající z čekání na příchod dat do datových skladů a na pravidelné spouštění dávkových úloh.
Vyvážení čerstvosti a latence
Nakonec by měl být výběr mezi dávkovým a proudovým potrubím proveden na základě specifických požadavků případu použití a příslušných funkcí. 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 čerstvost před latencí pro časově citlivé funkce. Výše uvedený diagram tuto potřebu ilustruje, protože počet operací pro získávání prvků by měl být tři místo dvou.
To je důvod, proč je kanál strojového učení v reálném čase zásadní pro každodenní operace našeho rizikového týmu.
Rozbití streamovacího potrubí
Strojové učení v reálném čase pro tým rizikové umělé inteligence Binance se primárně skládá ze dvou částí:
Zpracování dat (horní část diagramu)
Poskytová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:
Stream computing: funkce inženýrství
Příjem streamu: příjem funkce
Potopení toku: obohacení dat
Stream computing
Komponenta streamingu v potrubí je zodpovědná za inženýrství vlastností téměř v reálném čase, proces extrahování prvků z nezpracovaných dat.
Předpočítá funkce, které naše modely strojového učení použijí pro online predikci. Existují dva typy výpočetních metod pro streamování výpočetního kanálu: založené na čase a založené na událostech.
Časově založené. Výpočet počtu transakcí každých 10 minut. To zavádí určitou zastaralost, ale snižuje latenci.
Na základě událostí. Výpočet funkcí na základě přicházející události. To snižuje zatuchlost, ale mírně zvyšuje latenci.
Naší předností není co nejvíce využívat výpočet v reálném čase a zde je důvod:
Mezi latencí a zatuchlostí existuje kompromis. Výpočetní funkce při příchodu online požadavků omezují výpočetní logiku na odlehčené přístupy. Zatímco tato metoda snižuje zastaralost, výpočet funkce zvyšuje předpovědní latenci.
Nezávislé škálování je náročné, protože predikční a výpočetní služby na sobě závisí.
Počítání na vyžádání založené na provozu požadavků vytváří nepředvídatelný tlak na škálování.
Výpočty v reálném čase nelze přizpůsobit našim řešením pro monitorování modelu (trénink-servisování) a sledování funkcí, protože funkce nejsou uloženy v centrální databázi, tj. úložišti funkcí.
Příjem streamu
Komponenta pro příjem streamu je zodpovědná za příjem funkcí do našeho obchodu funkcí z platformy strojového učení Kafka v téměř reálném čase. Obchody 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: Bližší pohled na náš obchod s funkcemi strojového učení a Použití MLOps k vytvoření kompletního potrubí strojového učení v reálném čase.
Výlevka proudu
Komponenta stream sink je zodpovědná hlavně za ponoření událostí v reálném čase do konkrétního cíle – 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 rizikové umělé inteligence existují obecně dva vzorce obohacování 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ů sedících v S3 pro obchodní projekty související s P2P v úlohách Flink. Referenční data jsou statická a vyžadují aktualizaci méně než jednou za měsíc.
Dynamická data. Směnné kurzy v reálném čase (BTC k USD) jsou například získávány z externích databází, jako je Redis. Vyhledávání podle záznamu zajišťuje nízkou latenci a vysokou přesnost, pokud se referenční data změní.
Poskytování dat
Komponenta kanálu poskytující data je zodpovědná za online predikci a dávkové výpočty.
Online předpověď. K tomu dochází, když požadavky přicházejí přes Decision Hub (motor interních pravidel našeho týmu pro rizika). Příslušná služba pak zavolá do úložiště funkcí, aby získala funkce a odeslala je do modelu strojového učení k ohodnocení. Náš tým Risk AI má více než 20 modelů strojového učení navržených tak, aby zvládaly různé obchodní požadavky.
Dávkové počítání. I když může způsobit zpoždění až několik dní, hraje zde důležitou roli, protože doplňuje funkce počítané v reálném čase.
Závěrečné myšlenky
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 neustálému přílivu nových dat (výběry, vklady, obchody atd.), které vyžadují, abychom byli ve střehu, zda se nepokoušejí ukrást uživatelské finanční prostředky nebo osobní informace.
Náš tým rizikové umělé inteligence neúnavně pracoval na vývoji a údržbě sofistikovaného systému umělé inteligence, který dokáže účinně nahlásit podezřelou aktivitu. Díky jejich úsilí 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, abyste získali další informace o našem úsilí o strojové 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é nabídky práce.
Další čtení
Bližší pohled na náš obchod s funkcemi strojového učení
Využití MLOps k vytvoření end-to-end kanálu strojového učení v reálném čase
Případová studie funkce Feature Engineering v oblasti konzistence a detekce podvodů



