Kif naħdmu fuq il-kwalità u l-veloċità tal-għażla tar-rakkomandazzjonijiet

Jisimni Pavel Parkhomenko, jien żviluppatur ML. F'dan l-artikolu, nixtieq nitkellem dwar l-istruttura tas-servizz Yandex.Zen u naqsam titjib tekniku, li l-implimentazzjoni tiegħu għamlitha possibbli li tiżdied il-kwalità tar-rakkomandazzjonijiet. Minn din il-kariga titgħallem kif issib l-aktar rilevanti għall-utent fost miljuni ta’ dokumenti fi ftit millisekondi biss; kif tagħmel dekompożizzjoni kontinwa ta 'matriċi kbira (li tikkonsisti f'miljuni ta' kolonni u għexieren ta 'miljuni ta' ringieli) sabiex dokumenti ġodda jirċievu l-vettur tagħhom f'għexieren ta 'minuti; kif tuża mill-ġdid id-dekompożizzjoni tal-matriċi tal-utent-artikolu biex tikseb rappreżentazzjoni tajba tal-vettur għall-vidjo.

Kif naħdmu fuq il-kwalità u l-veloċità tal-għażla tar-rakkomandazzjonijiet

Id-database tar-rakkomandazzjonijiet tagħna fiha miljuni ta’ dokumenti ta’ diversi formati: artikoli ta’ test maħluqa fuq il-pjattaforma tagħna u meħuda minn siti esterni, vidjows, narrattivi u posts qosra. L-iżvilupp ta 'servizz bħal dan huwa assoċjat ma' numru kbir ta 'sfidi tekniċi. Hawn huma xi wħud minnhom:

  • Aqsam il-kompiti tal-kompjuter: agħmel l-operazzjonijiet tqal kollha offline, u f'ħin reali wettaq biss applikazzjoni rapida ta 'mudelli sabiex tkun responsabbli għal 100-200 ms.
  • Ikkunsidra malajr l-azzjonijiet tal-utent. Biex tagħmel dan, huwa meħtieġ li l-avvenimenti kollha jitwasslu istantanjament lir-rakkomandant u jinfluwenzaw ir-riżultati tal-mudelli.
  • Agħmel l-għalf sabiex għal utenti ġodda jadatta malajr għall-imġieba tagħhom. Nies li għadhom kif daħlu fis-sistema għandhom iħossu li r-reazzjonijiet tagħhom jinfluwenzaw ir-rakkomandazzjonijiet.
  • Ifhem malajr lil min għandek tirrakkomanda artiklu ġdid.
  • Irrispondi malajr għall-emerġenza kostanti ta 'kontenut ġdid. Għexieren ta 'eluf ta' artikli huma ppubblikati kuljum, u ħafna minnhom għandhom ħajja limitata (jiġifieri, aħbarijiet). Dan huwa dak li jiddistingwihom minn films, mużika u kontenut ieħor ta 'ħajja twila u għali biex jinħoloq.
  • Ittrasferixxi l-għarfien minn qasam tad-dominju għal ieħor. Jekk sistema ta 'rakkomandazzjoni għandha mudelli mħarrġa għal artikoli ta' test u aħna nżidu vidjo magħha, nistgħu nużaw mill-ġdid il-mudelli eżistenti sabiex it-tip ġdid ta 'kontenut jikklassifika aħjar.

Jien ngħidlek kif solvejna dawn il-problemi.

G]a\la ta' kandidati

Kif tnaqqas in-numru ta 'dokumenti taħt konsiderazzjoni b'eluf ta' drabi fi ftit millisekondi, prattikament mingħajr deterjorazzjoni fil-kwalità tal-klassifikazzjoni?

Ejja ngħidu li tħarreġna ħafna mudelli ML, ġġenerajna karatteristiċi bbażati fuqhom, u tħarreġ mudell ieħor li jikklassifika dokumenti għall-utent. Kollox ikun tajjeb, iżda ma tistax sempliċement tieħu u tikkalkula s-sinjali kollha għad-dokumenti kollha f'ħin reali, jekk ikun hemm miljuni ta 'dawn id-dokumenti, u r-rakkomandazzjonijiet jeħtieġ li jinbnew f'100-200 ms. Il-kompitu huwa li tagħżel ċertu subsett minn miljuni, li se jiġu kklassifikati għall-utent. Dan l-istadju normalment jissejjaħ għażla tal-kandidati. Hemm diversi rekwiżiti għaliha. L-ewwelnett, l-għażla għandha sseħħ malajr ħafna, sabiex jitħalla kemm jista 'jkun ħin għall-klassifika nnifisha. It-tieni nett, wara li naqqas ħafna n-numru ta 'dokumenti għall-klassifikazzjoni, irridu nippreservaw id-dokumenti rilevanti għall-utent bl-aktar mod sħiħ possibbli.

Il-prinċipju tagħna tal-għażla tal-kandidati evolva, u bħalissa wasalna għal skema f'diversi stadji:

Kif naħdmu fuq il-kwalità u l-veloċità tal-għażla tar-rakkomandazzjonijiet

L-ewwel, id-dokumenti kollha huma maqsuma fi gruppi, u d-dokumenti l-aktar popolari jittieħdu minn kull grupp. Gruppi jistgħu jkunu siti, suġġetti, clusters. Għal kull utent, abbażi tal-istorja tiegħu, jintgħażlu l-gruppi l-eqreb tiegħu u jittieħdu minnhom l-aħjar dokumenti. Aħna nużaw ukoll l-indiċi kNN biex nagħżlu dokumenti li huma l-eqreb għall-utent f'ħin reali. Hemm diversi metodi biex jinbena indiċi kNN; tagħna ħadmu l-aħjar HNSW (Graffs tad-Dinja Żgħar Navigabbli Ġerarkiċi). Dan huwa mudell ġerarkiku li jippermettilek issib l-eqreb N vectors għal utent minn database ta 'miljuni fi ftit millisekondi. Aħna l-ewwel indiċi tad-database tad-dokumenti kollha tagħna offline. Peress li t-tiftix fl-indiċi jaħdem pjuttost malajr, jekk ikun hemm diversi inkorporazzjonijiet b'saħħithom, tista 'toħloq diversi indiċi (indiċi wieħed għal kull inkorporazzjoni) u taċċessa kull wieħed minnhom f'ħin reali.

Għad għandna għexieren ta' eluf ta' dokumenti għal kull utent. Dan għadu ħafna biex jingħaddu l-karatteristiċi kollha, għalhekk f'dan l-istadju nużaw klassifikazzjoni ħafifa - mudell ta 'klassifikazzjoni ħafifa tqila b'inqas karatteristiċi. Il-kompitu huwa li wieħed ibassar liema dokumenti mudell tqil se jkollu fil-quċċata. Dokumenti bl-ogħla tbassir se jintużaw fil-mudell tqil, jiġifieri, fl-aħħar stadju tal-klassifikazzjoni. Dan l-approċċ jippermettilek tnaqqas id-database tad-dokumenti kkunsidrati għall-utent minn miljuni għal eluf f'għexieren ta 'millisekondi.

ALS pass fir-runtime

Kif tqis il-feedback tal-utent immedjatament wara klikk?

Fattur importanti fir-rakkomandazzjonijiet huwa l-ħin tar-rispons għall-feedback tal-utent. Dan huwa speċjalment importanti għal utenti ġodda: meta persuna għadha kemm tibda tuża s-sistema ta 'rakkomandazzjoni, hija tirċievi għalf mhux personalizzat ta' dokumenti ta 'diversi suġġetti. Hekk kif jagħmel l-ewwel klikk, għandek bżonn immedjatament tqis dan u tadatta għall-interessi tiegħu. Jekk tikkalkula l-fatturi kollha offline, rispons rapidu tas-sistema se jsir impossibbli minħabba d-dewmien. Għalhekk huwa meħtieġ li l-azzjonijiet tal-utent jiġu pproċessati f'ħin reali. Għal dawn il-finijiet, nużaw il-pass ALS waqt ir-runtime biex nibnu rappreżentazzjoni tal-vettur tal-utent.

Ejja nassumu li għandna rappreżentazzjoni tal-vettur għad-dokumenti kollha. Pereżempju, nistgħu nibnu inkorporazzjonijiet offline bbażati fuq it-test ta 'artiklu billi tuża ELMo, BERT jew mudelli oħra ta' tagħlim bil-magni. Kif nistgħu niksbu rappreżentazzjoni vettur tal-utenti fl-istess spazju bbażata fuq l-interazzjonijiet tagħhom fis-sistema?

Prinċipju ġenerali ta 'formazzjoni u dekompożizzjoni tal-matriċi utent-dokumentEjjew ikollna m utenti u n dokumenti. Għal xi utenti, ir-relazzjoni tagħhom ma' ċerti dokumenti hija magħrufa. Imbagħad din l-informazzjoni tista 'tiġi rappreżentata bħala matriċi mxn: ringieli jikkorrispondu għall-utenti, u kolonni jikkorrispondu għal dokumenti. Peress li l-persuna ma ratx il-biċċa l-kbira tad-dokumenti, ħafna miċ-ċelloli tal-matriċi se jibqgħu vojta, filwaqt li oħrajn se jimtlew. Għal kull avveniment (bħal, dislike, ikklikkja) xi valur huwa pprovdut fil-matriċi - iżda ejja nikkunsidraw mudell simplifikat li fih simili jikkorrispondi għal 1, u dislike jikkorrispondi għal -1.

Ejja niddekomponu l-matriċi fi tnejn: P (mxd) u Q (dxn), fejn d hija d-dimensjoni tar-rappreżentazzjoni tal-vettur (ġeneralment numru żgħir). Imbagħad kull oġġett jikkorrispondi għal vettur d-dimensjonali (għal utent - ringiela fil-matriċi P, għal dokument - kolonna fil-matriċi Q). Dawn il-vettori se jkunu l-inkorporazzjonijiet tal-oġġetti korrispondenti. Biex tbassar jekk utent hux se jħobb dokument, tista' sempliċement timmultiplika l-inkorporazzjonijiet tagħhom.

Kif naħdmu fuq il-kwalità u l-veloċità tal-għażla tar-rakkomandazzjonijiet
Wieħed mill-modi possibbli biex tiddikomponi matriċi huwa ALS (Alternating Least Squares). Aħna se ottimizzaw il-funzjoni tat-telf li ġejja:

Kif naħdmu fuq il-kwalità u l-veloċità tal-għażla tar-rakkomandazzjonijiet

Hawnhekk rui hija l-interazzjoni tal-utent u mad-dokument i, qi huwa l-vettur tad-dokument i, pu huwa l-vettur tal-utent u.

Imbagħad il-vettur tal-utent ottimali mil-lat tal-iżball kwadru medju (għal vettori ta 'dokumenti fissi) jinstab b'mod analitiku billi ssolvi r-rigressjoni lineari korrispondenti.

Dan jissejjaħ il-"pass ALS". U l-algoritmu ALS innifsu huwa li alternattivament niffissaw waħda mill-matriċi (utenti u artikoli) u naġġornaw l-oħra, billi nsibu l-aħjar soluzzjoni.

Fortunatament, is-sejba tar-rappreżentazzjoni tal-vettur tal-utent hija operazzjoni pjuttost veloċi li tista 'ssir waqt ir-runtime bl-użu ta' struzzjonijiet tal-vettur. Dan il-trick jippermettilek li immedjatament tieħu kont tal-feedback tal-utent fil-klassifikazzjoni. L-istess inkorporazzjoni tista 'tintuża fl-indiċi kNN biex tittejjeb l-għażla tal-kandidati.

Iffiltrar Kollaborattiv imqassam

Kif tagħmel fatturizzazzjoni matriċi distribwita inkrementali u ssib malajr rappreżentazzjonijiet tal-vettur ta 'artikoli ġodda?

Il-kontenut mhuwiex l-uniku sors ta’ sinjali ta’ rakkomandazzjoni. Sors importanti ieħor huwa l-informazzjoni kollaborattiva. Karatteristiċi ta' klassifikazzjoni tajba jistgħu tradizzjonalment jinkisbu mid-dekompożizzjoni tal-matriċi tad-dokument tal-utent. Imma meta ppruvajna nagħmlu tali dekompożizzjoni, iltqajna ma 'problemi:

1. Għandna miljuni ta 'dokumenti u għexieren ta' miljuni ta 'utenti. Il-matriċi ma taqbilx kompletament fuq magna waħda, u d-dekompożizzjoni se tieħu żmien twil ħafna.
2. Ħafna mill-kontenut fis-sistema għandu ħajja qasira: id-dokumenti jibqgħu rilevanti għal ftit sigħat biss. Għalhekk, huwa meħtieġ li tinbena r-rappreżentazzjoni tal-vettur tagħhom malajr kemm jista 'jkun.
3. Jekk tibni dekompożizzjoni immedjatament wara li d-dokument jiġi ppubblikat, numru suffiċjenti ta 'utenti ma jkollhomx ħin biex jevalwawh. Għalhekk, ir-rappreżentazzjoni tal-vettur tagħha x'aktarx mhux se tkun tajba ħafna.
4. Jekk utent jħobb jew ma jħobbx, ma nkunux nistgħu nikkunsidraw dan immedjatament fid-dekompożizzjoni.

Biex issolvi dawn il-problemi, implimentajna dekompożizzjoni distribwita tal-matriċi tad-dokument tal-utent b'aġġornamenti inkrementali frekwenti. Kif taħdem eżattament?

Ejja ngħidu li għandna grupp ta 'magni N (N huwa fil-mijiet) u rridu nagħmlu dekompożizzjoni mqassma ta' matriċi fuqhom li ma taqbilx fuq magna waħda. Il-mistoqsija hija kif twettaq din id-dekompożizzjoni sabiex, minn naħa waħda, ikun hemm biżżejjed dejta fuq kull magna u, min-naħa l-oħra, sabiex il-kalkoli jkunu indipendenti?

Kif naħdmu fuq il-kwalità u l-veloċità tal-għażla tar-rakkomandazzjonijiet

Aħna se nużaw l-algoritmu ta 'dekompożizzjoni ALS deskritt hawn fuq. Ejja nħarsu lejn kif tesegwixxi pass wieħed ALS b'mod distribwit - il-bqija tal-passi se jkunu simili. Ejja ngħidu li għandna matriċi fissa ta 'dokumenti u rridu nibnu matriċi ta' utenti. Biex tagħmel dan, aħna se naqsmu f'N partijiet b'linji, kull parti se jkun fiha bejn wieħed u ieħor l-istess numru ta 'linji. Aħna nibagħtu lil kull magna ċelluli mhux vojta tar-ringieli korrispondenti, kif ukoll il-matriċi ta 'inkorporazzjonijiet ta' dokumenti (kompletament). Peress li d-daqs tiegħu mhuwiex kbir ħafna, u l-matriċi tad-dokument tal-utent hija ġeneralment skarsa ħafna, din id-dejta tidħol f'magna regolari.

Dan il-trick jista 'jiġi ripetut fuq diversi epoki sakemm il-mudell jikkonverġi, jalterna l-matriċi fissa waħda waħda. Iżda anke dakinhar, id-dekompożizzjoni tal-matriċi tista 'tieħu diversi sigħat. U dan ma jsolvix il-problema li għandek bżonn biex tirċievi malajr inkorporazzjonijiet ta 'dokumenti ġodda u taġġorna l-inkorporazzjonijiet ta' dawk li dwarhom kien hemm ftit informazzjoni meta tibni l-mudell.

L-introduzzjoni ta 'aġġornamenti veloċi tal-mudell inkrementali għenitna. Ejja ngħidu li għandna mudell imħarreġ bħalissa. Mit-taħriġ tagħha, kien hemm artikli ġodda li l-utenti tagħna interaġixxew magħhom, kif ukoll artikoli li ftit kellhom interazzjoni waqt it-taħriġ. Biex tikseb malajr l-inkorporazzjonijiet ta 'artikoli bħal dawn, nużaw l-inkorporazzjonijiet tal-utent miksuba matul l-ewwel taħriġ kbir tal-mudell u nagħmlu pass wieħed ALS biex nikkalkulaw il-matriċi tad-dokument mogħtija matriċi tal-utent fissa. Dan jippermettilek li tirċievi inkorporazzjonijiet pjuttost malajr - fi żmien ftit minuti wara li d-dokument jiġi ppubblikat - u ħafna drabi taġġorna l-inkorporazzjonijiet ta 'dokumenti riċenti.

Biex tagħmel rakkomandazzjonijiet immedjatament tqis l-azzjonijiet umani, fir-runtime ma nużawx inkorporazzjonijiet tal-utent miksuba offline. Minflok, nagħmlu pass ALS u niksbu l-vettur tal-utent attwali.

Ittrasferixxi għal żona ta 'dominju oħra

Kif tuża l-feedback tal-utent dwar l-artikoli tat-test biex tibni rappreżentazzjoni vettorjali ta' vidjo?

Inizjalment, aħna rrakkomandajna biss artikli ta 'test, għalhekk ħafna mill-algoritmi tagħna huma mfassla għal dan it-tip ta' kontenut. Iżda meta nżidu tipi oħra ta 'kontenut, konna ffaċċjati bil-ħtieġa li jadattaw il-mudelli. Kif solvejna din il-problema bl-użu ta’ eżempju tal-vidjo? Għażla waħda hija li tħarreġ mill-ġdid il-mudelli kollha mill-bidu. Iżda dan jieħu żmien twil, u xi wħud mill-algoritmi huma esiġenti fuq id-daqs tal-kampjun tat-taħriġ, li għadu mhux disponibbli fil-kwantità meħtieġa għal tip ġdid ta 'kontenut fl-ewwel mumenti tal-ħajja tiegħu fuq is-servizz.

Morna triq oħra u użajna mill-ġdid il-mudelli tat-test għall-video. L-istess trick ALS għenna noħolqu rappreżentazzjonijiet vettoriali tal-vidjows. Ħadna rappreżentazzjoni vettorjali tal-utenti bbażata fuq artikli tat-test u għamilna pass tal-ALS billi uża informazzjoni dwar il-vista tal-vidjo. Allura aħna faċilment ltqajna rappreżentazzjoni vector tal-video. U waqt ir-runtime aħna sempliċement nikkalkulaw il-prossimità bejn il-vettur tal-utent miksub minn artikoli tat-test u l-vettur tal-vidjo.

Konklużjoni

L-iżvilupp tal-qalba ta' sistema ta' rakkomandazzjoni f'ħin reali jinvolvi ħafna sfidi. Għandek bżonn tipproċessa d-dejta malajr u tapplika metodi ML biex tuża din id-dejta b'mod effettiv; tibni sistemi distribwiti kumplessi li kapaċi jipproċessaw sinjali tal-utent u unitajiet ġodda ta' kontenut fi żmien minimu; u ħafna kompiti oħra.

Fis-sistema attwali, li d-disinn tagħha ddeskrivejt, il-kwalità tar-rakkomandazzjonijiet għall-utent tikber flimkien mal-attività tiegħu u t-tul tal-waqfa fuq is-servizz. Imma ovvjament, hawnhekk tinsab id-diffikultà ewlenija: huwa diffiċli għas-sistema li tifhem immedjatament l-interessi ta 'persuna li għandha ftit interazzjoni mal-kontenut. It-titjib tar-rakkomandazzjonijiet għal utenti ġodda huwa l-għan ewlieni tagħna. Se nkomplu nottimizzaw l-algoritmi sabiex il-kontenut li huwa rilevanti għal persuna jidħol fl-għalf tiegħu aktar malajr, u l-kontenut irrelevanti ma jintwerax.

Sors: www.habr.com

Żid kumment