Binance používá k monitorování podezřelých aktivit na platformě modely strojového učení.
Účinnost takových modelů může negativně ovlivnit takzvaná neaktuálnost funkcí, která může vést k nepřesným predikcím a klasifikacím.
Náš kanál datových toků – neboli proces nepřetržitého zásobování modelu daty v reálném čase – tvoří dvě části: zpracování dat a obsluha dat.
Zpracování dat se dál dělí do tří kategorií: výpočty, používání a odesílání datových toků.
Zjistěte, jak pomocí strojového učení chráníme ekosystém Binance.

Náš tým pro řízení rizik pomocí umělé inteligence, složený z inženýrů zabývajících se strojovým učením a datových vědců, pracuje nepřetržitě na boji proti podvodům a ochraně uživatelů Binance. Využívá k tomu řešení s umělou inteligencí, která dokáží identifikovat a reagovat na potenciální hrozby, jako jsou například P2P (peer-to-peer) podvody, krádeže platebních údajů a pokusy o převzetí účtu.
V tomto článku vám kromě toho, co se děje v zákulisí, vysvětlíme, jak náš tým pro řízení rizik pomocí umělé inteligence zabezpečuje prostřednictvím kanálu datových toků reakce v reálném čase.
Pokud nevíte, co je strojové učení, doporučujeme vám přečíst si následující odstavec, abyste získali základní přehled o některých termínech, které v tomto článku používáme.
Inženýři zabývající se strojovým učením obvykle používají dva typy kanálů: dávkové kanály a kanály datových toků. Každý z nich má v závislosti na situaci svá pro a proti.
Dávkové kanály, jak už 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 kanály datových toků zpracovávají data v reálném čase tak, jak přichází. Proto jsou ideální v situacích, které vyžadují téměř okamžitou reakci, například k odhalení hackera dřív, než stihne z ukradeného účtu vybrat peníze.
Oba kanály jsou ale stejně důležité. Kanály datových toků jsou vynikající při poskytování odpovědí v reálném čase, zatímco dávkové kanály jsou lepší ke zpracování velkých objemů dat.
V případě prevence podvodů upřednostňujeme data v reálném čase, abychom předešli takzvané „neaktuálnosti modelu“, což znamená, že modely strojového učení zastarávají nebo jsou nepřesné.
Tak jak mohou být méně efektivní lidé, pokud nejsou při plnění úkolu průběžně informováni o nejnovějších zprávách nebo technikách, i modely strojového učení mohou být méně přesné, pokud nejsou pravidelně informovány ohledně aktuální situace.
Model, který má bránit podvodům, nemůže být neaktuální. Důsledky neaktuálnosti mohou být různé – model může nesprávně označit legitimní transakci za podvodnou nebo nerozpozná ohrožený účet. Proto používáme kanál datových toků, aby modely prevence podvodů pracovaly s daty v reálném čase.
Podíváme se na příklad našeho modelu hlídajícího pokusy o převzetí účtu, který trénujeme k identifikaci účtů převzatých zločinci. Jednou z funkcí měřených tímto modelem je počet transakcí, které konkrétní zákazník provedl za poslední minutu.
Hackeři mají tendenci v krátkém časovém období postupně provádět velký počet operací, například výběrů. V případě potenciálních hrozeb musí náš systém tuto funkci vypočítat co nejrychleji. To znamená minimalizovat prodlevy mezi okamžikem, kdy uživatel provede akci, a okamžikem, kdy jsou data o jeho činnosti zpracována našimi modely. Rozdíl mezi zastavením hackera a ztrátou všech peněz uživatele se měří v sekundách.
Další informace o tom, jak zpožděné funkce ovlivňují účinnost modelu, najdete v článku na webu LinkedIn Engineering: Near real-time features for near real-time personalization (Funkce v téměř reálném čase pro personalizaci v téměř reálném čase).
Význam neaktuálnosti funkce závisí na použitém modelu nebo funkci. Některé funkce jsou například relativně stabilní. Ve výše uvedeném případu modelu hlídajícího pokusy o převzetí účtu bychom zároveň potřebovali údaje o výběrech uživatele za posledních 30 dní, abychom na základě posledních transakcí mohli vypočítat jejich poměr.
V takovém případě jsou dávkové výpočty v delších časových intervalech, jako jsou denní nebo hodinové intervaly, přijatelné, i když z čekání na příchod dat do datových skladů a na pravidelné spouštění dávkových úloh plyne vyšší neaktuálnost.
Volba mezi dávkovým kanálem a kanálem datových toků by koneckonců měla vycházet z konkrétních požadavků daného využití a daných funkcí. Pečlivé zvážení těchto faktorů nám umožňuje vytvářet efektivní systémy prevence podvodů, které chrání naše uživatele.

Použitím kanálu datových toků můžeme u časově citlivých funkcí upřednostnit aktuálnost před zpožděním. Výše uvedený diagram tuto potřebu znázorňuje, protože načtení funkcí by mělo proběhnout ve třech operacích místo dvou.
Proto je pro každodenní činnost našeho týmu pro řízení rizik strojové učení v reálném čase tak důležitá.
Strojové učení v reálném čase, které používá tým Binance pro řízení rizik pomocí umělé inteligence, je tvořeno především dvěma hlavními částmi:
Zpracování dat (horní část diagramu)
Poskytování dat (dolní část diagramu)

Pokud jde o zpracování dat, můžeme náš kanál datových toků (operace Flink) rozdělit podle jeho úkolů do tří kategorií:
Výpočty datových toků: vytváření funkcí
Poskytování datových proudů: poskytování funkcí
Odesílání datových toků: obohacování dat
Prvek výpočtů datových toků je v kanálu zodpovědný za vytváření funkcí v téměř reálném čase, tedy za proces extrakce funkcí ze surových dat.
Předvypočítává funkce, které naše modely strojového učení použijí k online predikci. Výpočty datových toků mají dva typy výpočetních metod: časové a událostní.
Časové: každých 10 minut vypočítávají počet transakcí. To přináší určitou neaktuálnost, ale snižuje zpoždění.
Událostní: vypočítávají funkce na základě příchozí události. To snižuje neaktuálnost, ale mírně zvyšuje zpoždění.
Upřednostňujeme nepoužívat výpočty v reálném čase, pokud je to jen trochu možné, a důvod je následující:
Mezi zpožděním a neaktuálností existuje přímá úměra. Výpočet funkcí s příchodem online požadavků omezuje výpočetní logiku na nenáročné přístupy. Tato metoda sice snižuje neaktuálnost, ale výpočet funkcí zpožďuje predikci.
Nezávislé škálování je náročné, protože predikční a výpočetní služby jsou na sobě závislé.
Výpočty na vyžádání založené na objemu požadavků vytváří nepředvídatelný tlak na škálování.
Výpočty v reálném čase nelze přizpůsobit našemu sledování modelu (zkreslení při trénování–obsluhování) ani sledování funkcí, protože tyto funkce nejsou uloženy v centrální databázi (úložišti funkcí).
Prvek poskytování datových toků je zodpovědný za poskytování funkcí z platformy pro strojové učení operace Kafka do našeho úložiště funkcí v téměř reálném čase. Úložiště funkcí jsou centralizované databáze, které obsahují běžně používané funkce. V kanálech strojového učení hrají zásadní roli. Více se o nich dozvíte v následujících článcích: Bližší pohled na naše úložiště funkcí strojového učení a Využití MLOps k vytvoření koncového kanálu pro strojové učení v reálném čase.
Prvek odesílání datových toků je v závislosti na požadavcích projektu zodpovědný především za odesílání událostí v reálném čase do konkrétního cíle – například do vysoce distribuovaných souborových systémů (HDFS), jako je S3, nebo do jiných externích databází, jako je ElasticSearch.
Náš tým pro řízení rizik pomocí umělé inteligence má k dispozici obecně dvě struktury obohacování dat, které je možné v závislosti na způsobu využití používat na data v reálném čase operace Kafka:
Statická data: například načtení seznamu oblíbených makerů, kteří se nachází v S3, pro obchodní projekty související s P2P v operacích Flink. Referenční data jsou statická a vyžadují aktualizaci méně než jednou měsíčně.
Dynamická data: směnné kurzy v reálném čase (například BTC/USD) se získávají z externích databází, jako je Redis. Vyhledávání podle záznamu zajišťuje v případě změny referenčních dat nízké zpoždění a vysokou přesnost.
Prvek obsluhy dat kanálu je zodpovědný za online predikci a dávkové výpočty.
Online predikce: k online predikci dochází, když požadavky přichází přes Decision Hub (interní mechanismus pravidel našeho týmu pro řízení rizik). Příslušná služba pak zavolá úložiště funkcí, aby načetlo funkce a odeslalo je modelu strojového učení k vyhodnocení. Náš tým pro řízení rizik pomocí umělé inteligence má k dispozici víc než 20 modelů strojového učení určených k řešení různých obchodních požadavků.
Dávkové výpočty: přestože mohou znamenat až několikadenní zpoždění, hrají zde důležitou roli, protože doplňují funkce vypočítané v reálném čase.
Kryptoměnové trhy na rozdíl od tradičních finančních trhů, které mají otevírací a zavírací dobu, fungují nepřetržitě. Každou vteřinu dochází k nepřetržitému přílivu nových dat (výběry, vklady, obchody atd.), takže se před zločinci, kteří se snaží ukrást finanční prostředky nebo osobní údaje uživatelů, musíme mít na pozoru.
Náš tým pro řízení rizik pomocí umělé inteligence neúnavně pracuje na vývoji a údržbě sofistikovaného systému umělé inteligence, který dokáže efektivně označovat podezřelé aktivity. Díky jejich úsilí můžeme napadené účty Binance rychle ochránit před možnými ztrátami nebo alespoň co nejvíc zmírnit škody.
O našem úsilí v oblasti strojového učení připravujeme další články a také si můžete projít některé z našich předchozích článků níže. Máte zájem o kariéru v oblasti strojového učení ve společnosti Binance? Volná pracovní místa najdete na kariérní stránce Binance v části Engineering.