Miten News Feed ennustaa, mitä haluat nähdä? / Meta

kun puhutaan uutissyötteen algoritmista, on monia teorioita ja myyttejä. Useimmat ihmiset ymmärtävät, että on olemassa algoritmi työssä, ja monet tietävät joitakin tekijöitä, jotka ilmoittavat, että algoritmi (onko haluat postitse tai harjoittaa sitä, jne.). Mutta on vielä aika paljon asioita, jotka ymmärretään väärin.

jaamme julkisesti monia uutissyötteen yksityiskohtia ja piirteitä. Mutta konepellin alla, machine learning (ML) ranking-järjestelmä, joka valtuuttaa uutissyötteen, on uskomattoman monimutkainen, jossa on monta kerrosta. Jaamme uusia yksityiskohtia siitä, miten ranking-järjestelmämme toimii ja haasteista rakentaa järjestelmä, joka personoi sisällön yli 2 miljardille ihmiselle ja näyttää jokaiselle heistä sisältöä, joka on relevanttia ja merkityksellistä heille, joka kerta, kun he tulevat Facebookiin.

mikä tässä on niin vaikeaa?

ensinnäkin volyymi on valtava. Yli 2 miljardia ihmistä ympäri maailmaa käyttää Facebookia. Kullekin näistä ihmisistä on yli tuhat ”ehdokas” virkaa (tai virkaa, jotka voisivat mahdollisesti näkyä kyseisen henkilön syötteen). Nyt puhutaan biljoonista postauksista, jotka kattavat kaikki Facebook-ihmiset.

mieti nyt, että jokaista Facebook-henkilöä kohden on tuhansia signaaleja, joita meidän on arvioitava, jotta voimme selvittää, mikä kyseinen henkilö voisi pitää olennaisimpana. Joten meillä on biljoonia viestejä ja tuhansia signaaleja — ja meidän täytyy ennustaa, mitä kukin näistä ihmisistä haluaa nähdä heidän feed välittömästi. Kun avaat Facebook, että prosessi tapahtuu taustalla vain sekunnin tai niin se kestää ladata uutissyötteen.

ja kun olemme saaneet kaiken tämän toimimaan, asiat muuttuvat, ja meidän on otettava huomioon uusia kysymyksiä, jotka nousevat esiin, kuten klikinsyönti ja väärän tiedon leviäminen. Kun näin tapahtuu, meidän on löydettävä uusia ratkaisuja. Todellisuudessa ranking-järjestelmä ei ole vain yksi algoritmi, vaan se on useita kerroksia ML-malleja ja rankingeja, joita käytämme ennustaaksemme sisällön, joka on kullekin käyttäjälle merkityksellisin ja mielekkäin. Kun etenemme jokaisessa vaiheessa, ranking-järjestelmä kaventaa ne tuhannet ehdokkaat virkaa muutaman sata, jotka näkyvät jonkun uutissyötteen kulloinkin.

graafinen kuinka yksilöllisiä uutissyötteitä syntyy

miten se toimii?

yksinkertaisesti sanottuna järjestelmä määrittää, mitkä viestit näkyvät uutissyötteessäsi ja missä järjestyksessä, ennustamalla, mistä olet todennäköisimmin kiinnostunut tai mihin olet sitoutunut. Nämä ennusteet perustuvat eri tekijöitä, kuten mitä ja ketä olet seurannut, halunnut, tai mukana viime aikoina. Jotta ymmärtäisimme, miten tämä toimii käytännössä, aloitetaan siitä, mitä tapahtuu yhdelle Facebookiin kirjautuneelle henkilölle: kutsumme häntä Juaniksi.

Juanin eilisen kirjautumisen jälkeen hänen ystävänsä Wei julkaisi kuvan cockerspanielistaan. Toinen ystävä Saanvi julkaisi videon aamulenkiltään. Hänen suosikkisivullaan julkaistiin mielenkiintoinen artikkeli parhaasta tavasta katsella Linnunrataa yöllä, kun taas hänen suosikkiruokaryhmänsä julkaisi neljä uutta hapanjuurireseptiä.

kaikki tämä sisältö on Juanille todennäköisesti relevanttia tai kiinnostavaa, koska hän on päättänyt seurata sitä jakavia ihmisiä tai sivuja. Päättääksemme, minkä näistä asioista pitäisi näkyä korkeammalla Juanin uutissyötteessä, meidän täytyy ennustaa, mikä on hänelle tärkeintä ja mikä sisältö on hänelle arvokkain. Matemaattisesti meidän on määriteltävä juanille objektiivinen funktio ja suoritettava yhden tavoitteen optimointi.

Voimme käyttää postauksen ominaisuuksia, kuten sitä, kuka kuvaan on merkitty ja milloin se on lähetetty, ennustaaksemme, pitääkö Juan siitä. Esimerkiksi jos Juan pyrkii olemaan vuorovaikutuksessa Saanvin viestien kanssa (esim., jakaminen tai kommentointi) usein ja hänen juoksuvideonsa on hyvin tuore, on hyvin todennäköistä, että Juan pitää hänen postauksestaan. Jos Juan on aiemmin käyttänyt enemmän videosisältöä kuin valokuvia, vastaava ennuste Wein kuvaamalle cockerspanielilleen saattaa olla melko alhainen. Tässä tapauksessa ranking-algoritmimme sijoittaisi Saanvin juoksuvideon korkeammalle kuin Wein koirakuvan, koska se ennustaa suuremman todennäköisyyden, että Juan pitäisi siitä.

tykkääminen ei kuitenkaan ole ainoa tapa, jolla ihmiset ilmaisevat mieltymyksensä Facebookiin. Ihmiset jakavat joka päivä kiinnostaviksi kokemiaan artikkeleita, katsovat videoita seuraamistaan ihmisistä tai julkkiksista tai jättävät huomaavaisia kommentteja ystäviensä julkaisuihin. Matemaattisesti asiat monimutkaistuvat, kun meidän on optimoitava useita tavoitteita, jotka kaikki vastaavat ensisijaista tavoitettamme: luodaan ihmisille mahdollisimman pitkäaikainen arvo näyttämällä heille mielekästä ja merkityksellistä sisältöä.

useat ML-mallit tuottavat Juanille useita ennustuksia: todennäköisyys, että hän ryhtyy Wein valokuvaan, Saanvin videoon, Linnunradan artikkeliin tai hapanjuuriresepteihin. Jokainen malli yrittää sijoittaa nämä sisällön palaset Juanille. Joskus he ovat eri mieltä — voisi olla suurempi todennäköisyys, että Juan haluaisi Saanvin juoksuvideon kuin Linnunradan artikkelin, mutta hän voisi todennäköisemmin kommentoida artikkelia kuin videota. Joten tarvitsemme tavan yhdistää nämä vaihtelevat ennusteet yhdeksi pisteeksi, joka on optimoitu ensisijaiseen tavoitteeseemme pitkän aikavälin arvoon.

miten voidaan mitata, Luoko jokin ihmiselle pitkän aikavälin arvoa? Kysymme heiltä. Kartoitamme ihmisiä esimerkiksi kysyäksemme, kuinka merkityksellisestä vuorovaikutuksesta he löysivät kavereidensa kanssa tai oliko postaus heidän aikansa arvoinen, jotta järjestelmämme heijastaisi sitä, mistä ihmiset sanovat nauttivansa ja mitä pitävät merkityksellisenä. Sitten voimme ottaa jokainen ennuste huomioon Juan perustuu toimiin, jotka ihmiset kertovat meille (kyselyjen kautta) ovat mielekkäämpiä ja aikansa arvoisia.

tasojen poistaminen

jotta yli 2 miljardia ihmistä saa päivässä yli tuhat viestiä käyttäjää kohti-reaaliaikaisesti-meidän on tehtävä prosessista tehokas. Hallinnoimme tätä eri vaiheissa, strategisesti järjestetty, jotta se on nopea ja rajoittaa määrää laskentaresurssien tarvitaan.

ensin järjestelmä kerää kaikki mahdolliset juanin ehdokasvirat (cockerspanielikuva, juoksuvideo jne.). Tämä hyväksyttävä inventaario sisältää kaikki postitse jaettu Juan ystävä, ryhmä, tai sivu hän on yhteydessä, joka on tehty, koska hänen viimeinen kirjautuminen ja ei ole poistettu. Mutta miten meidän pitäisi käsitellä viestejä luotu ennen Juan viimeinen kirjautuminen, että hän ei ole nähnyt vielä?

varmistaaksemme, että näkymättömiä viestejä harkitaan uudelleen, sovellamme lukematonta törmäyslogiikkaa: tuoreet viestit, jotka oli rankattu Juanille (mutta joita hän ei nähnyt) hänen aiemmissa istunnoissaan, lisätään tämän istunnon hyväksyttävään luetteloon. Sovellamme myös toiminta-bumping logiikka niin, että kaikki viestit Juan on jo nähnyt, jotka ovat sittemmin laukaisi mielenkiintoinen keskustelu keskuudessa hänen ystävänsä lisätään tukikelpoisia inventaario samoin.

seuraavaksi järjestelmän tulee pisteyttää jokaista postausta monesta eri tekijästä, kuten postityypistä, samankaltaisuudesta muihin kohteisiin ja siitä, kuinka paljon Posti vastaa sitä, minkä kanssa Juan yleensä on vuorovaikutuksessa. Laskemme tämän yli 1000 virkaa varten, jokaista miljardia käyttäjää kohti-kaikki reaaliajassa-ajamme näitä malleja kaikille ehdokastarinoille rinnakkain useilla koneilla, joita kutsutaan ennustajiksi.

ennen kuin yhdistämme kaikki nämä ennusteet yhdeksi pisteeksi, meidän on sovellettava joitakin lisäsääntöjä. Odotamme, kunnes meillä on nämä ensimmäiset ennusteet, jotta voimme kaventaa joukko virkoja paremmuusjärjestykseen-ja sovellamme niitä useita kulkee säästää laskennallisen tehon.

ensin jokaiseen virkaan sovelletaan tiettyjä eheysprosesseja. Niiden tarkoituksena on määrittää, mitä eheyden tunnistamistoimia, jos sellaisia on, on sovellettava paremmuusjärjestykseen valittuihin tarinoihin. Seuraavassa ohilaukauksessa kevyt malli kaventaa ehdokkaiden joukon noin 500 juanin kannalta merkityksellisimpään tehtävään. Ranking vähemmän tarinoita antaa meille mahdollisuuden käyttää tehokkaampia neuroverkkomalleja seuraavia kulkee.

seuraavaksi on vuorossa tärkein pistesija, jossa suurin osa henkilökohtaistamisesta tapahtuu. Tässä, pisteet jokaisesta tarinasta lasketaan itsenäisesti,ja sitten kaikki 500 viestiä laitetaan järjestykseen pisteet. Joillekin pisteet voivat olla suuremmat tykkäyksistä kuin kommentoinnista, sillä jotkut haluavat ilmaista itseään enemmän tykkäämisellä kuin kommentoinnilla. Kaikki toimet henkilö harvoin harjoittaa (esimerkiksi, kuten ennustus, joka on hyvin lähellä nollaa) automaattisesti saa minimaalinen rooli ranking, koska ennustettu arvo on hyvin alhainen.

lopuksi ajamme kontekstuaalisen passin, jossa kontekstuaalisia ominaisuuksia, kuten sisältötyypin moninaisuussääntöjä lisätään varmistaaksemme, että juanin uutissyötteessä on hyvä sekoitus sisältötyyppejä, eikä hän näe useita videoviestejä, yksi toisensa jälkeen. Kaikki nämä ranking vaiheet tapahtuu aika se vie Juan avata Facebook-sovellus, ja muutamassa sekunnissa, hän on pisteytetty uutissyötteen, joka on valmis häntä selata ja nauttia.

Vastaa

Sähköpostiosoitettasi ei julkaista.