Galvenās līdzņemamās vietas
Kā pasaulē lielākajai kriptovalūtu biržai ir ļoti svarīgi, lai mums būtu riska noteikšanas sistēma, kas ir ātra, taču neapdraud precizitāti.
Problēma, ar kuru saskārāmies, bija nodrošināt, lai mūsu modeļi vienmēr izmantotu jaunāko informāciju, it īpaši, ja reāllaikā tiek konstatētas aizdomīgas konta darbības.
Lai panāktu stingrāku funkciju konsekvenci un lielāku ražošanas ātrumu, mēs tagad izdarām pamatotus pieņēmumus par saviem datiem un apvienojam pakešu un straumēšanas konveijerus.
Atklājiet, kā mūsu funkciju izstrādes konveijera izveide rada spēcīgas, konsekventas funkcijas, lai atklātu krāpnieciskas izņemšanas gadījumus platformā Binance.
Mūsu mašīnmācības (ML) konveijerā, par kuru varat uzzināt vairāk iepriekšējā rakstā, mēs nesen izveidojām automatizētu funkciju inženierijas konveijeru, kas pārveido neapstrādātus datus atkārtoti lietojamās tiešsaistes funkcijās, kuras var koplietot visos ar risku saistītajos modeļos.
Veidojot un testējot šo cauruļvadu, mūsu datu zinātnieki saskārās ar intriģējošu funkciju konsekvences problēmu: kā izveidot precīzu tiešsaistes funkciju kopu, kas laika gaitā dinamiski mainās?
Apsveriet šo reālās pasaules scenāriju: kriptovalūtu birža — šajā gadījumā Binance — mēģina atklāt krāpniecisku izņemšanu, pirms nauda tiek atstāta no platformas. Viens no iespējamiem risinājumiem ir savam modelim pievienot funkciju, kas nosaka laiku, kas pagājis kopš lietotāja pēdējās konkrētās darbības (piemēram, pieteikšanās vai mobilā tālruņa saistīšana). Tas izskatītos apmēram šādi:
user_id|last_bind_google_time_diff_in_days|...
1|3,52|...
Īstenošanas izaicinājums
Atslēgu skaits, kas nepieciešams, lai aprēķinātu un atjauninātu līdzekļus tiešsaistes līdzekļu veikalā, ir nepraktisks. Straumēšanas konveijera, piemēram, Flink, izmantošana būtu neiespējama, jo tā var aprēķināt tikai lietotājus ar ierakstiem, kas pašlaik nonāk Kafkā.
Kā kompromisu mēs varētu izmantot pakešu cauruļvadu un pieņemt zināmu kavēšanos. Pieņemsim, ka modelis var iegūt līdzekļus no tiešsaistes funkciju veikala un veikt reāllaika secinājumus aptuveni vienas stundas laikā. Tajā pašā laikā, ja paiet viena stunda, līdz funkciju krātuve pabeidz datu aprēķinus un pārņemšanu, pakešu konveijers teorētiski atrisinātu problēmu.
Diemžēl ir viena acīmredzama problēma: šāda partijas konveijera izmantošana ir ļoti laikietilpīga. Tas padara pabeigšanu vienas stundas laikā neiespējamu, ja esat pasaulē lielākā kriptovalūtu birža, kas nodarbojas ar aptuveni simts miljoniem lietotāju un TPS rakstīšanas ierobežojumu.
Mēs esam noskaidrojuši, ka labākā prakse ir izdarīt pieņēmumus par mūsu lietotājiem, tādējādi samazinot datu apjomu, kas nonāk mūsu funkciju veikalā.
Problēmas atvieglošana ar praktiskiem pieņēmumiem
Tiešsaistes funkcijas tiek uzņemtas reāllaikā un pastāvīgi mainās, jo tās ir visjaunākā vides versija. Ar aktīviem Binance lietotājiem mēs nevaram atļauties izmantot modeļus ar novecojušām funkcijām.
Mūsu sistēmai ir obligāti pēc iespējas ātrāk jāatzīmē visi aizdomīgie izņemšanas gadījumi. Jebkura papildu kavēšanās, pat par dažām minūtēm, ļaunprātīgam aktierim nozīmē vairāk laika, lai tiktu vaļā no saviem noziegumiem.
Tāpēc efektivitātes labad mēs pieņemam, ka nesenās pieteikšanās ir saistītas ar salīdzinoši lielāku risku:
Mēs atklājam, ka (250 dienas + 0,125[3/24 aizkave] diena) rada salīdzinoši mazākas kļūdas nekā (1 diena + 0,125[3/24 aizkave] diena).
Lielākā daļa darbību nepārsniegs noteiktu slieksni; pieņemsim 365 dienas. Lai ietaupītu laiku un skaitļošanas resursus, mēs izlaižam lietotājus, kuri nav pieteikušies vairāk nekā gadu.
Mūsu risinājums
Mēs izmantojam lambda arhitektūru, kas ietver procesu, kurā mēs apvienojam pakešu un straumēšanas cauruļvadus, lai panāktu spēcīgāku funkciju konsekvenci.
Kā konceptuāli izskatās risinājums?
Pakešu konveijers: veic funkciju izstrādi plašai lietotāju bāzei.
Straumēšanas cauruļvads: novērš pakešu konveijera aizkaves laiku nesenajiem pieteikšanās gadījumiem.
Ko darīt, ja ieraksts tiek ievadīts tiešsaistes līdzekļu veikalā starp pakešu pārsūtīšanas aizkaves laiku?
Mūsu funkcijas joprojām saglabā stingru konsekvenci pat tad, ja ieraksti tiek pārņemti vienas stundas partijas pārsūtīšanas aizkaves periodā. Tas ir tāpēc, ka tiešsaistes funkciju veikals, ko mēs izmantojam vietnē Binance, atgriež jaunāko vērtību, pamatojoties uz notikumu_laiku, ko norādījāt, izgūstot vērtību.
Pievienojieties mūsu komandai!
Vai vēlaties izmantot mašīnmācīšanos, lai aizsargātu pasaulē lielāko kriptoekosistēmu un tās lietotājus? Iepazīstieties ar Binance Engineering / AI mūsu karjeras lapā, lai uzzinātu par darba piedāvājumiem.
Lai iegūtu papildinformāciju, izlasiet šos noderīgos rakstus:
(emuārs) MLOps izmantošana reāllaika pilnīgas mašīnmācīšanās cauruļvada izveidei
(Emuārs) Sīkāks ieskats mūsu mašīnmācīšanās līdzekļu veikalā
