Podjetja vedno pogosteje uporabljajo strojno učenje (ML) za sprejemanje odločitev v skoraj realnem času, kot so umestitev oglasa, dodelitev voznika, priporočanje izdelka ali celo dinamično določanje cen izdelkov in storitev. Modeli ML dajejo napovedi glede na nabor vhodnih podatkov, znanih kot lastnosti, podatkovni znanstveniki pa enostavno porabijo več kot 60 % svojega časa za načrtovanje in gradnjo teh funkcij. Poleg tega so zelo natančne napovedi odvisne od pravočasnega dostopa do vrednosti funkcij, ki se sčasoma hitro spreminjajo, kar še dodatno oteži nalogo gradnje visoko razpoložljive in natančne rešitve. Na primer, model za aplikacijo za deljenje prevozov lahko izbere najboljšo ceno za prevoz z letališča, vendar le, če pozna število prejetih zahtevkov za prevoz v zadnjih 10 minutah in število potnikov, ki naj bi pristali v naslednjih 10 minut. Model usmerjanja v aplikaciji klicnega centra lahko izbere najboljšega razpoložljivega posrednika za dohodni klic, vendar je učinkovit le, če pozna zadnje klike stranke v spletni seji.
Čeprav je poslovna vrednost napovedi ML v skoraj realnem času ogromna, je arhitektura, ki je potrebna za njihovo zagotavljanje zanesljivo, varno in z dobro zmogljivostjo, zapletena. Rešitve potrebujejo visoko zmogljive posodobitve in pridobivanje najnovejših vrednosti funkcij v milisekundah z nizko zakasnitvijo, česar večina podatkovnih znanstvenikov ni pripravljena zagotoviti. Posledično so nekatera podjetja porabila milijone dolarjev za izum lastne lastniške infrastrukture za upravljanje funkcij. Druga podjetja so svoje aplikacije ML omejila na enostavnejše vzorce, kot je serijsko točkovanje, dokler prodajalci ML ne zagotovijo celovitejših že pripravljenih rešitev za spletne trgovine s funkcijami.
Za reševanje teh izzivov Trgovina s funkcijami Amazon SageMaker zagotavlja popolnoma upravljano centralno skladišče za funkcije ML, kar olajša varno shranjevanje in pridobivanje funkcij, ne da bi morali graditi in vzdrževati lastno infrastrukturo. Funkcijska trgovina vam omogoča definiranje skupin funkcij, uporabo paketnega vnosa in pretočnega vnosa, pridobivanje najnovejših vrednosti funkcij z enomestno milisekundno zakasnitvijo za zelo natančne spletne napovedi in ekstrahiranje pravilnih naborov podatkov v trenutku za usposabljanje. Namesto gradnje in vzdrževanja teh infrastrukturnih zmogljivosti dobite popolnoma upravljano storitev, ki se prilagaja, ko vaši podatki rastejo, omogoča skupno rabo funkcij med ekipami in vašim podatkovnim znanstvenikom omogoča, da se osredotočijo na gradnjo odličnih modelov ML, namenjenih poslovnim primerom uporabe, ki spreminjajo igro. Ekipe lahko zdaj enkrat zagotovijo robustne funkcije in jih večkrat uporabijo v različnih modelih, ki jih lahko izdelajo različne ekipe.
Ta objava predstavlja popoln primer, kako lahko združite inženiring funkcij pretakanja s trgovino funkcij, da v skoraj realnem času sprejemate odločitve, podprte z ML. Prikazujemo primer uporabe za odkrivanje goljufij s kreditnimi karticami, ki posodablja zbirne funkcije iz toka transakcij v živo in uporablja pridobivanje funkcij z nizko zakasnitvijo za pomoč pri odkrivanju goljufivih transakcij. Preizkusite sami, tako da obiščete našo GitHub repo.
Primer uporabe goljufije s kreditno kartico
Ukradene številke kreditnih kartic lahko kupite v velikem obsegu na temnem spletu iz prejšnjih uhajanj ali vdorov organizacij, ki hranijo te občutljive podatke. Prevaranti kupujejo te sezname kartic in poskušajo opraviti čim več transakcij z ukradenimi številkami, dokler kartica ni blokirana. Ti napadi goljufij se običajno zgodijo v kratkem časovnem obdobju, kar je mogoče zlahka opaziti pri preteklih transakcijah, saj se hitrost transakcij med napadom bistveno razlikuje od običajnega vzorca porabe imetnika kartice.
Naslednja tabela prikazuje zaporedje transakcij z ene kreditne kartice, kjer ima imetnik kartice najprej vzorec resnične porabe, nato pa doživi napad goljufije, ki se začne 4. novembra.
cc_num | trans_time | znesek | fraud_label |
… 1248 | 01. november 14:50:01 | 10.15 | 0 |
... 1248 | 02. november 12:14:31 | 32.45 | 0 |
... 1248 | 02. november 16:23:12 | 3.12 | 0 |
... 1248 | 04. november 02:12:10 | 1.01 | 1 |
... 1248 | 04. november 02:13:34 | 22.55 | 1 |
... 1248 | 04. november 02:14:05 | 90.55 | 1 |
... 1248 | 04. november 02:15:10 | 60.75 | 1 |
... 1248 | 04. november 13:30:55 | 12.75 | 0 |
Za to objavo urimo model ML, da opazi tovrstno vedenje z inženirskimi funkcijami, ki opisujejo vzorec porabe posamezne kartice, kot je število transakcij ali povprečni znesek transakcije s te kartice v določenem časovnem oknu. Ta model ščiti imetnike kartic pred goljufijami na prodajnem mestu z zaznavanjem in blokiranjem sumljivih transakcij, preden se lahko zaključi plačilo. Model daje napovedi v kontekstu z nizko zakasnitvijo v realnem času in se zanaša na prejemanje najnovejših izračunov funkcij, da se lahko odzove na nenehni napad goljufije. V resničnem scenariju bi funkcije, povezane z vzorci porabe imetnika kartice, tvorile le del nabora funkcij modela, vključimo pa lahko informacije o trgovcu, imetniku kartice, napravi, uporabljeni za plačilo, in vse druge podatke, ki so lahko pomembne za odkrivanje goljufij.
Ker se naš primer uporabe opira na oblikovanje vzorcev porabe posamezne kartice, je ključnega pomena, da lahko v toku transakcij prepoznamo kreditne kartice. Večina javno dostopnih naborov podatkov o odkrivanju goljufij teh informacij ne zagotavlja, zato uporabljamo Python Ponarejevalec knjižnico za ustvarjanje niza transakcij, ki pokrivajo 5-mesečno obdobje. Ta nabor podatkov vsebuje 5.4 milijona transakcij, razdeljenih na 10,000 edinstvenih (in ponarejenih) številk kreditnih kartic, in je namerno neuravnotežen, da bi se ujemal z realnostjo goljufij s kreditnimi karticami (samo 0.25 % transakcij je goljufivih). Na kartico spreminjamo število transakcij na dan in zneske transakcij. Oglejte si naše GitHub repo Za več podrobnosti.
Pregled rešitve
Naš model za odkrivanje goljufij želi klasificirati transakcije s kreditnimi karticami tako, da opazi izbruh nedavnih transakcij, ki se bistveno razlikuje od običajnega vzorca porabe imetnika kartice. Sliši se dovolj preprosto, toda kako ga zgradimo?
Naslednji diagram prikazuje celotno arhitekturo naše rešitve. Menimo, da bo ta isti vzorec dobro deloval za različne primere uporabe združevanja pretakanja. Na visoki ravni vzorec vključuje naslednjih pet kosov:
- Trgovina s funkcijami – Shrambo funkcij uporabljamo za zagotavljanje repozitorija funkcij z visoko zmogljivimi zapisi in varnimi branji z nizko zakasnitvijo, pri čemer uporabljamo vrednosti funkcij, ki so organizirane v več skupin funkcij.
- Zaužitje serije – Paketno zajemanje zajema označene zgodovinske transakcije s kreditnimi karticami in ustvarja skupne funkcije in razmerja, potrebna za usposabljanje modela za odkrivanje goljufij. Uporabljamo an Obdelava Amazon SageMaker službo in vgrajena posoda Spark za izračun skupnega tedenskega štetja in povprečja zneskov transakcij ter njihovo zaužitje v trgovini funkcij za uporabo v spletnem sklepanju.
- Model usposabljanja in uvajanja – Ta vidik naše rešitve je preprost. Uporabljamo Amazon SageMaker usposobiti model z uporabo vgrajen algoritem XGBoost o združenih značilnostih, ustvarjenih iz preteklih transakcij. Model je postavljen na končno točko SageMaker, kjer obdeluje zahteve za odkrivanje prevar pri transakcijah v živo.
- Pretakanje zaužitja - An Analitika podatkov Amazon Kinesis za aplikacijo Apache Flink, ki jo podpirajo teme Apache Kafka v Amazon upravljano pretakanje za Apache Kafka (MSK) (Amazon MSK) izračuna agregirane funkcije iz transakcijskega toka in an AWS Lambda funkcija posodablja spletno trgovino s funkcijami. Apache Flash je priljubljeno ogrodje in motor za obdelavo podatkovnih tokov.
- Pretakanje napovedi – Nenazadnje naredimo napovedi goljufij v toku transakcij, pri čemer uporabljamo Lambda za pridobivanje združenih funkcij iz spletne trgovine s funkcijami. Za izračun transakcijskih razmerij uporabljamo najnovejše podatke funkcij in nato pokličemo končno točko za odkrivanje goljufij.
Predpogoji
Ponujamo Oblikovanje oblaka AWS predlogo za ustvarjanje predpogojnih virov za to rešitev. Naslednja tabela navaja sklade, ki so na voljo za različne regije.
V naslednjih razdelkih podrobneje raziskujemo vsako komponento naše rešitve.
Trgovina s funkcijami
Modeli ML se zanašajo na dobro zasnovane funkcije, ki prihajajo iz različnih podatkovnih virov, s tako preprostimi transformacijami, kot so izračuni, ali tako zapletenimi, kot je večstopenjski cevovod, ki zahteva ure računalniškega časa in zapleteno kodiranje. Feature Store omogoča ponovno uporabo teh funkcij v skupinah in modelih, kar izboljša produktivnost podatkovnih znanstvenikov, pospeši čas za trženje in zagotovi doslednost vnosa modela.
Vsaka funkcija v trgovini s funkcijami je organizirana v logično skupino, imenovano a skupina funkcij. Odločite se, katere skupine funkcij potrebujete za svoje modele. Vsak ima lahko na desetine, stotine ali celo tisoče funkcij. Skupine funkcij se upravljajo in prilagajajo neodvisno, vendar so vse na voljo za iskanje in odkrivanje v skupinah podatkovnih znanstvenikov, odgovornih za številne neodvisne modele ML in primere uporabe.
Modeli ML pogosto zahtevajo funkcije iz več skupin funkcij. Ključni vidik skupine značilnosti je, kako pogosto je treba njene lastnosti lastnosti posodobiti ali materializirati za nadaljnje usposabljanje ali sklepanje. Nekatere funkcije osvežite urno, nočno ali tedensko, podnabor funkcij pa mora biti pretočen v trgovino s funkcijami v skoraj realnem času. Pretočno predvajanje vseh posodobitev funkcij bi povzročilo nepotrebno zapletenost in lahko celo zmanjšalo kakovost distribucije podatkov, ne da bi vam omogočili, da odstranite izstopajoče.
V našem primeru uporabe ustvarimo skupino funkcij z imenom cc-agg-batch-fg
za združene funkcije kreditne kartice, posodobljene v paketu, in eno imenovano cc-agg-fg
za funkcije pretakanja.
O cc-agg-batch-fg
Skupina funkcij se posodablja vsako noč in zagotavlja skupne funkcije za preteklo obdobje 1 tedna. Ponovni izračun 1-tedenskih združevanj pretočnih transakcij ne ponuja smiselnih signalov in bi bil izguba virov.
Nasprotno pa naš cc-agg-fg
skupino funkcij je treba posodobiti na pretočni način, ker ponuja najnovejše številke transakcij in povprečne zneske transakcij v 10-minutnem časovnem oknu. Brez združevanja pretakanja ne bi mogli zaznati tipičnega vzorca napadov goljufije hitrega zaporedja nakupov.
Z izolacijo funkcij, ki se vsako noč znova izračunajo, lahko izboljšamo prepustnost vnosa za naše funkcije pretakanja. Ločevanje nam omogoča optimizacijo zaužitja za vsako skupino neodvisno. Pri načrtovanju za vaše primere uporabe upoštevajte, da bodo modeli, ki zahtevajo funkcije iz velikega števila skupin funkcij, morda želeli narediti več pridobitev iz shrambe funkcij vzporedno, da se izognete dodajanju čezmerne zakasnitve v tok dela predvidevanja v realnem času.
Skupine funkcij za naš primer uporabe so prikazane v naslednji tabeli.
cc-agg-fg | cc-agg-batch-fg |
cc_num (ID zapisa) | cc_num (ID zapisa) |
trans_time | trans_time |
num_trans_last_10m | num_trans_last_1w |
avg_amt_last_10m | avg_amt_last_1w |
Vsaka skupina funkcij mora imeti eno funkcijo, ki se uporablja kot identifikator zapisa (za to objavo številka kreditne kartice). Identifikator zapisa deluje kot primarni ključ za skupino funkcij, ki omogoča hitro iskanje in združevanje med skupinami funkcij. Zahtevana je tudi funkcija časa dogodka, ki shrambi funkcij omogoča sledenje zgodovini vrednosti lastnosti skozi čas. To postane pomembno, če se ozremo na stanje lastnosti v določenem trenutku.
V vsaki skupini funkcij sledimo številu transakcij na posamezno kreditno kartico in njenemu povprečnemu znesku. Edina razlika med obema skupinama je časovno obdobje, ki se uporablja za združevanje. Za združevanje pretočnih tokov uporabljamo 10-minutno okno, za združevanje paketov pa enotedensko.
S trgovino funkcij imate prilagodljivost pri ustvarjanju skupin funkcij, ki so samo brez povezave, samo na spletu ali tako na spletu kot brez povezave. Spletna trgovina omogoča zapisovanje z visoko zmogljivostjo in pridobivanje vrednosti funkcij z nizko zakasnitvijo, kar je idealno za spletno sklepanje. Trgovina brez povezave je na voljo z uporabo Preprosta storitev shranjevanja Amazon (Amazon S3), ki podjetjem daje zelo razširljiv repozitorij s celotno zgodovino vrednosti funkcij, razdeljenih po skupinah funkcij. Trgovina brez povezave je idealna za primere uporabe usposabljanja in serijskega točkovanja.
Ko omogočite skupino funkcij za zagotavljanje spletnih in nespletnih trgovin, SageMaker samodejno sinhronizira vrednosti funkcij s trgovino brez povezave in nenehno dodaja najnovejše vrednosti, da vam zagotovi celotno zgodovino vrednosti skozi čas. Druga prednost skupin funkcij, ki so na spletu in brez njega, je ta, da pomagajo preprečiti problem usposabljanja in poševnega sklepanja. SageMaker vam omogoča, da napajate tako usposabljanje kot sklepanje z enakimi transformiranimi vrednostmi funkcij, kar zagotavlja doslednost za spodbujanje natančnejših napovedi. Osredotočenost naše objave je na prikazu spletnega pretakanja funkcij, zato smo uvedli samo spletne skupine funkcij.
Zaužitje serije
Za materializacijo naših paketnih funkcij ustvarimo cevovod funkcij, ki se vsako noč izvaja kot opravilo SageMaker Processing. Delo ima dve odgovornosti: izdelava nabora podatkov za usposabljanje našega modela in zapolnitev paketne skupine funkcij z najsodobnejšimi vrednostmi za združene enotedenske funkcije, kot je prikazano v naslednjem diagramu.
Vsaka zgodovinska transakcija, uporabljena v kompletu za usposabljanje, je obogatena s skupnimi značilnostmi za določeno kreditno kartico, vključeno v transakcijo. Pogledamo nazaj v dve ločeni drsni časovni okni: 1 teden nazaj in predhodnih 10 minut. Dejanske značilnosti, ki se uporabljajo za urjenje modela, vključujejo naslednja razmerja med temi agregiranimi vrednostmi:
- amt_ratio1 =
avg_amt_last_10m / avg_amt_last_1w
- amt_ratio2 =
transaction_amount / avg_amt_last_1w
- štetje_razmerje =
num_trans_last_10m / num_trans_last_1w
Na primer, count_ratio
je število transakcij iz predhodnih 10 minut, deljeno s številom transakcij iz prejšnjega tedna.
Naš model ML se lahko iz teh razmerij nauči vzorcev običajne dejavnosti v primerjavi z goljufivo dejavnostjo, namesto da bi se zanašal na neobdelana štetja in zneske transakcij. Vzorci porabe na različnih karticah se zelo razlikujejo, zato normalizirana razmerja nudijo boljši signal modelu kot sami agregirani zneski.
Morda se sprašujete, zakaj je naše paketno opravilo računalniške funkcije z 10-minutnim pregledom nazaj. Ali ni to relevantno le za spletno sklepanje? Za ustvarjanje natančnega nabora podatkov za usposabljanje potrebujemo 10-minutno okno zgodovinskih transakcij. To je ključnega pomena za zagotavljanje skladnosti z 10-minutnim oknom pretakanja, ki bo uporabljeno v skoraj realnem času za podporo spletnega sklepanja.
Nastali nabor podatkov o vadbi iz obdelave lahko shranite neposredno kot CSV za usposabljanje modelov ali pa ga množično zaužijete v skupino funkcij brez povezave, ki se lahko uporablja za druge modele in druge ekipe za obdelavo podatkov za naslavljanje številnih drugih primeri uporabe. Na primer, lahko ustvarimo in zapolnimo skupino lastnosti, imenovano cc-transactions-fg
. Naše usposabljanje lahko nato potegne določen nabor podatkov o usposabljanju na podlagi potreb po našem specifičnem modelu, izbere določena časovna obdobja in podskupino zanimivih funkcij. Ta pristop omogoča več skupinam, da ponovno uporabijo skupine funkcij in vzdržujejo manj cevovodov funkcij, kar sčasoma znatno pripomore k prihrankom stroškov in produktivnosti. Ta primer zvezek prikazuje vzorec uporabe Feature Store kot osrednjega repozitorija, iz katerega lahko podatkovni znanstveniki izvlečejo nabore podatkov za usposabljanje.
Poleg ustvarjanja nabora podatkov za usposabljanje uporabljamo PutRecord
API, ki vsako noč postavi 1-tedenske agregacije funkcij v spletno trgovino s funkcijami. Naslednja koda prikazuje umestitev zapisa v spletno skupino funkcij z določenimi vrednostmi funkcij, vključno z identifikatorjem zapisa in časom dogodka:
Inženirji ML pogosto sestavijo ločeno različico kode za inženiring funkcij za spletne funkcije na podlagi izvirne kode, ki so jo napisali podatkovni znanstveniki za usposabljanje modelov. To lahko zagotovi želeno zmogljivost, vendar je dodaten razvojni korak in uvaja več možnosti za usposabljanje in nepravilno sklepanje. V našem primeru uporabe pokažemo, kako lahko uporaba SQL za združevanje omogoči podatkovnemu znanstveniku, da zagotovi isto kodo za paketno in pretočno predvajanje.
Pretakanje zaužitja
Feature Store zagotavlja enomestno milisekundno pridobitev vnaprej izračunanih funkcij in ima lahko tudi učinkovito vlogo pri rešitvah, ki zahtevajo pretočno zaužitje. Naš primer uporabe prikazuje oboje. Tedenski pregled nazaj se obravnava kot vnaprej izračunana skupina funkcij, materializirana vsako noč, kot je prikazano prej. Zdaj pa se poglobimo v to, kako sproti izračunavamo funkcije, združene v 10-minutnem oknu, in jih vnesemo v shrambo funkcij za poznejše spletno sklepanje.
V našem primeru uporabe vnesemo transakcije s kreditnimi karticami v živo v izvorno temo MSK in uporabimo Kinesis Data Analytics za aplikacijo Apache Flink za ustvarjanje združenih funkcij v ciljni temi MSK. Aplikacija je napisana z uporabo Apache Flink SQL. Flink SQL poenostavi razvoj pretočnih aplikacij z uporabo standardnega SQL. Flink se je enostavno naučiti, če ste kdaj delali z bazo podatkov ali sistemom, podobnim SQL, tako da ostanete skladni z ANSI-SQL 2011. Poleg SQL lahko vgradimo aplikacije Java in Scala Analitika podatkov Amazon Kinesis z uporabo odprtokodnih knjižnic, ki temeljijo na Apache Flink. Nato uporabimo funkcijo Lambda za branje ciljne teme MSK in vnesemo združene funkcije v skupino funkcij SageMaker za sklepanje. Ustvarjanje aplikacije Apache Flink s Flinkovim API-jem SQL je preprosto. Flink SQL uporabljamo za združevanje pretočnih podatkov v izvorni temi MSK in njihovo shranjevanje v ciljno temo MSK.
Za ustvarjanje skupnih štetij in povprečnih zneskov, gledano nazaj v 10-minutnem oknu, uporabimo naslednjo poizvedbo Flink SQL za vhodno temo in napeljemo rezultate do ciljne teme:
cc_num | znesek | Datum čas | num_trans_last_10m | avg_amt_last_10m |
… 1248 | 50.00 | November-01,22: 01: 00 | 1 | 74.99 |
… 9843 | 99.50 | November-01,22: 02: 30 | 1 | 99.50 |
… 7403 | 100.00 | November-01,22: 03: 48 | 1 | 100.00 |
… 1248 | 200.00 | November-01,22: 03: 59 | 2 | 125.00 |
… 0732 | 26.99 | 01. november, 22:04:15 | 1 | 26.99 |
… 1248 | 50.00 | November-01,22: 04: 28 | 3 | 100.00 |
… 1248 | 500.00 | November-01,22: 05: 05 | 4 | 200.00 |
V tem primeru upoštevajte, da ima zadnja vrstica v zadnjih 10 minutah od kreditne kartice do 1248 štetje štiri transakcije in ustrezen povprečni znesek transakcije 200.00 USD. Poizvedba SQL je skladna s poizvedbo, ki se uporablja za spodbujanje ustvarjanja našega nabora podatkov o usposabljanju, s čimer se izognemo preoblikovanju v treningu in sklepanju.
Ko se transakcije pretakajo v aplikacijo Kinesis Data Analytics za združevanje Apache Flink, aplikacija pošlje združene rezultate naši funkciji Lambda, kot je prikazano v naslednjem diagramu. Funkcija Lambda prevzame te funkcije in zapolni cc-agg-fg
skupina funkcij.
Najnovejše vrednosti funkcij pošljemo v shrambo funkcij iz Lambde s preprostim klicem API-ja PutRecord. Sledi glavni del kode Python za shranjevanje skupnih funkcij:
Zapis pripravimo kot seznam poimenovanih vrednostnih parov, vključno s trenutnim časom kot časom dogodka. API za shranjevanje funkcij zagotavlja, da ta novi zapis sledi shemi, ki smo jo določili, ko smo ustvarili skupino funkcij. Če je zapis za ta primarni ključ že obstajal, je zdaj v spletni trgovini prepisan.
Pretakanje napovedi
Zdaj, ko imamo pretočno zaužitje, s katerim shranjujemo najnovejše vrednosti funkcij, si oglejmo, kako napovedujemo goljufije.
Ustvarimo drugo funkcijo Lambda, ki uporablja izvorno temo MSK kot sprožilec. Za vsak nov transakcijski dogodek funkcija Lambda najprej pridobi paketne in pretočne funkcije iz Feature Store. Za odkrivanje anomalij v obnašanju kreditne kartice naš model išče skoke v nedavnih zneskih nakupov ali pogostosti nakupov. Funkcija Lambda izračuna preprosta razmerja med 1-tedenskimi in 10-minutnimi združevanji. Nato prikliče končno točko modela SageMaker z uporabo teh razmerij, da naredi napoved goljufije, kot je prikazano v naslednjem diagramu.
Z naslednjo kodo pridobimo vrednosti funkcij na zahtevo iz shrambe funkcij, preden pokličemo končno točko modela SageMaker:
SageMaker podpira tudi pridobivanje več zapisov funkcij z a en klic, tudi če so iz različnih skupin funkcij.
Nazadnje, ko je sestavljen vektor vhodne funkcije modela, pokličemo končno točko modela, da napovemo, ali je določena transakcija s kreditno kartico goljufiva. SageMaker podpira tudi pridobivanje več zapisov funkcij z enim klicem, tudi če so iz različnih skupin funkcij.
sagemaker_runtime = boto3.client(service_name='runtime.sagemaker')
request_body = ','.join(features)
response = sagemaker_runtime.invoke_endpoint( EndpointName=ENDPOINT_NAME, ContentType='text/csv', Body=request_body)
probability = json.loads(response['Body'].read().decode('utf-8'))
V tem primeru se je model vrnil z 98-odstotno verjetnostjo, da je bila določena transakcija goljufiva, in je lahko uporabil funkcije združenega vnosa v skoraj realnem času na podlagi zadnjih 10 minut transakcij na tej kreditni kartici.
Preizkusite rešitev od konca do konca
Da bi prikazali celoten potek dela naše rešitve od konca do konca, preprosto pošljemo transakcije s kreditnimi karticami v našo izvorno temo MSK. Od tam prevzame naše avtomatizirano združevanje podatkov Kinesis Data Analytics za Apache Flink, ki ohranja vpogled v število in zneske transakcij v skoraj realnem času v Feature Store z drsečim 10-minutnim oknom za pregled nazaj. Te funkcije so združene z 1-tedenskimi skupnimi funkcijami, ki so bile v paketu že vnesene v shrambo funkcij, kar nam omogoča napovedovanje goljufije pri vsaki transakciji.
Pošljemo eno transakcijo s treh različnih kreditnih kartic. Nato simuliramo napad goljufije na četrto kreditno kartico, tako da v nekaj sekundah pošljemo veliko zaporednih transakcij. Izhod naše funkcije Lambda je prikazan na naslednjem posnetku zaslona. Po pričakovanjih so prve tri enkratne transakcije predvidene kot NOT FRAUD
. Od 10 goljufivih transakcij je prva predvidena kot NOT FRAUD
, vsi ostali pa so pravilno opredeljeni kot FRAUD
. Opazite, kako so združene funkcije posodobljene, kar pomaga doseči natančnejša predvidevanja.
zaključek
Pokazali smo, kako lahko Feature Store igra ključno vlogo v arhitekturi rešitve za kritične operativne poteke dela, ki potrebujejo pretočno združevanje in sklepanje z nizko zakasnitvijo. Z vzpostavljeno shrambo funkcij, ki je pripravljena za podjetja, lahko uporabite paketno in pretočno zaužitje za hranjenje skupin funkcij in dostopate do vrednosti funkcij na zahtevo za izvedbo spletnih napovedi za pomembno poslovno vrednost. Funkcije ML je zdaj mogoče deliti v velikem obsegu med številnimi skupinami podatkovnih znanstvenikov in na tisoče modelov ML, kar izboljšuje doslednost podatkov, natančnost modela in produktivnost podatkovnih znanstvenikov. Trgovina s funkcijami je zdaj na voljo in to lahko preizkusite celoten primer. Sporočite nam, kaj mislite.
Posebna zahvala vsem, ki ste prispevali k prejšnja objava bloga s podobno arhitekturo: Paul Hargis, James Leoni in Arunprasath Shankar.
O avtorjih
Mark Roy je glavni arhitekt strojnega učenja za AWS, ki strankam pomaga oblikovati in zgraditi rešitve AI/ML. Markovo delo pokriva širok spekter primerov uporabe ML, s primarnim zanimanjem za trgovine funkcij, računalniški vid, globoko učenje in razširjanje ML v podjetju. Pomagal je podjetjem v številnih panogah, vključno z zavarovalništvom, finančnimi storitvami, mediji in zabavo, zdravstvom, komunalnimi storitvami in proizvodnjo. Mark ima šest certifikatov AWS, vključno s certifikatom ML Specialty. Preden se je Mark pridružil podjetju AWS, je bil več kot 25 let arhitekt, razvijalec in tehnološki vodja, vključno z 19 leti v finančnih storitvah.
Raj Ramasubu je višji arhitekt za rešitve za analitiko, osredotočen na velike podatke in analitiko ter AI/ML s spletnimi storitvami Amazon. Strankam pomaga pri arhitekturi in izgradnji visoko razširljivih, zmogljivih in varnih rešitev v oblaku na AWS. Raj je več kot 18 let zagotavljal tehnično strokovno znanje in vodilno vlogo pri gradnji podatkovnega inženiringa, analitike velikih podatkov, poslovne inteligence in podatkovnih znanstvenih rešitev, preden se je pridružil AWS. Pomagal je strankam v različnih industrijskih vertikalah, kot so zdravstvo, medicinske naprave, znanost o življenju, maloprodaja, upravljanje premoženja, avtomobilsko zavarovanje, stanovanjski REIT, kmetijstvo, lastninsko zavarovanje, dobavna veriga, upravljanje dokumentov in nepremičnine.
Prabhakar Chandrasekaran je višji tehnični vodja računa s podporo za podjetja AWS. Prabhakar uživa v tem, da strankam pomaga zgraditi vrhunske rešitve AI/ML v oblaku. Sodeluje tudi s podjetniškimi strankami, ki jim zagotavlja proaktivno vodenje in operativno pomoč ter jim pomaga izboljšati vrednost njihovih rešitev pri uporabi AWS. Prabhakar ima šest AWS in šest drugih poklicnih certifikatov. Z več kot 20-letnimi poklicnimi izkušnjami je bil Prabhakar podatkovni inženir in vodja programa na področju finančnih storitev, preden se je pridružil AWS.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- Kovanje prihodnosti z Adryenn Ashley. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/use-streaming-ingestion-with-amazon-sagemaker-feature-store-and-amazon-msk-to-make-ml-backed-decisions-in-near-real-time/
- :ima
- : je
- $GOR
- 000
- 1
- 10
- 100
- 11
- 20 let
- 2011
- 7
- 8
- a
- Sposobna
- O meni
- dostop
- Račun
- natančnost
- natančna
- čez
- dejavnost
- aktov
- Ad
- Poleg tega
- Naslov
- Agent
- združevanje
- Kmetijstvo
- AI / ML
- letališče
- vsi
- že
- Amazon
- Amazon SageMaker
- Amazon Web Services
- znesek
- zneski
- analitika
- in
- Še ena
- kaj
- Apache
- narazen
- API
- aplikacija
- uporaba
- aplikacije
- pristop
- Arhitektura
- SE
- AS
- vidik
- sestavljeni
- sredstvo
- upravljanje premoženja
- pomoč
- At
- napad
- Napadi
- Avtomatizirano
- samodejno
- Na voljo
- povprečno
- AWS
- nazaj
- Backed
- temeljijo
- Osnova
- BE
- ker
- postane
- pred
- koristi
- BEST
- Boljše
- med
- Big
- Big Podatki
- blokirana
- blokiranje
- Blog
- telo
- Kupil
- izgradnjo
- Building
- zgrajena
- poslovni
- Poslovna inteligenca
- nakup
- by
- izračun
- izračuna
- Izračuni
- klic
- klicni center
- se imenuje
- kliče
- CAN
- Zmogljivosti
- voziček
- kartice
- Kartice
- primeru
- primeri
- center
- Osrednji
- nekatere
- certificiranje
- certifikati
- verige
- izzivi
- priložnost
- spremenite
- Izberite
- Razvrsti
- Cloud
- Koda
- Kodiranje
- kombinirani
- prihajajo
- Podjetja
- dokončanje
- kompleksna
- kompleksnost
- skladno
- zapleten
- komponenta
- celovito
- Izračunajte
- računalnik
- Računalniška vizija
- računalništvo
- dosledno
- Vsebuje
- ozadje
- stalno
- prispevali
- Core
- Ustrezno
- strošek
- prihranki pri stroških
- bi
- par
- kritje
- Ovitki
- ustvarjajo
- ustvaril
- ustvari
- Ustvarjanje
- Oblikovanje
- kredit
- kreditne kartice
- kreditne kartice
- kritično
- ključnega pomena
- Trenutna
- Stranke, ki so
- vrhunsko
- Temnomodra
- Dark Web
- datum
- Podatkovna analiza
- znanost o podatkih
- podatkovni znanstvenik
- Baze podatkov
- nabor podatkov
- Datum
- dan
- odloča
- odločitve
- globoko
- globoko učenje
- poda
- daje
- Povpraševanje
- izkazati
- dokazuje,
- razporejeni
- opisati
- Oblikovanje
- oblikovanje
- želeno
- destinacija
- Podatki
- Podrobnosti
- Odkrivanje
- Razvoj
- Razvojni
- Razvoj
- naprava
- naprave
- Razlika
- drugačen
- neposredno
- Odkritje
- Distribucije
- deljeno
- dokument
- upravljanje dokumentov
- dolarjev
- dont
- desetine
- pogon
- voznik
- med
- dinamično
- vsak
- prej
- enostavno
- Učinkovito
- omogočajo
- omogoča
- omogočanje
- konec koncev
- Končna točka
- Motor
- inženir
- Inženiring
- Inženirji
- ogromno
- dovolj
- obogatena
- zagotavlja
- zagotoviti
- Podjetje
- podjetja
- Zabava
- nepremičnine
- Tudi
- Event
- VEDNO
- vsi
- Primer
- Pričakuje
- izkušnje
- Doživetja
- strokovno znanje
- raziskuje
- dodatna
- ekstrakt
- ponaredek
- Moda
- FAST
- Feature
- Lastnosti
- končna
- finančna
- finančne storitve
- podjetja
- prva
- prilagodljivost
- Osredotočite
- osredotočena
- po
- sledi
- za
- obrazec
- štiri
- Četrti
- FRAME
- Okvirni
- goljufija
- odkrivanje goljufij
- goljufi
- goljufiva
- goljufive dejavnosti
- frekvenca
- iz
- polno
- v celoti
- funkcija
- Poleg tega
- ustvarjajo
- dobili
- Daj
- dana
- Giving
- dobro
- veliko
- zelo
- skupina
- Skupine
- raste
- Navodila
- žaga
- Ročaji
- se zgodi
- Imajo
- ob
- he
- zdravstveno varstvo
- pomoč
- pomagal
- pomoč
- Pomaga
- visoka
- zelo
- zgodovinski
- zgodovina
- drži
- URE
- Kako
- HTML
- http
- HTTPS
- Stotine
- ID
- idealen
- identificirati
- identifikator
- identificirati
- izvajali
- Pomembno
- izboljšanje
- Izboljšave
- izboljšanju
- in
- vključujejo
- Vključno
- Dohodni
- vedno
- Neodvisni
- neodvisno
- individualna
- industrij
- Industrija
- Podatki
- Infrastruktura
- vhod
- Namesto
- zavarovanje
- Intelligence
- namerno
- obresti
- Predstavlja
- prikliče
- vključeni
- IT
- ITS
- Java
- Job
- pridružil
- Pridružuje
- jpg
- json
- Imejte
- vzdrževanje
- Ključne
- Otrok
- Vedite
- znano
- Država
- velika
- Zadnja
- Latenca
- Zadnji
- vodi
- Vodja
- Vodstvo
- vodi
- puščanje
- UČITE
- učenje
- Lets
- najem
- Stopnja
- knjižnice
- Knjižnica
- življenje
- Znanost o življenju
- kot
- Limited
- Seznam
- seznami
- v živo
- logično
- Poglej
- si
- POGLEDI
- stroj
- strojno učenje
- vzdrževati
- vzdrževanje
- Znamka
- IZDELA
- Izdelava
- upravlja
- upravljanje
- upravitelj
- proizvodnja
- več
- znamka
- Markove
- Tržna
- Stave
- Maj ..
- smiselna
- mediji
- medicinski
- Trgovec
- milijonov
- milijoni
- moti
- min
- Minute
- ML
- Model
- modeli
- več
- Najbolj
- več
- Imenovan
- Nimate
- potrebe
- Novo
- Naslednja
- normalno
- november
- Številka
- številke
- of
- ponudba
- Ponudbe
- offline
- on
- ONE
- v teku
- na spletu
- open source
- operativno
- Optimizirajte
- Da
- organizacije
- Organizirano
- izvirno
- Ostalo
- naši
- izhod
- več
- Splošni
- lastne
- parov
- vzporedno
- del
- preteklosti
- Vzorec
- vzorci
- paul
- Plačilo
- Izvedite
- performance
- Obdobje
- kramp
- kos
- kosov
- cevi
- plinovod
- Kraj
- dajanje
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Predvajaj
- Točka
- Popular
- mogoče
- Prispevek
- napovedati
- napovedano
- napoved
- Napovedi
- Pripravimo
- pripravljeni
- prejšnja
- Cena
- cenitev
- primarni
- , ravnateljica
- Predhodna
- Proaktivna
- problem
- obravnavati
- proizvodnjo
- Izdelek
- produktivnost
- Izdelki
- strokovni
- profiliranje
- Program
- napovedane
- lastniško
- zagotavljajo
- če
- zagotavlja
- zagotavljanje
- javno
- nakup
- nakupi
- dal
- Dajanje
- Python
- kakovost
- hitro
- območje
- hitro
- precej
- Surovi
- Preberi
- pravo
- nepremičnine
- resnični svet
- v realnem času
- Reality
- prejetih
- prejema
- nedavno
- priporočilo
- zapis
- evidence
- regije
- povezane
- pomembno
- Preostalih
- odstrani
- Skladišče
- zahteva
- zahteva
- obvezna
- stanovanjskih
- viri
- Odzove
- Odgovor
- odgovornosti
- odgovorna
- REST
- povzroči
- rezultat
- Rezultati
- Trgovina na drobno
- ponovna
- Ride
- robusten
- vloga
- ROW
- sagemaker
- prodaja
- Enako
- Prihranki
- razširljive
- Lestvica
- luske
- skaliranje
- Scenarij
- Znanost
- Znanstvenik
- Znanstveniki
- točkovanje
- Iskalnik
- drugi
- sekund
- oddelki
- zavarovanje
- Varno
- izbiranje
- pošiljanja
- višji
- občutljiva
- ločena
- Zaporedje
- Storitev
- Storitve
- Zasedanje
- nastavite
- deli
- delitev
- Kratke Hlače
- Prikaži
- pokazale
- Razstave
- Signal
- signali
- pomemben
- bistveno
- Podoben
- Enostavno
- preprosto
- sam
- SIX
- nagniti
- drsna
- So
- Rešitev
- rešitve
- nekaj
- Nekaj
- vir
- Viri
- Vesolje
- Spark
- specialist
- Posebnost
- specifična
- hitrosti
- preživeti
- Poraba
- porabljen
- konice
- Komercialni
- namaz
- Skladovnice
- standardna
- Začetek
- Država
- Korak
- ukradeno
- shranjevanje
- trgovina
- trgovine
- shranjevanje
- naravnost
- tok
- pretočenih
- pretakanje
- tokovi
- taka
- dobavi
- dobavne verige
- podpora
- Podpira
- sumljiv
- sistem
- miza
- meni
- Skupine
- tehnični
- Tehnologija
- Predloga
- Hvala
- da
- O
- Vir
- Država
- njihove
- Njih
- sami
- te
- tisoče
- 3
- skozi
- pretočnost
- čas
- krat
- Naslov
- do
- temo
- Teme
- sledenje
- Vlak
- usposabljanje
- transakcija
- Transakcije
- transformacije
- preoblikovati
- sprožijo
- tipičen
- tipično
- edinstven
- up-to-date
- posodobljeno
- posodobitve
- us
- uporaba
- primeru uporabe
- Rabljeni
- javne gospodarske službe
- vrednost
- Vrednote
- raznolikost
- različnih
- VeloCity
- prodajalci
- različica
- vertikale
- Poglej
- Vizija
- vs
- Odpadki
- web
- spletne storitve
- teden
- Tedenski
- Dobro
- Kaj
- ki
- WHO
- široka
- Širok spekter
- bo
- okna
- z
- brez
- spraševati
- delo
- delal
- delovnih tokov
- deluje
- bi
- pisni
- XGBoost
- let
- Vi
- Vaša rutina za
- sami
- zefirnet