Kako je Amp na Amazonu uporabil podatke za povečanje angažiranosti strank, 2. del: Izgradnja prilagojene platforme za priporočila za oddaje z uporabo Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Kako je Amp na Amazonu uporabil podatke za povečanje angažiranosti strank, 2. del: Izgradnja prilagojene platforme za priporočila oddaj z uporabo Amazon SageMaker

Ojačevalnik je nova Amazonova radijska aplikacija v živo. Z Ampom lahko gostite lastno radijsko oddajo in predvajate pesmi iz Amazon Music kataloga ali pa se uglasite in poslušate oddaje, ki jih gostijo drugi uporabniki Amp. V okolju, kjer je vsebin veliko in raznolika, je pomembno, da uporabniško izkušnjo prilagodimo individualnemu okusu vsakega uporabnika, tako da zlahka najdejo oddaje, ki so jim všeč, in odkrijejo nove vsebine, v katerih bi uživali.

Amp uporablja strojno učenje (ML) za zagotavljanje prilagojenih priporočil za oddaje v živo in prihajajoče oddaje Amp na domači strani aplikacije. Priporočila se izračunajo z uporabo modela Random Forest z uporabo funkcij, ki predstavljajo priljubljenost oddaje (kot je število poslušanj in všečkov), priljubljenost ustvarjalca (kot je skupno število predvajanj nedavnih oddaj) in osebne afinitete uporabnika na temo in ustvarjalca oddaje. Afinitete se izračunajo implicitno iz podatkov o vedenju uporabnika ali izrecno iz tem, ki jih zanimajo (kot so pop glasba, baseball ali politika), kot je navedeno v njihovih uporabniških profilih.

To je 2. del serije o uporabi analitike podatkov in ML za Amp ter ustvarjanju platforme prilagojenega seznama priporočil za oddaje. Platforma je od svoje uvedbe maja 3 pokazala 2022-odstotno povečanje meritev vključenosti strank (všečkanje oddaje, spremljanje ustvarjalca, omogočanje obvestil o prihajajočih oddajah).

Nanašati se na Del 1 izvedeti, kako so bili vedenjski podatki zbrani in obdelani z uporabo podatkovnih in analitičnih sistemov.

Pregled rešitev

Priporočalnik oddaj za Amp, ki temelji na ML, ima pet glavnih komponent, kot je prikazano v naslednjem diagramu arhitekture:

  1. Mobilna aplikacija Amp.
  2. Zaledne storitve, ki zbirajo vedenjske podatke, kot so všečki in spremljanja, ter oddajajo informacije, povezane z oddajo, kot so posodobitve stanja, ko se oddaje začnejo predvajati.
  3. Vnos vedenjskih in prikaznih podatkov v realnem času ter sprotno (spletno) računalništvo in shranjevanje funkcij.
  4. Paketno (brez povezave) funkcija računalništva in shranjevanja.
  5. Sistem za priporočanje, ki obravnava dohodne zahteve iz ozadja aplikacije za pridobitev seznama oddaj. To vključuje sklepanje v realnem času za razvrščanje oddaj na podlagi personaliziranih in nepersonaliziranih funkcij.

Ta objava se osredotoča na 3., 4. in 5. del, da bi predstavila naslednje:

Naslednji diagram prikazuje visokonivojsko arhitekturo in njene komponente.

V naslednjih razdelkih ponujamo več podrobnosti glede računalništva s funkcijami v realnem času, paketnega računalništva s funkcijami, sklepanja v realnem času, zdravja delovanja in rezultatov, ki smo jih opazili.

Računalništvo funkcij v realnem času

Nekatere funkcije, kot je število všečkov in poslušanj za oddajo, je treba neprekinjeno pretakati in uporabljati takšne, kot so, medtem ko je treba druge, kot je število sej poslušanja, daljših od 5 minut, prav tako pretvoriti v realnem času kot neobdelane podatke za seje se pretaka. Te vrste funkcij, pri katerih je treba vrednosti izračunati v času sklepanja, imenujemo točka v času (PIT) funkcije. Podatke za funkcije PIT je treba hitro posodobiti, najnovejšo različico pa je treba pisati in brati z nizko zakasnitvijo (pod 20 milisekund na uporabnika za 1,000 oddaj). Podatki morajo biti tudi v trajni shrambi, saj lahko manjkajoči ali delni podatki povzročijo poslabšana priporočila in slabo uporabniško izkušnjo. Poleg zakasnitve branja/pisanja funkcije PIT zahtevajo tudi nizek čas refleksije. Čas razmisleka je čas, ki je potreben, da je funkcija na voljo za branje po oddaji prispevajočih dogodkov, na primer čas med tem, ko je poslušalcu všeč oddaja, in posodobitvijo funkcije PIT LikeCount.

Viri podatkov so zaledne storitve, ki neposredno služijo aplikaciji. Nekateri podatki se pretvorijo v meritve, ki se nato oddajajo prek Amazon Simple notification Service (Amazon SNS) poslušalcem na nižji stopnji, kot je cevovod za preoblikovanje funkcij ML. Baza podatkov v pomnilniku, kot je MemoryDB, je idealna storitev za trajno shranjevanje in izjemno hitro delovanje pri velikih količinah. Računalniška komponenta, ki transformira in zapisuje funkcije v MemoryDB, je Lambda. Promet aplikacije sledi dnevnim in tedenskim vzorcem vrhov in padcev, odvisno od ure in dneva. Lambda omogoča samodejno skaliranje dohodne količine dogodkov. Zaradi neodvisne narave vsake posamezne metrične transformacije je Lambda, ki je sama po sebi storitev brez stanja, primerna za ta problem. Postavljanje Storitev Amazon Simple Queue Service (Amazon SQS) med Amazon SNS in Lambda ne le preprečuje izgubo sporočila, temveč deluje tudi kot medpomnilnik za nepričakovane izbruhe prometa, za katerega vnaprej konfigurirane omejitve sočasnosti Lambda morda ne bodo zadostovale.

Paketno računalništvo funkcij

Funkcije, ki uporabljajo pretekle vedenjske podatke za predstavitev uporabnikovega nenehno razvijajočega se okusa, so bolj zapletene za izračun in jih ni mogoče izračunati v realnem času. Te funkcije se izračunajo s paketnim postopkom, ki se izvaja občasno, na primer enkrat na dan. Podatki za paketne funkcije bi morali podpirati hitro poizvedovanje za filtriranje in združevanje podatkov in lahko zajemajo daljša časovna obdobja, zato bodo večji. Ker se tudi paketne funkcije pridobijo in pošljejo kot vhodi za sklepanje v realnem času, jih je treba še vedno brati z nizko zakasnitvijo.

Zbiranje neobdelanih podatkov za paketno računalništvo s funkcijami nima podminutne zahteve po času refleksije, ki jo imajo funkcije PIT, zaradi česar je možno daljše medpomnjenje dogodkov in preoblikovanje meritev v paketu. Ta rešitev je uporabila Kinesis Data Firehose, upravljano storitev za hiter vnos pretočnih podatkov na več destinacij, vključno z Preprosta storitev shranjevanja Amazon (Amazon S3) za obstojne meritve v podatkovnem jezeru S3 za uporabo v izračunih brez povezave. Kinesis Data Firehose zagotavlja vmesni pomnilnik dogodkov in integracijo Lambda za enostavno zbiranje, paketno pretvorbo in ohranitev teh meritev v Amazon S3, ki jih pozneje uporabi paketno računalništvo. Paketni izračuni funkcij nimajo enakih zahtev za branje/pisanje z nizko zakasnitvijo kot funkcije PIT, zaradi česar je Amazon S3 boljša izbira, saj zagotavlja poceni in trajno shranjevanje za shranjevanje teh velikih količin poslovnih meritev.

Naš začetni model ML uporablja 21 paketnih funkcij, ki se dnevno izračunajo z uporabo podatkov, zajetih v zadnjih 2 mesecih. Ti podatki vključujejo zgodovino predvajanja in dejavnosti v aplikaciji na uporabnika ter rastejo s številom uporabnikov in pogostostjo uporabe aplikacije. Inženiring funkcij v tem obsegu zahteva avtomatiziran postopek za pridobivanje zahtevanih vhodnih podatkov, njihovo vzporedno obdelavo in izvoz rezultata v trajno shranjevanje. Infrastruktura za obdelavo je potrebna samo za čas trajanja izračunov. Obdelava žajblja ponuja vnaprej izdelane slike Docker, ki vključujejo Apache Spark in druge odvisnosti, potrebne za izvajanje opravil porazdeljene obdelave podatkov v velikem obsegu. Osnovno infrastrukturo za opravilo obdelave v celoti upravlja SageMaker. Sredstva gruče so omogočena za čas trajanja vašega opravila in počiščena, ko je opravilo končano.

Vsak korak v paketnem procesu – zbiranje podatkov, inženiring funkcij, obstojnost funkcij – je del delovnega toka, ki zahteva obravnavanje napak, ponovne poskuse in vmesne prehode stanj. z Korak funkcije AWS, lahko ustvarite stanje stroj in svoj potek dela razdelite na več korakov predprocesiranja in naknadnega procesiranja, kot tudi korak za ohranitev funkcij v SageMaker Feature Store ali drugih podatkov v Amazon S3. Stroj stanja v funkcijah korakov je mogoče sprožiti prek Amazon EventBridge za avtomatizacijo paketnega računalništva za izvajanje po določenem urniku, na primer enkrat vsak dan ob 10:00 UTC.

Ko so funkcije izračunane, jih je treba spremeniti v različice in shraniti za branje med sklepanjem in ponovnim usposabljanjem modela. Namesto da ustvarite lastno storitev za shranjevanje in upravljanje funkcij, lahko uporabite SageMaker Feature Store. Feature Store je v celoti upravljan, namensko izdelan repozitorij za shranjevanje, skupno rabo in upravljanje funkcij za modele ML. Shranjuje zgodovino funkcij ML v trgovini brez povezave (Amazon S3) in ponuja tudi API-je za spletno trgovino, ki omogoča branje najnovejših funkcij z nizko zakasnitvijo. Trgovina brez povezave lahko služi zgodovinskim podatkom za nadaljnje usposabljanje in preizkušanje modelov, spletno trgovino pa lahko pokličejo vaši API-ji, usmerjeni v stranke, da pridobijo funkcije za sklepanje v realnem času. Ko razvijamo naše storitve za zagotavljanje bolj prilagojene vsebine, predvidevamo usposabljanje dodatnih modelov ML in s pomočjo Feature Store iskanje, odkrivanje in ponovno uporabo funkcij med temi modeli.

Sklepanje v realnem času

Sklepanje v realnem času običajno zahteva gostovanje modelov ML za končnimi točkami. To bi lahko storili s spletnimi strežniki ali vsebniki, vendar to zahteva inženiring ML in infrastrukturo za upravljanje in vzdrževanje. SageMaker olajša uvajanje modelov ML na končne točke v realnem času. SageMaker vam omogoča usposabljanje in nalaganje modelov ML ter njihovo gostovanje z ustvarjanjem in konfiguriranjem končnih točk SageMaker. Sklepanje v realnem času izpolnjuje zahteve glede nizke zakasnitve za razvrščanje oddaj, ko jih brskate na domači strani Amp.

Poleg upravljanega gostovanja SageMaker zagotavlja upravljano skaliranje končne točke. Sklepanje SageMaker vam omogoča, da definirate politiko samodejnega skaliranja z najmanjšim in največjim številom primerkov ter ciljno uporabo za sprožitev skaliranja. Na ta način lahko preprosto povečate ali zmanjšate glede na spremembe povpraševanja.

Operativno zdravje

Število dogodkov, ki jih ta sistem obravnava za računalništvo funkcij v realnem času, se ustrezno spreminja z naravnim vzorcem uporabe aplikacije (večji ali manjši promet glede na čas v dnevu ali dan v tednu). Podobno se število zahtev, ki jih prejme za sklepanje v realnem času, spreminja s številom sočasnih uporabnikov aplikacije. Te storitve prav tako dobijo nepričakovane vrhove prometa zaradi samopromocije priljubljenih ustvarjalcev v družbenih medijih. Čeprav je pomembno zagotoviti, da se lahko sistem poveča in zmanjša, da uspešno in varčno služi dohodnemu prometu, je pomembno tudi spremljati operativne meritve in opozarjati na morebitne nepričakovane operativne težave, da preprečite izgubo podatkov in storitev za stranke. Spremljanje zdravja teh storitev je preprosto amazoncloudwatch. Pomembne metrike zdravja storitev, kot so napake in zakasnitve operacij, ter metrike uporabe, kot so pomnilnik, disk in uporaba procesorja, so na voljo že takoj z uporabo storitve CloudWatch. Naša razvojna ekipa uporablja nadzorne plošče z meritvami in avtomatizirano spremljanje, da zagotovi, da lahko našim strankam nudimo visoko razpoložljivost (99.8 %) in nizko zakasnitev (manj kot 200 milisekund od konca do konca, da dobimo priporočene oddaje na uporabnika).

Merjenje rezultata

Pred priporočilom za oddaje, ki temelji na ML, opisanem v tej objavi, je enostavnejši hevristični algoritem razvrščal oddaje Amp na podlagi uporabnikovih osebnih tem, ki jih zanimajo in ki jih sam prijavi v svojem profilu. Vzpostavili smo A/B test za merjenje učinka prehoda na priporočila, ki temeljijo na ML, z uporabnikovimi podatki iz njihovih preteklih interakcij z aplikacijami. Kot pokazatelje uspeha smo ugotovili izboljšave v meritvah, kot sta trajanje poslušanja in število dejanj sodelovanja (všečkanje oddaje, spremljanje ustvarjalca oddaje, vklop obvestil). A/B testiranje s 50 % uporabnikov, ki so prejeli priporočila za prikazovanje, razvrščenih zanje prek priporočila, ki temelji na ML, je pokazalo 3 % povečanje meritev angažiranosti strank in 0.5 % izboljšanje trajanja predvajanja.

zaključek

Z namensko ustvarjenimi storitvami je ekipa Amp uspela v manj kot 3 mesecih izdati API za priporočila prilagojenih oddaj, kot je opisano v tej objavi. Sistem se dobro prilagaja tudi nepredvidljivim obremenitvam, ki jih ustvarijo znani voditelji oddaj ali marketinške kampanje, ki bi lahko ustvarile priliv uporabnikov. Rešitev uporablja upravljane storitve za obdelavo, usposabljanje in gostovanje, kar pomaga zmanjšati čas, porabljen za vsakodnevno vzdrževanje sistema. Prav tako lahko spremljamo vse te upravljane storitve prek CloudWatcha, da zagotovimo neprekinjeno zdravje sistemov v proizvodnji.

A/B testiranje prve različice Amp-ovega priporočila, ki temelji na ML, v primerjavi s pristopom, ki temelji na pravilih (ki razvršča samo po temah, ki jih zanimajo stranke), je pokazalo, da priporočilo, ki temelji na ML, stranke izpostavi kakovostnejši vsebini iz bolj raznolikih tem , kar ima za posledico večje število sledilcev in omogočenih obvestil. Ekipa Amp si nenehno prizadeva za izboljšanje modelov, da bi zagotovila zelo ustrezna priporočila.

Za več informacij o trgovini s funkcijami obiščite Trgovina s funkcijami Amazon SageMaker in preverite druge primere uporabe strank v Blog za strojno učenje AWS.


O avtorjih

Kako je Amp na Amazonu uporabil podatke za povečanje angažiranosti strank, 2. del: Izgradnja prilagojene platforme za priporočila za oddaje z uporabo Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Tulipan Gupta je arhitekt rešitev pri Amazon Web Services. Sodeluje z Amazonom pri oblikovanju, izgradnji in uvajanju tehnoloških rešitev na AWS. Strankam pomaga pri sprejemanju najboljših praks med uvajanjem rešitve v AWS in je navdušenka nad Analytics in ML. V prostem času uživa v plavanju, pohodništvu in igranju družabnih iger.

Kako je Amp na Amazonu uporabil podatke za povečanje angažiranosti strank, 2. del: Izgradnja prilagojene platforme za priporočila za oddaje z uporabo Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.David Kuo je arhitekt rešitev pri Amazon Web Services. Sodeluje s strankami AWS pri oblikovanju, izgradnji in uvajanju tehnoloških rešitev na AWS. Dela s strankami na področju medijev in zabave ter se zanima za tehnologije strojnega učenja. V prostem času se sprašuje, kaj naj počne v prostem času.

Kako je Amp na Amazonu uporabil podatke za povečanje angažiranosti strank, 2. del: Izgradnja prilagojene platforme za priporočila za oddaje z uporabo Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Manolya McCormick je starejši inženir za razvoj programske opreme za Amp na Amazonu. Načrtuje in izdeluje porazdeljene sisteme z uporabo AWS za storitve aplikacij, namenjenih strankam. V prostem času uživa v branju in kuhanju novih receptov.

Kako je Amp na Amazonu uporabil podatke za povečanje angažiranosti strank, 2. del: Izgradnja prilagojene platforme za priporočila za oddaje z uporabo Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Jeff Christophersen je višji podatkovni inženir za Amp na Amazonu. Dela na načrtovanju, izdelavi in ​​uvajanju rešitev za velike podatke v AWS, ki spodbujajo uporabne vpoglede. Pomaga notranjim ekipam pri sprejemanju razširljivih in avtomatiziranih rešitev ter je navdušenec nad analitiko in velikimi podatki. V prostem času, ko ni na paru smuči, ga lahko najdete na njegovem gorskem kolesu.

Časovni žig:

Več od Strojno učenje AWS