Kuidas Amazoni Amp kasutas andmeid klientide kaasamise suurendamiseks, 2. osa: Isikupärastatud saatesoovitusplatvormi loomine Amazon SageMaker PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.

Kuidas Amazoni Amp kasutas andmeid klientide kaasamise suurendamiseks, 2. osa: isikupärastatud saatesoovitusplatvormi loomine Amazon SageMakeri abil

Võimendi on Amazoni uus otseülekande rakendus. Ampiga saate juhtida oma raadiosaadet ja esitada lugusid Amazon Musicu kataloogist või häälestada ja kuulata saateid, mida teised Ampi kasutajad hostivad. Keskkonnas, kus sisu on külluslik ja mitmekesine, on oluline kohandada kasutajakogemus vastavalt iga kasutaja maitsele, et nad saaksid hõlpsasti leida neile meeldivaid saateid ja avastada uut sisu, mis neile meeldiks.

Amp kasutab masinõpet (ML), et pakkuda rakenduse avalehel isikupärastatud soovitusi reaalajas ja tulevaste Amp-saadete kohta. Soovitused arvutatakse Random Foresti mudeli abil, kasutades funktsioone, mis kajastavad saate populaarsust (nt kuulamiste ja meeldimiste arv), looja populaarsust (nt viimaste saadete esitamiste koguarv) ja kasutaja isiklikke seoseid. saate teema ja looja juurde. Seosed arvutatakse kas kaudselt kasutaja käitumisandmete põhjal või otseselt huvipakkuvate teemade (nt popmuusika, pesapall või poliitika) põhjal, mis on esitatud nende kasutajaprofiilides.

See on 2. osa sarjast, mis käsitleb andmeanalüütika ja ML-i kasutamist Ampi jaoks ning isikupärastatud saatesoovituste loendi platvormi loomist. Platvorm on alates selle käivitamisest 3. aasta mais näidanud jälgitavate klientide seotuse mõõdikute (saate meeldimine, looja jälgimine, eelseisvate saadete märguannete lubamine) 2022% tõusu.

Viitama Osa 1 õppida, kuidas käitumisandmeid koguti ja töödeldi andme- ja analüüsisüsteemide abil.

Lahenduse ülevaade

Amp-i ML-põhisel saatesoovitajal on viis põhikomponenti, nagu on näidatud järgmisel arhitektuuriskeemil:

  1. Amp mobiilirakendus.
  2. Taustateenused, mis koguvad käitumisandmeid, nagu meeldimised ja jälgimised, ning edastavad saatega seotud teavet, näiteks olekuvärskendusi, kui saated lähevad otseülekandesse.
  3. Käitumuslike ja näituste andmete reaalajas allaneelamine ning reaalajas (võrgus) funktsioonide arvutamine ja salvestamine.
  4. Pakett (võrguühenduseta) funktsioonide andmetöötlus ja salvestusruum.
  5. Soovitussüsteem, mis käsitleb rakenduse taustaprogrammist saabuvaid päringuid saadete loendi hankimiseks. See hõlmab reaalajas järeldusi saadete järjestamiseks isikupärastatud ja isikupärastamata funktsioonide põhjal.

See postitus keskendub 3., 4. ja 5. osale, püüdes kirjeldada järgmist:

Järgmine diagramm näitab kõrgetasemelist arhitektuuri ja selle komponente.

Järgmistes jaotistes pakume lisateavet funktsioonide reaalajas andmetöötluse, pakettfunktsioonide andmetöötluse, reaalajas järelduste, tööseisundi ja vaadeldud tulemuste kohta.

Funktsioonide reaalajas arvutamine

Mõnda funktsiooni, nagu saate meeldimiste arv ja kuulamiste arv, tuleb pidevalt voogesitada ja kasutada sellisel kujul, samas kui teised, näiteks üle 5-minutiste kuulamisseansside arv, tuleb samuti reaalajas töötlemata andmetena teisendada. seansside jaoks voogesitatakse. Seda tüüpi tunnuseid, kus väärtusi tuleb arvutada järelduste tegemise ajal, nimetatakse punkt ajas (PIT) funktsioonid. PIT-funktsioonide andmeid tuleb kiiresti värskendada ning uusimat versiooni tuleks kirjutada ja lugeda madala latentsusajaga (alla 20 millisekundi kasutaja kohta 1,000 saate puhul). Andmed peavad olema ka püsivas salvestusruumis, kuna puuduvad või osalised andmed võivad põhjustada soovituste halvenemist ja kehva kliendikogemust. Lisaks lugemise/kirjutamise latentsusele nõuavad PIT-funktsioonid ka madalat peegeldusaega. Peegeldusaeg on aeg, mis kulub funktsiooni lugemiseks kättesaadavaks saamiseks pärast kaassündmuste väljastamist, näiteks aeg, mis kulub kuulajale, kui saade meeldis, ja PIT LikeCount funktsiooni värskendamiseni.

Andmete allikad on rakendust otse teenindavad taustateenused. Osa andmetest muudetakse mõõdikuteks, mida seejärel edastatakse Amazoni lihtne teavitusteenus (Amazon SNS) allavoolu kuulajatele, nagu ML funktsioonide teisenduskonveier. Mälusisene andmebaas, nagu MemoryDB, on ideaalne teenus vastupidavaks salvestuseks ja ülikiireks jõudluseks suurel helitugevusel. Arvutuskomponent, mis muudab ja kirjutab funktsioone MemoryDB-sse, on Lambda. Rakenduste liiklus järgib olenevalt kellaajast ja päevast igapäevaste ja iganädalaste tippude ja languste mustrid. Lambda võimaldab automaatset skaleerimist sissetulevate sündmuste mahu järgi. Iga üksiku meetrilise teisenduse sõltumatu olemus muudab selle probleemi jaoks hästi sobivaks ka Lambda, mis on eraldiseisev kodakondsuseta teenus. Panek Amazoni lihtsa järjekorra teenus (Amazon SQS) Amazon SNS-i ja Lambda vahel mitte ainult ei hoia ära sõnumite kadumist, vaid toimib ka puhvrina ootamatute liikluspuhvrite jaoks, mille esitamiseks ei pruugi Lambda samaaegsuse piirangud eelkonfigureeritud olla piisavad.

Funktsioonide komplektarvutus

Funktsioone, mis kasutavad ajaloolisi käitumisandmeid kasutaja pidevalt areneva maitse väljendamiseks, on keerulisem arvutada ja neid ei saa reaalajas arvutada. Need funktsioonid arvutatakse pakkprotsessi abil, mida käitatakse nii sageli, näiteks kord päevas. Pakettfunktsioonide andmed peaksid toetama kiiret päringute tegemist andmete filtreerimiseks ja koondamiseks ning võivad hõlmata pikki ajavahemikke, seega on nende maht suurem. Kuna pakettfunktsioone tuuakse ja saadetakse ka sisenditena reaalajas järelduste tegemiseks, tuleks neid siiski lugeda väikese latentsusega.

Toorandmete kogumisel funktsioonide komplekti arvutamiseks ei ole PIT-funktsioonidel nõutavat peegeldusaja lühemat minutit, mistõttu on võimalik sündmusi kauem puhverdada ja mõõdikuid pakettidena teisendada. See lahendus kasutas Kinesis Data Firehose'i, hallatavat teenust, et kiiresti sisestada voogesituse andmeid mitmesse sihtkohta, sealhulgas Amazoni lihtne salvestusteenus (Amazon S3), et säilitada S3 andmejärve mõõdikud, mida kasutatakse võrguühenduseta arvutustes. Kinesis Data Firehose pakub sündmuste puhvrit ja lambda integratsiooni, et neid mõõdikuid hõlpsalt koguda, partiidena teisendada ja Amazon S3-sse säilitada, et neid hiljem partiifunktsioonide andmetöötluses kasutada. Funktsioonide pakettarvutustel ei ole sama madala latentsusajaga lugemis-/kirjutamisnõudeid kui PIT-funktsioonidel, mistõttu on Amazon S3 parem valik, kuna see pakub odavat ja vastupidavat salvestusruumi nende suurte ärimõõdikute mahu salvestamiseks.

Meie esialgne ML-mudel kasutab 21 pakettfunktsiooni, mida arvutatakse iga päev, kasutades viimase 2 kuu jooksul kogutud andmeid. Need andmed hõlmavad nii taasesituse kui ka rakenduse seotuse ajalugu kasutaja kohta ning kasvavad koos kasutajate arvu ja rakenduse kasutamise sagedusega. Sellises mahus funktsioonide projekteerimine nõuab vajalike sisendandmete hankimiseks, paralleelseks töötlemiseks ja tulemuste püsivale salvestusruumi eksportimiseks automatiseeritud protsessi. Töötlemise infrastruktuuri on vaja ainult arvutuste ajaks. SageMakeri töötlemine pakub eelehitatud Dockeri kujutisi, mis sisaldavad Apache Sparki ja muid sõltuvusi, mis on vajalikud hajutatud andmetöötlustööde suuremahuliseks käitamiseks. Töötlemistöö aluseks olevat infrastruktuuri haldab täielikult SageMaker. Klastri ressursid on ette nähtud teie töö ajaks ja need puhastatakse, kui töö on lõpetatud.

Pakettprotsessi iga etapp – andmete kogumine, funktsioonide projekteerimine, funktsioonide püsivus – on osa töövoost, mis nõuab vigade käsitlemist, korduskatseid ja vahepealseid olekute üleminekuid. Koos AWS-i astmefunktsioonid, saate luua olekumasina ja jagada oma töövoo mitmeks eel- ja järeltöötluse etapiks, samuti funktsioonide säilitamiseks SageMaker Feature Store'is või muude andmete Amazon S3 jaoks. Sammufunktsioonide olekumasinat saab käivitada kaudu Amazon EventBridge partiiarvutuse automatiseerimiseks, et see töötaks määratud ajakava järgi, näiteks üks kord iga päev kell 10:00 UTC.

Pärast funktsioonide arvutamist tuleb need versioonida ja salvestada, et neid järeldamise ja mudeli ümberõppe ajal lugeda. Oma funktsioonide salvestus- ja haldusteenuse loomise asemel võite kasutada SageMakeri funktsioonide poodi. Funktsioonide pood on täielikult hallatav spetsiaalselt loodud hoidla ML-mudelite funktsioonide salvestamiseks, jagamiseks ja haldamiseks. See salvestab võrguühenduseta poe (Amazon S3) ML-funktsioonide ajaloo ja pakub veebipoele ka API-sid, mis võimaldavad lugeda uusimaid funktsioone madala latentsusajaga. Võrguühenduseta pood võib pakkuda ajaloolisi andmeid mudeli edasiseks väljaõppeks ja katsetamiseks ning teie kliendile suunatud API-d saavad veebipoodi helistada, et hankida funktsioone reaalajas järelduste tegemiseks. Kuna arendame oma teenuseid, et pakkuda rohkem isikupärastatud sisu, eeldame täiendavate ML-mudelite väljaõpet ning funktsioonide poe abil otsime, avastame ja taaskasutame nende mudelite funktsioone.

Reaalajas järeldus

Reaalajas järeldamine nõuab tavaliselt ML-mudelite hostimist lõpp-punktide taga. Saate seda teha veebiserverite või konteinerite abil, kuid selle haldamiseks ja hooldamiseks on vaja ML-i tehnilisi jõupingutusi ja infrastruktuuri. SageMaker muudab ML-mudelite juurutamise reaalajas lõpp-punktidesse lihtsaks. SageMaker võimaldab teil treenida ja üles laadida ML-mudeleid ning neid hostida, luues ja konfigureerides SageMakeri lõpp-punkte. Reaalajas järeldamine rahuldab saadete järjestamise madala latentsusajaga nõudeid, kui neid sirvitakse Ampi avalehel.

Lisaks hallatavale hostimisele pakub SageMaker hallatud lõpp-punktide skaleerimist. SageMakeri järeldus võimaldab teil määratleda automaatse skaleerimise poliitika minimaalse ja maksimaalse eksemplaride arvuga ning skaleerimise käivitamiseks kasutatava sihtkasutusega. Nii saate nõudluse muutudes hõlpsasti suurendada või vähendada.

Töötervishoid

Sündmuste arv, mida see süsteem funktsioonide reaalajas arvutamiseks käsitleb, muutub vastavalt rakenduse loomulikule kasutusmustrile (suurem või väiksem liiklus kellaajal või nädalapäeval). Samamoodi arvestab reaalajas järelduste tegemiseks saadud taotluste arv samaaegsete rakenduse kasutajate arvuga. Need teenused saavad ka ootamatuid liiklustippe populaarsete loojate enesereklaamide tõttu sotsiaalmeedias. Kuigi on oluline tagada, et süsteem saaks sissetuleva liikluse edukaks ja säästlikuks teenindamiseks suurendada ja vähendada, on oluline jälgida ka töömõõdikuid ja hoiatada ootamatute tööprobleemide eest, et vältida andmete ja teenuse kadumist klientidele. Nende teenuste seisundi jälgimine on lihtne kasutada Amazon CloudWatch. Olulised teenuse tervisemõõdikud, nagu tõrked ja toimingute latentsus, ning kasutusmõõdikud, nagu mälu, ketta ja protsessori kasutus, on CloudWatchi abil kohe saadaval. Meie arendusmeeskond kasutab mõõdikute armatuurlaudu ja automaatset jälgimist tagamaks, et suudame oma kliente teenindada kõrge kättesaadavusega (99.8%) ja madala latentsusega (alla 200 millisekundi, et saada soovitatud saateid kasutaja kohta).

Tulemuse mõõtmine

Enne selles postituses kirjeldatud ML-põhist saatesoovitajat järjestas lihtsam heuristiline algoritm Amp saated vastavalt kasutaja isiklikele huvipakkuvatele teemadele, mis on tema profiilil enda kohta teatatud. Seadistasime A/B-testi, et mõõta ML-põhistele soovitajatele ülemineku mõju kasutaja varasemate rakenduste interaktsioonide andmete põhjal. Tuvastasime edu näitajatena selliste mõõdikute täiustused nagu kuulamise kestus ja kaasamistoimingute arv (saate meeldimine, saate looja jälgimine, märguannete sisselülitamine). A/B-testimine, kus 50% kasutajatest said ML-põhise soovitaja kaudu saatesoovitusi, on näidanud klientide seotuse mõõdikute 3% tõusu ja taasesituse kestuse pikenemist 0.5%.

Järeldus

Eesmärgipäraselt loodud teenustega suutis Ampi meeskond selles postituses kirjeldatud isikupärastatud saatesoovituse API tootmisse alla kolme kuu jooksul. Süsteem sobib hästi ka tuntud saatejuhtide või turunduskampaaniate tekitatud ettearvamatute koormuste jaoks, mis võivad tekitada kasutajate juurdevoolu. Lahendus kasutab töötlemiseks, koolituseks ja hostimiseks hallatavaid teenuseid, mis aitab vähendada süsteemi igapäevasele hooldusele kuluvat aega. Samuti saame kõiki neid hallatavaid teenuseid jälgida CloudWatchi kaudu, et tagada tootmissüsteemide jätkuv töö.

Amp-i ML-põhise soovitaja esimese versiooni A/B testimine reeglipõhise lähenemisviisi (mis sorteerib kuvad ainult kliendi huvipakkuvate teemade järgi) vastu on näidanud, et ML-põhine soovitaja pakub klientidele kvaliteetsemat sisu mitmekesisematest teemadest. , mille tulemuseks on suurem jälgimiste ja lubatud märguannete arv. Ampi meeskond töötab pidevalt mudelite täiustamise nimel, et pakkuda väga asjakohaseid soovitusi.

Funktsioonide poe kohta lisateabe saamiseks külastage Amazon SageMakeri funktsioonipood ja vaadake teisi klientide kasutusjuhtumeid saidist AWS-i masinõppe ajaveeb.


Autoritest

Kuidas Amazoni Amp kasutas andmeid klientide kaasamise suurendamiseks, 2. osa: Isikupärastatud saatesoovitusplatvormi loomine Amazon SageMaker PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.Tulp Gupta on Amazon Web Servicesi lahenduste arhitekt. Ta teeb koostööd Amazoniga AWS-i tehnoloogiliste lahenduste kavandamisel, ehitamisel ja juurutamisel. Ta abistab kliente parimate tavade kasutuselevõtul AWS-is lahenduse juurutamisel ning on Analyticsi ja ML-i entusiast. Vabal ajal naudib ta ujumist, matkamist ja lauamänge.

Kuidas Amazoni Amp kasutas andmeid klientide kaasamise suurendamiseks, 2. osa: Isikupärastatud saatesoovitusplatvormi loomine Amazon SageMaker PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.David Kuo on Amazon Web Servicesi lahenduste arhitekt. Ta teeb koostööd AWS-i klientidega, et kavandada, ehitada ja juurutada AWS-is tehnoloogilised lahendused. Ta töötab meedia ja meelelahutuse klientidega ning tunneb huvi masinõppetehnoloogiate vastu. Vabal ajal mõtleb ta, mida ta peaks oma vaba ajaga tegema.

Kuidas Amazoni Amp kasutas andmeid klientide kaasamise suurendamiseks, 2. osa: Isikupärastatud saatesoovitusplatvormi loomine Amazon SageMaker PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.Manolya McCormick on Amazoni Ampi Sr tarkvaraarenduse insener. Ta kavandab ja ehitab hajutatud süsteeme, kasutades AWS-i, et teenindada klientidele suunatud rakendusi. Talle meeldib vabal ajal lugeda ja uusi retsepte valmistada.

Kuidas Amazoni Amp kasutas andmeid klientide kaasamise suurendamiseks, 2. osa: Isikupärastatud saatesoovitusplatvormi loomine Amazon SageMaker PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.Jeff Christophersen on Amazoni Amp vanem andmeinsener. Ta töötab selle nimel, et kavandada, luua ja juurutada AWS-is suurandmete lahendusi, mis toovad kaasa praktilisi teadmisi. Ta abistab sisemisi meeskondi skaleeritavate ja automatiseeritud lahenduste kasutuselevõtul ning on Analyticsi ja suurandmete entusiast. Vabal ajal, kui ta ei ole suuskadel, võib ta leida maastikurattalt.

Ajatempel:

Veel alates AWS-i masinõpe