Gweithredu dysgu peirianyddol yn Mail.ru Mail

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Yn seiliedig ar fy areithiau yn Highload++ a DataFest Minsk 2019.

I lawer heddiw, mae post yn rhan annatod o fywyd ar-lein. Gyda'i help, rydym yn cynnal gohebiaeth fusnes, yn storio pob math o wybodaeth bwysig yn ymwneud â chyllid, archebion gwesty, gosod archebion a llawer mwy. Yng nghanol 2018, gwnaethom lunio strategaeth cynnyrch ar gyfer datblygu post. Sut beth ddylai post modern fod?

Rhaid i'r post fod smart, hynny yw, helpu defnyddwyr i lywio'r cyfaint cynyddol o wybodaeth: hidlo, strwythuro a'i ddarparu yn y ffordd fwyaf cyfleus. Rhaid iddi fod defnyddiol, sy'n eich galluogi i ddatrys tasgau amrywiol yn iawn yn eich blwch post, er enghraifft, talu dirwyon (swyddogaeth sydd, yn anffodus, rwy'n ei ddefnyddio). Ac ar yr un pryd, wrth gwrs, mae'n rhaid i bost ddarparu amddiffyniad gwybodaeth, torri sbam ac amddiffyn rhag hacio, hynny yw, bod yn yn ddiogel.

Mae'r meysydd hyn yn diffinio nifer o broblemau allweddol, a gellir datrys llawer ohonynt yn effeithiol trwy ddefnyddio dysgu peiriant. Dyma enghreifftiau o nodweddion sydd eisoes yn bodoli a ddatblygwyd fel rhan o'r strategaeth - un i bob cyfeiriad.

  • Ateb Smart. Mae gan Mail nodwedd ateb clyfar. Mae'r rhwydwaith niwral yn dadansoddi testun y llythyr, yn deall ei hystyr a'i phwrpas, ac o ganlyniad yn cynnig y tri opsiwn ymateb mwyaf priodol: cadarnhaol, negyddol a niwtral. Mae hyn yn helpu i arbed amser yn sylweddol wrth ateb llythyrau, a hefyd yn aml yn ymateb mewn ffordd ansafonol a doniol.
  • Grwpio e-bystyn ymwneud ag archebion mewn siopau ar-lein. Rydym yn aml yn siopa ar-lein, ac, fel rheol, gall siopau anfon sawl e-bost ar gyfer pob archeb. Er enghraifft, o AliExpress, y gwasanaeth mwyaf, mae llawer o lythrennau'n dod i mewn ar gyfer un archeb, a gwnaethom gyfrifo yn yr achos terfynol y gallai eu rhif gyrraedd hyd at 29. Felly, gan ddefnyddio'r model Cydnabod Endid a Enwir, rydym yn tynnu rhif y gorchymyn a gwybodaeth arall o'r testun a grwpiwch bob llythyren yn un llinyn. Rydym hefyd yn arddangos gwybodaeth sylfaenol am yr archeb mewn blwch ar wahân, sy'n ei gwneud hi'n haws gweithio gyda'r math hwn o e-bost.

    Gweithredu dysgu peirianyddol yn Mail.ru Mail

  • Antiphishing. Mae gwe-rwydo yn fath o e-bost twyllodrus arbennig o beryglus, gyda chymorth y mae ymosodwyr yn ceisio cael gwybodaeth ariannol (gan gynnwys cardiau banc y defnyddiwr) a mewngofnodi. Mae llythyrau o'r fath yn dynwared rhai go iawn a anfonwyd gan y gwasanaeth, gan gynnwys rhai gweledol. Felly, gyda chymorth Computer Vision, rydym yn adnabod logos ac arddull dylunio llythyrau gan gwmnïau mawr (er enghraifft, Mail.ru, Sber, Alfa) ac yn ystyried hyn ynghyd â thestun a nodweddion eraill yn ein dosbarthwyr sbam a gwe-rwydo. .

Dysgu peiriant

Ychydig am ddysgu peirianyddol mewn e-bost yn gyffredinol. Mae post yn system llawn llwyth: mae cyfartaledd o 1,5 biliwn o lythyrau'r dydd yn mynd trwy ein gweinyddion ar gyfer 30 miliwn o ddefnyddwyr DAU. Mae tua 30 o systemau dysgu peiriant yn cefnogi'r holl swyddogaethau a nodweddion angenrheidiol.

Mae pob llythyren yn mynd trwy biblinell ddosbarthu gyfan. Yn gyntaf rydyn ni'n torri sbam i ffwrdd ac yn gadael e-byst da. Yn aml nid yw defnyddwyr yn sylwi ar waith antispam, oherwydd nid yw 95-99% o sbam hyd yn oed yn y ffolder priodol. Mae adnabod sbam yn rhan bwysig iawn o'n system, a'r anoddaf, oherwydd ym maes gwrth-sbam mae addasiad cyson rhwng systemau amddiffyn ac ymosod, sy'n darparu her beirianneg barhaus i'n tîm.

Nesaf, rydym yn gwahanu llythyrau oddi wrth bobl a robotiaid. E-byst gan bobl yw'r rhai pwysicaf, felly rydyn ni'n darparu nodweddion fel Smart Reply iddyn nhw. Rhennir llythyrau gan robotiaid yn ddwy ran: trafodion - mae'r rhain yn lythyrau pwysig gan wasanaethau, er enghraifft, cadarnhad o bryniannau neu amheuon gwesty, cyllid, a gwybodaeth - hysbysebu busnes, gostyngiadau yw'r rhain.

Credwn fod e-byst trafodion yr un mor bwysig â gohebiaeth bersonol. Dylent fod wrth law, oherwydd yn aml mae angen inni ddod o hyd i wybodaeth yn gyflym am archeb neu archeb tocyn awyr, ac rydym yn treulio amser yn chwilio am y llythyrau hyn. Felly, er hwylustod, rydym yn eu rhannu'n awtomatig yn chwe phrif gategori: teithio, archebion, cyllid, tocynnau, cofrestriadau ac, yn olaf, dirwyon.

Llythyrau gwybodaeth yw'r grŵp mwyaf a llai pwysig mae'n debyg, nad oes angen ymateb ar unwaith, gan na fydd unrhyw beth arwyddocaol yn newid ym mywyd y defnyddiwr os na fydd yn darllen llythyr o'r fath. Yn ein rhyngwyneb newydd, rydyn ni'n eu cwympo'n ddwy edefyn: rhwydweithiau cymdeithasol a chylchlythyrau, gan glirio'r mewnflwch yn weledol a gadael negeseuon pwysig yn unig yn weladwy.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

ecsbloetio

Mae nifer fawr o systemau yn achosi llawer o anawsterau wrth weithredu. Wedi'r cyfan, mae modelau'n diraddio dros amser, fel unrhyw feddalwedd: mae nodweddion yn torri, mae peiriannau'n methu, mae'r cod yn cam. Yn ogystal, mae data'n newid yn gyson: mae rhai newydd yn cael eu hychwanegu, mae patrymau ymddygiad defnyddwyr yn cael eu trawsnewid, ac ati, felly bydd model heb gefnogaeth briodol yn gweithio'n waeth ac yn waeth dros amser.

Rhaid inni beidio ag anghofio, po ddyfnach y mae dysgu â pheiriant yn ei dreiddio i fywydau defnyddwyr, y mwyaf yw'r effaith a gânt ar yr ecosystem, ac, o ganlyniad, y mwyaf o golledion ariannol neu elw y gall chwaraewyr y farchnad ei gael. Felly, mewn nifer cynyddol o feysydd, mae chwaraewyr yn addasu i waith algorithmau ML (enghreifftiau clasurol yw hysbysebu, chwilio a'r antispam a grybwyllwyd eisoes).

Hefyd, mae gan dasgau dysgu peirianyddol hynodrwydd: gall unrhyw newid, hyd yn oed mân, yn y system gynhyrchu llawer o waith gyda'r model: gweithio gyda data, ailhyfforddi, defnyddio, a all gymryd wythnosau neu fisoedd. Felly, y cyflymaf y bydd yr amgylchedd y mae eich modelau'n gweithredu ynddo yn newid, y mwyaf o ymdrech sydd ei angen i'w cynnal. Gall tîm greu llawer o systemau a bod yn hapus yn ei gylch, ond yna gwario ei holl adnoddau bron yn eu cynnal, heb y cyfle i wneud unrhyw beth newydd. Daethom ar draws sefyllfa o'r fath unwaith yn y tîm gwrth-spam. A daethant i'r casgliad amlwg bod angen awtomeiddio cymorth.

Awtomeiddio

Beth all fod yn awtomataidd? Bron popeth, mewn gwirionedd. Rwyf wedi nodi pedwar maes sy’n diffinio’r seilwaith dysgu peirianyddol:

  • casglu data;
  • hyfforddiant ychwanegol;
  • defnyddio;
  • profi a monitro.

Os yw'r amgylchedd yn ansefydlog ac yn newid yn gyson, yna mae'r seilwaith cyfan o amgylch y model yn llawer pwysicach na'r model ei hun. Efallai ei fod yn hen ddosbarthwr llinol da, ond os ydych chi'n bwydo'r nodweddion cywir iddo ac yn cael adborth da gan ddefnyddwyr, bydd yn gweithio'n llawer gwell na modelau State-of-The-Art gyda'r holl glychau a chwibanau.

Dolen Adborth

Mae'r cylch hwn yn cyfuno casglu data, hyfforddiant ychwanegol a defnydd - mewn gwirionedd, y cylch diweddaru model cyfan. Pam ei fod yn bwysig? Edrychwch ar yr amserlen gofrestru yn y post:

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Mae datblygwr dysgu peiriannau wedi gweithredu model gwrth-bot sy'n atal bots rhag cofrestru mewn e-bost. Mae'r graff yn disgyn i werth lle mai dim ond defnyddwyr go iawn sydd ar ôl. Mae popeth yn wych! Ond mae pedair awr yn mynd heibio, mae'r bots yn tweakio eu sgriptiau, ac mae popeth yn dychwelyd i normal. Yn y gweithrediad hwn, treuliodd y datblygwr fis yn ychwanegu nodweddion ac yn ailhyfforddi'r model, ond roedd y sbamiwr yn gallu addasu mewn pedair awr.

Er mwyn peidio â bod mor ofnadwy o boenus a pheidio â gorfod ail-wneud popeth yn ddiweddarach, rhaid i ni feddwl i ddechrau am sut olwg fydd ar y ddolen adborth a beth fyddwn ni'n ei wneud os bydd yr amgylchedd yn newid. Gadewch i ni ddechrau gyda chasglu data - dyma'r tanwydd ar gyfer ein algorithmau.

Casglu data

Mae'n amlwg ar gyfer rhwydweithiau niwral modern, y mwyaf o ddata, y gorau, ac maent, mewn gwirionedd, yn cael eu cynhyrchu gan ddefnyddwyr y cynnyrch. Gall defnyddwyr ein helpu trwy farcio data, ond ni allwn gam-drin hyn, oherwydd ar ryw adeg bydd defnyddwyr yn blino ar gwblhau eich modelau a byddant yn newid i gynnyrch arall.

Un o'r camgymeriadau mwyaf cyffredin (yma dwi'n cyfeirio at Andrew Ng) yw gormod o ffocws ar fetrigau ar y set ddata prawf, ac nid ar adborth gan y defnyddiwr, sef y prif fesur o ansawdd y gwaith mewn gwirionedd, ers i ni greu cynnyrch ar gyfer y defnyddiwr. Os nad yw'r defnyddiwr yn deall neu ddim yn hoffi gwaith y model, yna mae popeth yn cael ei ddifetha.

Felly, dylai'r defnyddiwr bob amser allu pleidleisio a dylid rhoi offeryn adborth iddo. Os ydym yn meddwl bod llythyr yn ymwneud â chyllid wedi cyrraedd y blwch post, mae angen i ni ei farcio “cyllid” a thynnu botwm y gall y defnyddiwr ei glicio a dweud nad cyllid yw hwn.

Ansawdd adborth

Gadewch i ni siarad am ansawdd adborth defnyddwyr. Yn gyntaf, gallwch chi a'r defnyddiwr roi gwahanol ystyron mewn un cysyniad. Er enghraifft, rydych chi a’ch rheolwyr cynnyrch yn meddwl bod “cyllid” yn golygu llythyrau gan y banc, ac mae’r defnyddiwr yn meddwl bod llythyr gan nain am ei phensiwn hefyd yn cyfeirio at gyllid. Yn ail, mae yna ddefnyddwyr sy'n ddifeddwl wrth eu bodd yn pwyso botymau heb unrhyw resymeg. Yn drydydd, efallai y bydd y defnyddiwr yn camgymryd yn fawr yn ei gasgliadau. Enghraifft drawiadol o'n harfer yw gweithredu dosbarthwr Sbam Nigeria, math ddoniol iawn o sbam lle gofynnir i'r defnyddiwr gymryd sawl miliwn o ddoleri o berthynas pell a ddarganfuwyd yn sydyn yn Affrica. Ar ôl gweithredu'r dosbarthwr hwn, fe wnaethom wirio'r cliciau “Not Spam” ar yr e-byst hyn, a daeth i'r amlwg bod 80% ohonynt yn sbam Nigeria llawn sudd, sy'n awgrymu y gall defnyddwyr fod yn hynod hygoelus.

A pheidiwch ag anghofio y gall y botymau gael eu clicio nid yn unig gan bobl, ond hefyd gan bob math o bots sy'n esgus bod yn borwr. Felly nid yw adborth amrwd yn dda ar gyfer dysgu. Beth allwch chi ei wneud gyda'r wybodaeth hon?

Rydym yn defnyddio dau ddull:

  • Adborth gan ML cysylltiedig. Er enghraifft, mae gennym system gwrth-bot ar-lein, sydd, fel y soniais, yn gwneud penderfyniad cyflym yn seiliedig ar nifer cyfyngedig o arwyddion. Ac mae yna ail system araf sy'n gweithio ar ôl y ffaith. Mae ganddo fwy o ddata am y defnyddiwr, ei ymddygiad, ac ati. O ganlyniad, gwneir y penderfyniad mwyaf gwybodus; yn unol â hynny, mae ganddo gywirdeb a chyflawnrwydd uwch. Gallwch gyfeirio'r gwahaniaeth yng ngweithrediad y systemau hyn i'r un cyntaf fel data hyfforddi. Felly, bydd system symlach bob amser yn ceisio mynd at berfformiad un mwy cymhleth.
  • Cliciwch ar y dosbarthiad. Yn syml, gallwch chi ddosbarthu pob clic defnyddiwr, gwerthuso ei ddilysrwydd a'i ddefnyddioldeb. Rydym yn gwneud hyn mewn post gwrth-spam, gan ddefnyddio priodoleddau defnyddiwr, ei hanes, priodoleddau anfonwr, y testun ei hun a chanlyniad y dosbarthwyr. O ganlyniad, rydym yn cael system awtomatig sy'n dilysu adborth defnyddwyr. A chan fod angen ei ailhyfforddi yn llawer llai aml, gall ei waith ddod yn sail i bob system arall. Y brif flaenoriaeth yn y model hwn yw manwl gywirdeb, oherwydd mae hyfforddi'r model ar ddata anghywir yn llawn canlyniadau.

Er ein bod yn glanhau'r data ac yn hyfforddi ein systemau ML ymhellach, rhaid inni beidio ag anghofio am y defnyddwyr, oherwydd i ni, mae miloedd, miliynau o wallau ar y graff yn ystadegau, ac i'r defnyddiwr, mae pob nam yn drasiedi. Yn ogystal â'r ffaith bod yn rhaid i'r defnyddiwr fyw gyda'ch gwall yn y cynnyrch rywsut, ar ôl derbyn adborth, mae'n disgwyl y bydd sefyllfa debyg yn cael ei dileu yn y dyfodol. Felly, mae bob amser yn werth rhoi cyfle i ddefnyddwyr nid yn unig bleidleisio, ond hefyd i gywiro ymddygiad systemau ML, gan greu, er enghraifft, heuristics personol ar gyfer pob clic adborth; yn achos post, gallai hyn fod y gallu i hidlo llythyrau o'r fath gan anfonwr a theitl ar gyfer y defnyddiwr hwn.

Mae angen i chi hefyd adeiladu model yn seiliedig ar rai adroddiadau neu geisiadau i gefnogi mewn modd lled-awtomatig neu â llaw fel nad yw defnyddwyr eraill yn dioddef o broblemau tebyg.

Heuristics ar gyfer dysgu

Mae dwy broblem gyda'r heuristics a'r baglau hyn. Y cyntaf yw ei bod yn anodd cynnal y nifer cynyddol o faglau, heb sôn am eu hansawdd a'u perfformiad dros y tymor hir. Yr ail broblem yw efallai na fydd y gwall yn aml, ac ni fydd ychydig o gliciau i hyfforddi'r model ymhellach yn ddigon. Mae'n ymddangos y gellir niwtraleiddio'r ddwy effaith anghysylltiedig hyn yn sylweddol os cymhwysir y dull canlynol.

  1. Rydyn ni'n creu bagl dros dro.
  2. Rydym yn anfon data ohono i'r model, mae'n diweddaru ei hun yn rheolaidd, gan gynnwys ar y data a dderbyniwyd. Yma, wrth gwrs, mae'n bwysig bod gan yr heuristics gywirdeb uchel er mwyn peidio â lleihau ansawdd y data yn y set hyfforddi.
  3. Yna rydyn ni'n gosod y monitro i sbarduno'r crutch, ac os ar ôl peth amser nad yw'r crutch bellach yn gweithio a'i fod wedi'i orchuddio'n llwyr gan y model, yna gallwch chi ei dynnu'n ddiogel. Nawr mae'r broblem hon yn annhebygol o ddigwydd eto.

Felly mae byddin o faglau yn ddefnyddiol iawn. Y prif beth yw bod eu gwasanaeth yn un brys ac nid yn barhaol.

Hyfforddiant ychwanegol

Ailhyfforddi yw'r broses o ychwanegu data newydd a gafwyd o ganlyniad i adborth gan ddefnyddwyr neu systemau eraill, a hyfforddi model presennol arno. Gall fod nifer o broblemau gyda hyfforddiant ychwanegol:

  1. Efallai na fydd y model yn cefnogi hyfforddiant ychwanegol, ond yn dysgu o'r dechrau'n unig.
  2. Nid oes unman yn llyfr natur wedi'i ysgrifennu y bydd hyfforddiant ychwanegol yn sicr o wella ansawdd y gwaith cynhyrchu. Yn aml mae'r gwrthwyneb yn digwydd, hynny yw, dim ond dirywiad sy'n bosibl.
  3. Gall newidiadau fod yn anrhagweladwy. Mae hwn yn bwynt eithaf cynnil yr ydym wedi’i nodi drosom ein hunain. Hyd yn oed os yw model newydd mewn prawf A/B yn dangos canlyniadau tebyg o'i gymharu â'r un presennol, nid yw hyn yn golygu y bydd yn gweithio yn union yr un fath. Gall eu gwaith fod yn wahanol mewn un y cant yn unig, a all ddod â gwallau newydd neu ddychwelyd hen rai sydd eisoes wedi'u cywiro. Rydym ni a'r defnyddwyr eisoes yn gwybod sut i fyw gyda gwallau cyfredol, a phan fydd nifer fawr o wallau newydd yn codi, efallai na fydd y defnyddiwr hefyd yn deall beth sy'n digwydd, oherwydd ei fod yn disgwyl ymddygiad rhagweladwy.

Felly, y peth pwysicaf mewn hyfforddiant ychwanegol yw sicrhau bod y model yn cael ei wella, neu o leiaf ddim yn gwaethygu.

Y peth cyntaf sy’n dod i’r meddwl pan fyddwn yn sôn am hyfforddiant ychwanegol yw’r dull Dysgu Gweithredol. Beth mae hyn yn ei olygu? Er enghraifft, mae'r dosbarthwr yn penderfynu a yw e-bost yn gysylltiedig â chyllid, ac o gwmpas ei ffin penderfyniad rydym yn ychwanegu sampl o enghreifftiau wedi'u labelu. Mae hyn yn gweithio'n dda, er enghraifft, mewn hysbysebu, lle mae llawer o adborth a gallwch chi hyfforddi'r model ar-lein. Ac os nad oes llawer o adborth, yna rydym yn cael sampl rhagfarnllyd iawn o'i gymharu â'r dosbarthiad data cynhyrchu, ac ar y sail mae'n amhosibl gwerthuso ymddygiad y model yn ystod y llawdriniaeth.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Mewn gwirionedd, ein nod yw cadw hen batrymau, modelau sydd eisoes yn hysbys, a chaffael rhai newydd. Mae parhad yn bwysig yma. Mae'r model, yr oeddem yn aml yn cymryd cryn drafferth i'w gyflwyno, eisoes yn gweithio, felly gallwn ganolbwyntio ar ei berfformiad.

Defnyddir gwahanol fodelau yn y post: coed, rhwydweithiau llinol, niwral. Ar gyfer pob un rydym yn gwneud ein algorithm hyfforddi ychwanegol ein hunain. Yn y broses o hyfforddiant ychwanegol, rydym yn derbyn nid yn unig data newydd, ond hefyd yn aml nodweddion newydd, y byddwn yn eu hystyried yn yr holl algorithmau isod.

Modelau llinellol

Gadewch i ni ddweud bod gennym atchweliad logistaidd. Rydym yn creu model colled o'r cydrannau canlynol:

  • LogLoss ar ddata newydd;
  • rydym yn rheoleiddio pwysau nodweddion newydd (nid ydym yn cyffwrdd â'r hen rai);
  • rydym hefyd yn dysgu o hen ddata er mwyn cadw hen batrymau;
  • ac, efallai, y peth pwysicaf: rydym yn ychwanegu Rheoleiddiad Harmonig, sy'n gwarantu na fydd y pwysau'n newid llawer o'i gymharu â'r hen fodel yn ôl y norm.

Gan fod gan bob cydran Colled cyfernodau, gallwn ddewis y gwerthoedd gorau posibl ar gyfer ein tasg trwy groes-ddilysu neu yn seiliedig ar ofynion cynnyrch.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Y coed

Gadewch i ni symud ymlaen at goed penderfyniadau. Rydym wedi llunio'r algorithm canlynol ar gyfer hyfforddiant ychwanegol ar goed:

  1. Mae'r cynhyrchiad yn rhedeg coedwig o 100-300 o goed, sydd wedi'i hyfforddi ar hen set ddata.
  2. Ar y diwedd rydym yn tynnu M = 5 darn ac yn ychwanegu 2M = 10 rhai newydd, wedi'u hyfforddi ar y set ddata gyfan, ond gyda phwysau uchel ar gyfer y data newydd, sy'n naturiol yn gwarantu newid cynyddol yn y model.

Yn amlwg, dros amser, mae nifer y coed yn cynyddu'n fawr, a rhaid eu lleihau o bryd i'w gilydd er mwyn bodloni'r amseriadau. I wneud hyn, rydym yn defnyddio'r Distylliad Gwybodaeth (KD) sydd bellach yn hollbresennol. Yn fyr am egwyddor ei weithrediad.

  1. Mae gennym y model "cymhleth" presennol. Rydyn ni'n ei redeg ar y set ddata hyfforddi ac yn cael dosbarthiad tebygolrwydd dosbarth yn yr allbwn.
  2. Nesaf, rydym yn hyfforddi model y myfyriwr (y model gyda llai o goed yn yr achos hwn) i ailadrodd canlyniadau'r model gan ddefnyddio'r dosbarthiad dosbarth fel y newidyn targed.
  3. Mae'n bwysig nodi yma nad ydym yn defnyddio'r marcio set ddata mewn unrhyw ffordd, ac felly gallwn ddefnyddio data mympwyol. Wrth gwrs, rydym yn defnyddio sampl data o'r ffrwd ymladd fel sampl hyfforddi ar gyfer y model myfyrwyr. Felly, mae'r set hyfforddi yn ein galluogi i sicrhau cywirdeb y model, ac mae'r sampl ffrwd yn gwarantu perfformiad tebyg ar y dosbarthiad cynhyrchu, gan wneud iawn am ragfarn y set hyfforddi.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Mae'r cyfuniad o'r ddwy dechneg hyn (ychwanegu coed a lleihau eu nifer o bryd i'w gilydd gan ddefnyddio Distyllu Gwybodaeth) yn sicrhau cyflwyno patrymau newydd a pharhad llwyr.

Gyda chymorth KD, rydym hefyd yn perfformio gwahanol weithrediadau ar nodweddion model, megis dileu nodweddion a gweithio ar fylchau. Yn ein hachos ni, mae gennym nifer o nodweddion ystadegol pwysig (gan anfonwyr, hashes testun, URLs, ac ati) sy'n cael eu storio yn y gronfa ddata, sy'n tueddu i fethu. Nid yw'r model, wrth gwrs, yn barod ar gyfer datblygiad o'r fath o ddigwyddiadau, gan nad yw sefyllfaoedd methiant yn digwydd yn y set hyfforddi. Mewn achosion o'r fath, rydym yn cyfuno KD a thechnegau cynyddu: wrth hyfforddi ar gyfer rhan o'r data, rydym yn dileu neu'n ailosod y nodweddion angenrheidiol, ac rydym yn cymryd y labeli gwreiddiol (allbynnau'r model cyfredol), ac mae'r model myfyriwr yn dysgu ailadrodd y dosbarthiad hwn .

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Gwelsom po fwyaf difrifol o drin modelau sy'n digwydd, y mwyaf yw canran y sampl edau sydd ei angen.

Mae tynnu nodwedd, y llawdriniaeth symlaf, yn gofyn am ran fach o'r llif yn unig, gan mai dim ond ychydig o nodweddion sy'n newid, a hyfforddwyd y model presennol ar yr un set - mae'r gwahaniaeth yn fach iawn. Er mwyn symleiddio'r model (lleihau nifer y coed sawl gwaith), mae angen 50 i 50 eisoes. Ac ar gyfer hepgor nodweddion ystadegol pwysig a fydd yn effeithio'n ddifrifol ar berfformiad y model, mae angen hyd yn oed mwy o lif i lefelu gwaith y model. model newydd sy'n gwrthsefyll hepgoriad ar bob math o lythyrau.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

FastText

Gadewch i ni symud ymlaen i FastText. Gadewch i mi eich atgoffa bod cynrychioliad (Mewnosod) gair yn cynnwys swm y mewnosod y gair ei hun a'i holl lythyren N-gram, fel arfer trigramau. Gan y gall fod cryn dipyn o drigramau, defnyddir Hashing Bwced, hynny yw, trosi'r gofod cyfan yn hashmap sefydlog penodol. O ganlyniad, ceir y matrics pwysau gyda dimensiwn yr haen fewnol fesul nifer o eiriau + bwcedi.

Gyda hyfforddiant ychwanegol, mae arwyddion newydd yn ymddangos: geiriau a thrigramau. Nid oes unrhyw beth arwyddocaol yn digwydd mewn hyfforddiant dilynol safonol gan Facebook. Dim ond hen bwysau â thraws-entropi sy'n cael eu hailhyfforddi ar ddata newydd. Felly, ni ddefnyddir nodweddion newydd; wrth gwrs, mae gan y dull hwn yr holl anfanteision a ddisgrifir uchod sy'n gysylltiedig ag anrhagweladwyedd y model wrth gynhyrchu. Dyna pam y gwnaethom addasu FastText ychydig. Rydym yn ychwanegu'r holl bwysau newydd (geiriau a thrigramau), yn ehangu'r matrics cyfan gyda thraws-entropi ac yn ychwanegu rheoleiddiad harmonig trwy gyfatebiaeth â'r model llinol, sy'n gwarantu newid di-nod yn yr hen bwysau.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

CNN

Mae rhwydweithiau convolutional ychydig yn fwy cymhleth. Os cwblheir yr haenau olaf yn y CNN, yna, wrth gwrs, gallwch gymhwyso rheoleiddiad harmonig a gwarantu parhad. Ond os oes angen hyfforddiant ychwanegol ar y rhwydwaith cyfan, yna ni ellir cymhwyso'r fath reoleiddio bellach ar bob haen. Fodd bynnag, mae opsiwn i hyfforddi mewnosodiadau cyflenwol trwy Triplet Loss (erthygl wreiddiol).

Colled Driphlyg

Gan ddefnyddio tasg gwrth-we-rwydo fel enghraifft, gadewch i ni edrych ar Triplet Loss yn gyffredinol. Rydym yn cymryd ein logo, yn ogystal ag enghreifftiau cadarnhaol a negyddol o logos cwmnïau eraill. Rydym yn lleihau'r pellter rhwng y cyntaf ac yn cynyddu'r pellter rhwng yr ail, rydym yn gwneud hyn gyda bwlch bach i sicrhau bod y dosbarthiadau'n gryno.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Os byddwn yn hyfforddi'r rhwydwaith ymhellach, yna mae ein gofod metrig yn newid yn llwyr, ac mae'n dod yn gwbl anghydnaws â'r un blaenorol. Mae hon yn broblem ddifrifol mewn problemau sy'n defnyddio fectorau. I fynd o gwmpas y broblem hon, byddwn yn cymysgu hen fewnosodiadau yn ystod yr hyfforddiant.

Rydym wedi ychwanegu data newydd at y set hyfforddi ac yn hyfforddi ail fersiwn y model o'r dechrau. Yn yr ail gam, rydym yn hyfforddi ein rhwydwaith ymhellach (Finetuning): yn gyntaf mae'r haen olaf wedi'i chwblhau, ac yna mae'r rhwydwaith cyfan heb ei rewi. Yn y broses o gyfansoddi tripledi, rydym yn cyfrifo rhan yn unig o'r mewnosodiadau gan ddefnyddio'r model hyfforddedig, y gweddill - gan ddefnyddio'r hen un. Felly, yn y broses o hyfforddiant ychwanegol, rydym yn sicrhau cydnawsedd gofodau metrig v1 a v2. Fersiwn unigryw o gysoni harmonig.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Pensaernïaeth gyfan

Os byddwn yn ystyried y system gyfan yn defnyddio antispam fel enghraifft, yna nid yw'r modelau yn cael eu hynysu, ond yn nythu o fewn ei gilydd. Rydym yn cymryd lluniau, testun a nodweddion eraill, gan ddefnyddio CNN a Fast Text rydym yn cael mewnosodiadau. Nesaf, mae dosbarthwyr yn cael eu cymhwyso ar ben y mewnosodiadau, sy'n darparu sgoriau ar gyfer gwahanol ddosbarthiadau (math o lythyrau, sbam, presenoldeb logo). Mae'r arwyddion a'r arwyddion eisoes yn mynd i mewn i'r goedwig o goed er mwyn i'r penderfyniad terfynol gael ei wneud. Mae dosbarthwyr unigol yn y cynllun hwn yn ei gwneud hi'n bosibl dehongli canlyniadau'r system yn well ac yn fwy penodol ailhyfforddi cydrannau rhag ofn y bydd problemau, yn hytrach na bwydo'r holl ddata i goed penderfyniadau ar ffurf amrwd.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

O ganlyniad, rydym yn gwarantu parhad ar bob lefel. Ar y lefel isaf yn CNN a Fast Text rydym yn defnyddio cysoni harmonig, ar gyfer y dosbarthwyr yn y canol rydym hefyd yn defnyddio cysoni harmonig a graddnodi cyfradd ar gyfer cysondeb y dosbarthiad tebygolrwydd. Wel, mae hybu coed yn cael ei hyfforddi'n gynyddrannol neu ddefnyddio Distyllu Gwybodaeth.

Yn gyffredinol, mae cynnal system ddysgu peiriant nythu o'r fath fel arfer yn boen, gan fod unrhyw gydran ar y lefel is yn arwain at ddiweddariad i'r system gyfan uchod. Ond oherwydd yn ein gosodiad mae pob cydran yn newid ychydig ac yn gydnaws â'r un blaenorol, gellir diweddaru'r system gyfan fesul darn heb yr angen i ailhyfforddi'r strwythur cyfan, sy'n caniatáu iddo gael ei gefnogi heb orbenion difrifol.

Defnyddio

Rydym wedi trafod casglu data a hyfforddiant ychwanegol o wahanol fathau o fodelau, felly rydym yn symud ymlaen i’w rhoi ar waith yn yr amgylchedd cynhyrchu.

Profi A/B

Fel y dywedais yn gynharach, yn y broses o gasglu data, rydym fel arfer yn cael sampl rhagfarnllyd, ac mae'n amhosibl gwerthuso perfformiad cynhyrchu'r model ohono. Felly, wrth ei ddefnyddio, rhaid cymharu'r model â'r fersiwn flaenorol er mwyn deall sut mae pethau'n mynd mewn gwirionedd, hynny yw, cynnal profion A/B. Mewn gwirionedd, mae'r broses o gyflwyno a dadansoddi siartiau yn eithaf arferol a gellir ei hawtomeiddio'n hawdd. Rydym yn cyflwyno ein modelau yn raddol i 5%, 30%, 50% a 100% o ddefnyddwyr, tra'n casglu'r holl fetrigau sydd ar gael ar ymatebion model ac adborth defnyddwyr. Yn achos rhai allgleifion difrifol, rydyn ni'n dychwelyd y model yn awtomatig, ac mewn achosion eraill, ar ôl casglu nifer ddigonol o gliciau defnyddwyr, rydyn ni'n penderfynu cynyddu'r ganran. O ganlyniad, rydym yn dod â'r model newydd i 50% o ddefnyddwyr yn gwbl awtomatig, a bydd y cyflwyniad i'r gynulleidfa gyfan yn cael ei gymeradwyo gan berson, er y gellir awtomeiddio'r cam hwn.

Fodd bynnag, mae'r broses brofi A/B yn cynnig lle i optimeiddio. Y ffaith yw bod unrhyw brawf A / B yn eithaf hir (yn ein hachos ni mae'n cymryd rhwng 6 a 24 awr yn dibynnu ar faint o adborth), sy'n ei gwneud yn eithaf drud a chydag adnoddau cyfyngedig. Yn ogystal, mae angen canran ddigon uchel o lif ar gyfer y prawf yn ei hanfod i gyflymu amser cyffredinol y prawf A/B (gall recriwtio sampl ystadegol arwyddocaol i werthuso metrigau ar ganran fach gymryd amser hir iawn), sy'n gwneud nifer y slotiau A/B yn gyfyngedig iawn. Yn amlwg, dim ond y modelau mwyaf addawol y mae angen inni eu profi, ac rydym yn cael cryn dipyn ohonynt yn ystod y broses hyfforddi ychwanegol.

I ddatrys y broblem hon, fe wnaethom hyfforddi dosbarthwr ar wahân sy'n rhagweld llwyddiant prawf A/B. I wneud hyn, rydym yn cymryd ystadegau gwneud penderfyniadau, Manwl, Dwyn i gof a metrigau eraill ar y set hyfforddi, ar yr un gohiriedig, ac ar y sampl o'r ffrwd fel nodweddion. Rydym hefyd yn cymharu'r model gyda'r un presennol mewn cynhyrchu, gyda heuristics, ac yn cymryd i ystyriaeth Cymhlethdod y model. Gan ddefnyddio'r holl nodweddion hyn, mae dosbarthwr sydd wedi'i hyfforddi ar hanes prawf yn gwerthuso modelau ymgeisydd, yn ein hachos ni mae'r rhain yn goedwigoedd o goed, ac yn penderfynu pa un i'w ddefnyddio yn y prawf A/B.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Ar adeg ei roi ar waith, roedd y dull hwn yn ein galluogi i gynyddu nifer y profion A/B llwyddiannus sawl gwaith.

Profi a Monitro

Yn rhyfedd ddigon, nid yw profi a monitro yn niweidio ein hiechyd; yn hytrach, i'r gwrthwyneb, maent yn ei wella ac yn ein rhyddhau o straen diangen. Mae profion yn caniatáu ichi atal methiant, ac mae monitro yn caniatáu ichi ei ganfod mewn pryd i leihau'r effaith ar ddefnyddwyr.

Mae'n bwysig deall yma y bydd eich system bob amser yn gwneud camgymeriadau yn hwyr neu'n hwyrach - mae hyn oherwydd cylch datblygu unrhyw feddalwedd. Ar ddechrau datblygiad y system mae yna lawer o fygiau bob amser nes bod popeth yn setlo i lawr a bod y prif gam arloesi wedi'i gwblhau. Ond dros amser, mae entropi yn cymryd ei doll, ac mae gwallau'n ymddangos eto - oherwydd diraddio'r cydrannau o gwmpas a newidiadau mewn data, y siaradais amdano ar y dechrau.

Yma hoffwn nodi y dylid ystyried unrhyw system dysgu peiriannau o safbwynt ei elw trwy gydol ei gylch bywyd cyfan. Mae’r graff isod yn dangos enghraifft o sut mae’r system yn gweithio i ddal math prin o sbam (mae’r llinell yn y graff yn agos at sero). Un diwrnod, oherwydd priodoledd wedi'i storio'n anghywir, aeth yn wallgof. Fel y byddai lwc yn ei gael, nid oedd unrhyw fonitro ar gyfer sbarduno annormal; o ganlyniad, dechreuodd y system arbed llawer iawn o lythyrau i'r ffolder “spam” ar y ffin gwneud penderfyniadau. Er gwaethaf cywiro'r canlyniadau, mae'r system eisoes wedi gwneud camgymeriadau cymaint o weithiau na fydd yn talu amdani'i hun hyd yn oed mewn pum mlynedd. Ac mae hyn yn fethiant llwyr o safbwynt cylch bywyd y model.

Gweithredu dysgu peirianyddol yn Mail.ru Mail

Felly, gall peth mor syml â monitro ddod yn allweddol ym mywyd model. Yn ogystal â metrigau safonol ac amlwg, rydym yn ystyried dosbarthiad ymatebion a sgoriau enghreifftiol, yn ogystal â dosbarthiad gwerthoedd nodweddion allweddol. Gan ddefnyddio dargyfeiriad KL, gallwn gymharu'r dosbarthiad cerrynt â'r un hanesyddol neu'r gwerthoedd yn y prawf A/B â gweddill y ffrwd, sy'n ein galluogi i sylwi ar anghysondebau yn y model a threiglo newidiadau yn ôl mewn modd amserol.

Yn y rhan fwyaf o achosion, rydym yn lansio ein fersiynau cyntaf o systemau gan ddefnyddio heuristics neu fodelau syml a ddefnyddiwn fel monitro yn y dyfodol. Er enghraifft, rydym yn monitro'r model NER o'i gymharu â'r rhai arferol ar gyfer siopau ar-lein penodol, ac os yw cwmpas y dosbarthwr yn gostwng o'i gymharu â nhw, yna rydym yn deall y rhesymau. Defnydd defnyddiol arall o heuristics!

Canlyniadau

Gadewch i ni fynd dros syniadau allweddol yr erthygl eto.

  • Fibdeck. Rydyn ni bob amser yn meddwl am y defnyddiwr: sut y bydd yn byw gyda'n camgymeriadau, sut y bydd yn gallu adrodd amdanynt. Peidiwch ag anghofio nad yw defnyddwyr yn ffynhonnell adborth pur ar gyfer modelau hyfforddi, ac mae angen ei glirio gyda chymorth systemau ML ategol. Os nad yw'n bosibl casglu signal gan y defnyddiwr, yna rydym yn edrych am ffynonellau adborth amgen, er enghraifft, systemau cysylltiedig.
  • Hyfforddiant ychwanegol. Y prif beth yma yw parhad, felly rydym yn dibynnu ar y model cynhyrchu presennol. Rydym yn hyfforddi modelau newydd fel nad ydynt yn wahanol iawn i'r un blaenorol oherwydd rheoleiddiad harmonig a thriciau tebyg.
  • Defnyddio. Mae awto-leoli yn seiliedig ar fetrigau yn lleihau'r amser ar gyfer gweithredu modelau yn fawr. Monitro ystadegau a dosbarthu penderfyniadau, mae nifer y cwympiadau gan ddefnyddwyr yn orfodol ar gyfer eich cwsg gorffwys a phenwythnos cynhyrchiol.

Wel, rwy'n gobeithio y bydd hyn yn eich helpu i wella'ch systemau ML yn gyflymach, eu cael i'r farchnad yn gyflymach, a'u gwneud yn fwy dibynadwy ac yn llai o straen.

Ffynhonnell: hab.com

Ychwanegu sylw