Bii a ṣe n ṣiṣẹ lori didara ati iyara ti yiyan awọn iṣeduro

Orukọ mi ni Pavel Parkhomenko, Mo jẹ idagbasoke ML. Ninu àpilẹkọ yii, Emi yoo fẹ lati sọrọ nipa iṣeto ti iṣẹ Yandex.Zen ati pin awọn ilọsiwaju imọ-ẹrọ, imuse eyiti o jẹ ki o le mu didara awọn iṣeduro pọ si. Lati ipo ifiweranṣẹ yii iwọ yoo kọ ẹkọ bii o ṣe le rii awọn ti o wulo julọ fun olumulo laarin awọn miliọnu awọn iwe aṣẹ ni awọn milliseconds diẹ; bawo ni a ṣe le jẹ ibajẹ lemọlemọfún ti matrix nla kan (ti o ni awọn miliọnu awọn ọwọn ati awọn mewa ti awọn ori ila) ki awọn iwe aṣẹ tuntun gba fekito wọn ni iṣẹju mẹwa; bi o ṣe le tun lo ibajẹ matrix matrix olumulo lati gba aṣoju fekito to dara fun fidio.

Bii a ṣe n ṣiṣẹ lori didara ati iyara ti yiyan awọn iṣeduro

Ibi ipamọ data iṣeduro wa ni awọn miliọnu awọn iwe aṣẹ ti ọpọlọpọ awọn ọna kika: awọn nkan ọrọ ti a ṣẹda lori pẹpẹ wa ati ti a mu lati awọn aaye ita, awọn fidio, awọn itan ati awọn ifiweranṣẹ kukuru. Idagbasoke ti iru iṣẹ kan ni nkan ṣe pẹlu nọmba nla ti awọn italaya imọ-ẹrọ. Eyi ni diẹ ninu wọn:

  • Pin awọn iṣẹ ṣiṣe iṣiro: ṣe gbogbo awọn iṣẹ ṣiṣe ti o wuwo ni aisinipo, ati ni akoko gidi nikan ṣe ohun elo iyara ti awọn awoṣe lati le ṣe iduro fun 100-200 ms.
  • Ni kiakia ṣe akiyesi awọn iṣe olumulo. Lati ṣe eyi, o jẹ dandan pe gbogbo awọn iṣẹlẹ ni a firanṣẹ lesekese si oniduro ati ni ipa awọn abajade ti awọn awoṣe.
  • Ṣe kikọ sii ki fun awọn olumulo titun o yarayara si ihuwasi wọn. Awọn eniyan ti o ṣẹṣẹ darapọ mọ eto naa yẹ ki o lero pe awọn esi wọn ni ipa awọn iṣeduro.
  • Ni kiakia loye tani lati ṣeduro nkan tuntun si.
  • Dahun ni kiakia si ifarahan igbagbogbo ti akoonu titun. Ẹgbẹẹgbẹrun awọn nkan ni a gbejade lojoojumọ, ati pe ọpọlọpọ ninu wọn ni igbesi aye to lopin (sọ, awọn iroyin). Eyi ni ohun ti o ṣe iyatọ wọn lati awọn fiimu, orin ati awọn akoonu igba pipẹ ati gbowolori lati ṣẹda.
  • Gbigbe imoye lati agbegbe agbegbe kan si ekeji. Ti eto iṣeduro ba ti ni ikẹkọ awọn awoṣe fun awọn nkan ọrọ ati pe a ṣafikun fidio si rẹ, a le tun lo awọn awoṣe ti o wa tẹlẹ ki iru akoonu tuntun dara julọ.

Emi yoo sọ fun ọ bi a ṣe yanju awọn iṣoro wọnyi.

Asayan ti oludije

Bii o ṣe le dinku nọmba awọn iwe aṣẹ ti o wa labẹ ero nipasẹ awọn ẹgbẹẹgbẹrun awọn akoko ni awọn milliseconds diẹ, pẹlu fere ko si ibajẹ ninu didara ipo?

Ṣebi a ṣe ikẹkọ ọpọlọpọ awọn awoṣe ML, ti ipilẹṣẹ awọn ẹya ti o da lori wọn, ati ikẹkọ awoṣe miiran ti o ni ipo awọn iwe aṣẹ fun olumulo. Ohun gbogbo yoo dara, ṣugbọn o ko le gba nikan ati ṣe iṣiro gbogbo awọn ami fun gbogbo awọn iwe aṣẹ ni akoko gidi, ti awọn miliọnu awọn iwe aṣẹ wọnyi ba wa, ati awọn iṣeduro nilo lati kọ ni 100-200 ms. Iṣẹ-ṣiṣe ni lati yan ipin kan lati awọn miliọnu, eyiti yoo wa ni ipo fun olumulo. Ipele yii ni a maa n pe ni yiyan oludije. Awọn ibeere pupọ wa fun rẹ. Ni akọkọ, yiyan gbọdọ ṣẹlẹ ni iyara pupọ, nitorinaa akoko pupọ bi o ti ṣee ṣe fi silẹ fun ipo funrararẹ. Ni ẹẹkeji, ti dinku nọmba awọn iwe aṣẹ pupọ fun ipo, a gbọdọ tọju awọn iwe aṣẹ ti o baamu si olumulo ni kikun bi o ti ṣee.

Ilana yiyan oludije ti wa, ati ni akoko yii a ti de ero-ipele pupọ:

Bii a ṣe n ṣiṣẹ lori didara ati iyara ti yiyan awọn iṣeduro

Ni akọkọ, gbogbo awọn iwe aṣẹ ti pin si awọn ẹgbẹ, ati awọn iwe aṣẹ olokiki julọ ni a gba lati ẹgbẹ kọọkan. Awọn ẹgbẹ le jẹ awọn aaye, awọn koko-ọrọ, awọn iṣupọ. Fun olumulo kọọkan, ti o da lori itan-akọọlẹ rẹ, awọn ẹgbẹ ti o sunmọ ọ ni a yan ati awọn iwe aṣẹ ti o dara julọ ni a gba lati ọdọ wọn. A tun lo atọka kNN lati yan awọn iwe aṣẹ ti o sunmọ olumulo ni akoko gidi. Awọn ọna pupọ lo wa fun kikọ atọka kNN kan; tiwa ṣiṣẹ dara julọ HNSW (Hierarchical Navigable Kekere World awọn aworan). Eleyi jẹ a akosoagbasomode awoṣe ti o faye gba o lati a ri N sunmọ fekito fun a olumulo lati kan database ti milionu ni kan diẹ milliseconds. A kọkọ ṣe atọka gbogbo ibi ipamọ data wa ni offline. Niwọn igba ti wiwa ninu atọka n ṣiṣẹ ni iyara, ti ọpọlọpọ awọn ifibọ ti o lagbara ba wa, o le ṣẹda awọn atọka pupọ (itọka kan fun ifibọ kọọkan) ati wọle si ọkọọkan wọn ni akoko gidi.

A tun ni ẹgbẹẹgbẹrun awọn iwe aṣẹ fun olumulo kọọkan. Eyi tun jẹ pupọ lati ka gbogbo awọn ẹya, nitorinaa ni ipele yii a lo ipo ina - awoṣe ipo iwuwo iwuwo fẹẹrẹ pẹlu awọn ẹya diẹ. Iṣẹ-ṣiṣe ni lati ṣe asọtẹlẹ iru awọn iwe aṣẹ awoṣe ti o wuwo yoo ni ni oke. Awọn iwe aṣẹ pẹlu asọtẹlẹ ti o ga julọ yoo ṣee lo ni awoṣe eru, iyẹn ni, ni ipele ti o kẹhin ti ipo. Ọna yii gba ọ laaye lati dinku data data ti awọn iwe aṣẹ ti a gbero fun olumulo lati awọn miliọnu si ẹgbẹẹgbẹrun ni mewa ti milliseconds.

ALS igbesẹ ni asiko asiko

Bii o ṣe le ṣe akiyesi esi olumulo lẹsẹkẹsẹ lẹhin titẹ kan?

Ohun pataki kan ninu awọn iṣeduro ni akoko idahun si esi olumulo. Eyi ṣe pataki ni pataki fun awọn olumulo tuntun: nigbati eniyan kan bẹrẹ lilo eto iṣeduro, o gba ifunni ti ara ẹni ti awọn iwe aṣẹ ti awọn akọle oriṣiriṣi. Ni kete ti o ba tẹ akọkọ, o nilo lati ṣe akiyesi eyi lẹsẹkẹsẹ ki o ṣe deede si awọn ifẹ rẹ. Ti o ba ṣe iṣiro gbogbo awọn ifosiwewe ni aisinipo, idahun eto iyara yoo di ko ṣee ṣe nitori idaduro naa. Nitorinaa o jẹ dandan lati ṣe ilana awọn iṣe olumulo ni akoko gidi. Fun awọn idi wọnyi, a lo igbesẹ ALS ni asiko asiko lati kọ aṣoju fekito ti olumulo.

Jẹ ki a ro pe a ni aṣoju fekito fun gbogbo awọn iwe aṣẹ. Fun apẹẹrẹ, a le kọ awọn ifibọ aisinipo da lori ọrọ ti nkan nipa lilo ELMo, BERT tabi awọn awoṣe ikẹkọ ẹrọ miiran. Bawo ni a ṣe le gba aṣoju fekito ti awọn olumulo ni aaye kanna ti o da lori awọn ibaraenisepo wọn ninu eto naa?

Ilana gbogbogbo ti dida ati jijẹ ti matrix olumulo-iweJẹ ki a ni awọn olumulo m ati awọn iwe aṣẹ n. Fun diẹ ninu awọn olumulo, ibatan wọn si awọn iwe aṣẹ kan jẹ mimọ. Lẹhinna alaye yii le ṣe aṣoju bi matrix mxn: awọn ori ila badọgba si awọn olumulo, ati awọn ọwọn ni ibamu si awọn iwe aṣẹ. Niwọn igba ti eniyan ko ti rii pupọ julọ awọn iwe aṣẹ, pupọ julọ awọn sẹẹli matrix yoo wa ni ofo, lakoko ti awọn miiran yoo kun. Fun iṣẹlẹ kọọkan (bii, ikorira, tẹ) diẹ ninu iye ti pese ni matrix - ṣugbọn jẹ ki a gbero awoṣe ti o rọrun ninu eyiti ifẹ kan badọgba si 1, ati ikorira ni ibamu si -1.

Jẹ ki a sọ matrix naa di meji: P (mxd) ati Q (dxn), nibiti d jẹ iwọn ti aṣoju fekito (nigbagbogbo nọmba kekere). Lẹhinna ohun kọọkan yoo ni ibamu si fekito onisẹpo d (fun olumulo kan - ọna kan ninu matrix P, fun iwe kan - iwe kan ninu matrix Q). Awọn olutọpa wọnyi yoo jẹ awọn ifibọ ti awọn nkan ti o baamu. Lati ṣe asọtẹlẹ boya olumulo yoo fẹ iwe-ipamọ kan, o le jiroro ni isodipupo awọn ifibọ wọn.

Bii a ṣe n ṣiṣẹ lori didara ati iyara ti yiyan awọn iṣeduro
Ọkan ninu awọn ọna ti o ṣeeṣe lati decompose matrix jẹ ALS (Alternating Least Squares). A yoo mu iṣẹ isonu wọnyi dara si:

Bii a ṣe n ṣiṣẹ lori didara ati iyara ti yiyan awọn iṣeduro

Nibi rui ni ibaraenisepo ti olumulo u pẹlu iwe i, qi ni fekito ti iwe i, pu ni fekito ti olumulo u.

Lẹhinna fekito olumulo ti o dara julọ lati oju wiwo ti aṣiṣe onigun mẹrin tumọ si (fun awọn olutọpa iwe ti o wa titi) ni a rii ni itupalẹ nipasẹ ipinnu ifasẹyin laini ti o baamu.

Eyi ni a pe ni "igbesẹ ALS". Ati pe algorithm ALS funrararẹ ni pe a ṣe atunṣe ọkan ninu awọn matrices (awọn olumulo ati awọn nkan) ati ṣe imudojuiwọn ekeji, wiwa ojutu ti o dara julọ.

Ni akoko, wiwa aṣoju fekito olumulo jẹ iṣẹ ṣiṣe ti o yara ti o yara ti o le ṣee ṣe ni akoko ṣiṣe ni lilo awọn itọnisọna fekito. Ẹtan yii gba ọ laaye lati mu esi olumulo lẹsẹkẹsẹ sinu akọọlẹ ni ipo. Ifibọ kanna le ṣee lo ninu atọka kNN lati mu yiyan oludije dara si.

Pipin Ajọṣepọ Asẹ

Bii o ṣe le ṣe isọdi matrix pinpin kaakiri ati yarayara wa awọn aṣoju fekito ti awọn nkan tuntun?

Akoonu kii ṣe orisun nikan ti awọn ifihan agbara iṣeduro. Orisun pataki miiran jẹ alaye ifowosowopo. Awọn ẹya ipo to dara le ṣee gba ni aṣa lati jijẹ ti matrix olumulo-iwe. Ṣugbọn nigba igbiyanju lati ṣe iru ibajẹ bẹ, a pade awọn iṣoro:

1. A ni milionu ti awọn iwe aṣẹ ati mewa ti milionu ti awọn olumulo. Matrix naa ko baamu patapata lori ẹrọ kan, ati jijẹ yoo gba akoko pipẹ pupọ.
2. Pupọ julọ akoonu ti o wa ninu eto naa ni igbesi aye kukuru: awọn iwe aṣẹ wa ni pataki fun awọn wakati diẹ nikan. Nitorinaa, o jẹ dandan lati kọ awọn aṣoju fekito wọn ni yarayara bi o ti ṣee.
3. Ti o ba kọ ibajẹ kan lẹsẹkẹsẹ lẹhin ti iwe-ipamọ ti gbejade, nọmba to to ti awọn olumulo kii yoo ni akoko lati ṣe iṣiro rẹ. Nitorina, aṣoju fekito rẹ kii yoo dara julọ.
4. Ti olumulo kan ba fẹran tabi ikorira, a kii yoo ni anfani lati ṣe akiyesi eyi lẹsẹkẹsẹ ni jijẹ.

Lati yanju awọn iṣoro wọnyi, a ṣe imuse ibajẹ pinpin ti matrix olumulo-iwe pẹlu awọn imudojuiwọn afikun loorekoore. Bawo ni pato ṣe n ṣiṣẹ?

Ṣebi a ni iṣupọ ti awọn ẹrọ N (N wa ninu awọn ọgọọgọrun) ati pe a fẹ lati ṣe ibajẹ pinpin ti matrix kan lori wọn ti ko baamu lori ẹrọ kan. Ibeere naa ni bawo ni a ṣe le ṣe ibajẹ yii ki, ni apa kan, data to wa lori ẹrọ kọọkan ati, ni apa keji, ki awọn iṣiro naa jẹ ominira?

Bii a ṣe n ṣiṣẹ lori didara ati iyara ti yiyan awọn iṣeduro

A yoo lo algorithm jijẹ ALS ti a ṣalaye loke. Jẹ ki a wo bii o ṣe le ṣe igbesẹ ALS kan ni ọna pinpin - iyoku awọn igbesẹ naa yoo jọra. Jẹ ki a sọ pe a ni matrix ti o wa titi ti awọn iwe aṣẹ ati pe a fẹ lati kọ matrix ti awọn olumulo. Lati ṣe eyi, a yoo pin si awọn ẹya N nipasẹ awọn laini, apakan kọọkan yoo ni isunmọ nọmba kanna ti awọn ila. A yoo firanṣẹ si ẹrọ kọọkan awọn sẹẹli ti ko ṣofo ti awọn ori ila ti o baamu, bakanna bi matrix ti awọn ifibọ iwe (gbogbo). Niwọn igba ti iwọn rẹ ko tobi pupọ, ati pe matrix iwe-ipamọ olumulo jẹ igbagbogbo fọnka, data yii yoo baamu lori ẹrọ deede.

Yi omoluabi le ti wa ni tun lori orisirisi awọn epochs titi ti awoṣe converges, alternating awọn ti o wa titi matrix ọkan nipa ọkan. Ṣugbọn paapaa lẹhinna, ibajẹ matrix le gba awọn wakati pupọ. Ati pe eyi ko yanju iṣoro naa ti o nilo lati gba awọn ifibọ ti awọn iwe aṣẹ tuntun ni iyara ati imudojuiwọn awọn ifibọ ti eyiti alaye kekere wa nigbati o kọ awoṣe naa.

Ifihan ti awọn imudojuiwọn awoṣe afikun iyara ṣe iranlọwọ fun wa. Jẹ ká sọ pé a ni a Lọwọlọwọ oṣiṣẹ awoṣe. Lati ikẹkọ rẹ, awọn nkan tuntun ti wa ti awọn olumulo wa ti ṣepọ pẹlu, ati awọn nkan ti o ni ibaraenisọrọ kekere lakoko ikẹkọ. Lati yara gba awọn ifibọ iru awọn nkan bẹẹ, a lo awọn ifibọ olumulo ti o gba lakoko ikẹkọ nla akọkọ ti awoṣe ati ṣe igbesẹ ALS kan lati ṣe iṣiro iwe-ipamọ iwe ti a fun matrix olumulo ti o wa titi. Eyi n gba ọ laaye lati gba awọn ifibọ ni iyara - laarin awọn iṣẹju diẹ lẹhin ti o ti gbejade iwe naa - ati nigbagbogbo ṣe imudojuiwọn awọn ifibọ ti awọn iwe aṣẹ aipẹ.

Lati ṣe awọn iṣeduro lẹsẹkẹsẹ ṣe akiyesi awọn iṣe eniyan, ni akoko asiko a ko lo awọn ifibọ olumulo ti o gba offline. Dipo, a ṣe igbesẹ ALS kan ati gba fekito olumulo gangan.

Gbe lọ si agbegbe ìkápá miiran

Bii o ṣe le lo esi olumulo lori awọn nkan ọrọ lati kọ aṣoju vector kan ti fidio kan?

Ni ibẹrẹ, a ṣeduro awọn nkan ọrọ nikan, nitorinaa ọpọlọpọ awọn algoridimu wa ni a ṣe deede si iru akoonu yii. Ṣugbọn nigba fifi awọn iru akoonu miiran kun, a dojuko pẹlu iwulo lati ṣe deede awọn awoṣe. Bawo ni a ṣe yanju iṣoro yii nipa lilo apẹẹrẹ fidio kan? Aṣayan kan ni lati tun gbogbo awọn awoṣe ṣe lati ibere. Ṣugbọn eyi gba akoko pipẹ, ati diẹ ninu awọn algoridimu n beere lori iwọn ti apẹẹrẹ ikẹkọ, eyiti ko sibẹsibẹ wa ni iwọn ti a beere fun iru akoonu tuntun ni awọn akoko akọkọ ti igbesi aye rẹ lori iṣẹ naa.

A lọ ni ọna miiran ati tun lo awọn awoṣe ọrọ fun fidio naa. Ẹtan ALS kanna ṣe iranlọwọ fun wa lati ṣẹda awọn aṣoju fekito ti awọn fidio. A mu aṣoju fekito ti awọn olumulo ti o da lori awọn nkan ọrọ ati ṣe igbesẹ ALS kan nipa lilo alaye wiwo fidio. Nitorinaa a ni irọrun ni aṣoju fekito ti fidio naa. Ati ni akoko asiko a rọrun ṣe iṣiro isunmọtosi laarin fekito olumulo ti a gba lati awọn nkan ọrọ ati fekito fidio.

ipari

Dagbasoke ipilẹ ti eto iṣeduro akoko gidi kan pẹlu ọpọlọpọ awọn italaya. O nilo lati ṣe ilana data ni kiakia ati lo awọn ọna ML lati lo data yii ni imunadoko; kọ awọn ọna ṣiṣe pinpin eka ti o lagbara lati ṣiṣẹ awọn ami olumulo ati awọn ẹya tuntun ti akoonu ni akoko ti o kere ju; ati ọpọlọpọ awọn iṣẹ-ṣiṣe miiran.

Ninu eto ti o wa lọwọlọwọ, apẹrẹ ti eyiti Mo ṣe apejuwe, didara awọn iṣeduro fun olumulo n dagba pẹlu iṣẹ ṣiṣe rẹ ati ipari gigun lori iṣẹ naa. Ṣugbọn nitoribẹẹ, nibi wa ni iṣoro akọkọ: o nira fun eto lati ni oye lẹsẹkẹsẹ awọn iwulo eniyan ti o ni ibaraenisọrọ kekere pẹlu akoonu naa. Imudara awọn iṣeduro fun awọn olumulo titun jẹ ibi-afẹde bọtini wa. A yoo tẹsiwaju lati mu awọn algoridimu pọ si ki akoonu ti o ṣe pataki si eniyan kan wọle si ifunni rẹ ni iyara, ati pe akoonu ti ko ṣe pataki ko han.

orisun: www.habr.com

Fi ọrọìwòye kun