Xebata fêrbûna makîneyê di Mail.ru Mail de

Xebata fêrbûna makîneyê di Mail.ru Mail de

Li ser bingeha axaftinên min ên li Highload++ û DataFest Minsk 2019.

Ji bo pir kesan îro, nameyê beşek yekbûyî ya jiyana serhêl e. Bi alîkariya wê, em nameyên karsaziyê dimeşînin, her cûre agahdariya girîng a têkildarî darayî, veqetandina otêl, danîna fermanan û hêj bêtir hilînin. Di nîvê 2018-an de, me stratejiyek hilberek ji bo pêşkeftina nameyê formul kir. Divê posta nûjen çawa be?

Mail divê bibe baqil, ango, ji bikarhêneran re dibe alîkar ku hêjmara zêde ya agahdariyê rêve bibin: Parzûn, avahîsaz bikin û bi awayê herî hêsan peyda bikin. Divê ew be bikartê, dihêle hûn di qutiya posta xwe de karên cihêreng çareser bikin, mînakî, drav bidin (fonksek ku, mixabin, ez bikar tînim). Û di heman demê de, bê guman, nameyê pêdivî ye ku parastina agahdarî peyda bike, spam qut bike û li hember hakkirinê biparêze, ango be emîn.

Van deveran gelek pirsgirêkên sereke diyar dikin, ku pir ji wan dikarin bi karanîna fêrbûna makîneyê bi bandor werin çareser kirin. Li vir mînakên taybetmendiyên heyî yên ku wekî beşek stratejiyê hatine pêşve xistin hene - yek ji bo her rêgezê.

  • Bersîvek Smart. Mail xwedan taybetmendiyek bersivê ya jîr e. Tora neuralî metna nameyê analîz dike, wate û mebesta wê fam dike, û di encamê de sê vebijarkên bersivê yên herî guncaw pêşkêşî dike: erênî, neyînî û bêalî. Ev dibe alîkar ku di dema bersivdana nameyan de dem bi girîngî xilas bike, û di heman demê de pir caran bi rengek ne-standard û qeşmerî bersiv bide.
  • Komkirina emailanbi fermanên li firotgehên serhêl ve girêdayî ye. Em pir caran serhêl dikanin, û, wekî qaîdeyek, firotgeh dikarin ji bo her fermanê çend e-nameyê bişînin. Mînakî, ji AliExpress, karûbarê herî mezin, ji bo yek fermanê gelek tîp tê de, û me hesab kir ku di rewşa termînalê de hejmara wan dikare bigihêje 29-an. Ji ber vê yekê, bi karanîna modela Named Entity Recognition, em jimara fermanê derdixin. û agahdariyên din ên ji nivîsê û hemî tîpan di yek mijarê de kom bikin. Em di heman demê de agahdariya bingehîn di derheqê fermanê de di qutiyek cûda de nîşan didin, ku karkirina bi vî rengî e-nameyê re hêsantir dike.

    Xebata fêrbûna makîneyê di Mail.ru Mail de

  • Dij-phishing. Phishing celebek e-nameyê ya xapînok bi taybetî xeternak e, bi alîkariya wê êrîşkar hewl didin ku agahdariya darayî (tevî qertên bankê yên bikarhêner) û têketinê bistînin. Nameyên bi vî rengî yên rastîn ên ku ji hêla karûbarê ve têne şandin, di nav de bi dîtbarî dişibînin. Ji ber vê yekê, bi alîkariya Computer Vision, em logo û şêwaza sêwirana tîpan ji pargîdaniyên mezin (mînak, Mail.ru, Sber, Alfa) nas dikin û vê yekê digel nivîs û taybetmendiyên din ên di dabeşkerên xwe yên spam û phishing de digirin ber çav. .

Fêrbûna makîneyê

Bi gelemperî di derbarê fêrbûna makîneyê de di e-nameyê de hindik. Mail pergalek pir barkirî ye: rojane bi navînî 1,5 mîlyar herf ji bo 30 mîlyon bikarhênerên DAU di serverên me re derbas dibin. Nêzîkî 30 pergalên fêrbûna makîneyê hemî fonksiyon û taybetmendiyên pêwîst piştgirî dikin.

Her herf bi tevahî boriyek dabeşkirinê re derbas dibe. Pêşî em spam qut dikin û e-nameyên baş dihêlin. Bikarhêner bi gelemperî karê antîspam nabînin, ji ber ku 95-99% spam jî di peldanka guncan de naqede. Naskirina spam beşek pir girîng a pergala me ye, û ya herî dijwar, ji ber ku di warê antî-spam de adaptasyonek domdar di navbera pergalên parastin û êrîşê de heye, ku ji bo tîmê me dijwariyek endezyariyê ya domdar peyda dike.

Piştre, em tîpan ji mirovan û robotan vediqetînin. E-nameyên ji mirovan re yên herî girîng in, ji ber vê yekê em taybetmendiyên mîna Smart Reply ji wan re peyda dikin. Nameyên ji robotan li du beşan têne dabeş kirin: danûstendin - ev nameyên girîng ên karûbaran in, mînakî, pejirandina kirînê an veqetandinên otêlê, darayî û agahdarî - ev reklamên karsaziyê, dakêşan in.

Em bawer dikin ku e-nameyên danûstendinê di girîngiya pêwendiya kesane de wekhev in. Pêdivî ye ku ew li ber dest bin, ji ber ku em bi gelemperî hewce ne ku zû agahdarî li ser fermanek an veqetandina bilêta hewayê bibînin, û em wextê xwe li lêgerîna van tîpan derbas dikin. Ji ber vê yekê, ji bo rehetiyê, em wan bixweber wan li şeş kategoriyên sereke dabeş dikin: rêwîtî, ferman, darayî, bilêt, tomarkirin û, di dawiyê de, ceza.

Nameyên agahdarî koma herî mezin û belkî kêmtir girîng in, ku bersivek tavilê hewce nake, ji ber ku heke ew nameyek wusa nexwîne dê di jiyana bikarhêner de tiştek girîng neyê guheztin. Di navbeynkariya xweya nû de, em wan di nav du mijaran de hilweşînin: torên civakî û bultenan, bi vî rengî bi dîtbarî qutîkê paqij dikin û tenê peyamên girîng xuya dikin.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Operasyona

Hejmarek mezin a pergalê di xebitandinê de dibe sedema gelek zehmetiyan. Beriya her tiştî, model bi demê re, mîna her nermalavê, xera dibin: taybetmendî têk diçin, makîneyên têk diçin, kod xelet dibe. Wekî din, dane bi domdarî diguhezin: yên nû têne zêdekirin, şêwazên tevgera bikarhêner têne guheztin, hwd., Ji ber vê yekê modelek bêyî piştgirîya rast dê bi demê re xirabtir û xirabtir bixebite.

Pêdivî ye ku em ji bîr nekin ku fêrbûna makîneyê her ku kûrtir bikeve nav jiyana bikarhêneran, bandora wan li ser ekosîstemê ew qas mezintir e, û, wekî encam, bêtir windahiyên darayî an qezencên lîstikvanên bazarê dikarin bistînin. Ji ber vê yekê, di hejmareke zêde deveran de, lîstikvan bi xebata algorîtmayên ML-ê re adapte dibin (nimûneyên klasîk reklam, lêgerîn û antispam-a ku berê hatî destnîşan kirin).

Di heman demê de, peywirên fêrbûna makîneyê taybetmendiyek heye: her guhertinek pergalê, hetta piçûktir, dikare bi modelê re gelek kar çêbike: bi daneyan re xebitîn, ji nû ve perwerdekirin, bicihkirin, ku dikare hefte an mehan bidome. Ji ber vê yekê, hawîrdora ku modelên we lê dixebitin zûtir diguhezin, ew qas hewildan hewce dike ku wan biparêze. Tîmek dikare gelek pergalan biafirîne û jê kêfxweş bibe, lê dûv re hema hema hemî çavkaniyên xwe xerc dike da ku wan biparêze, bêyî ku derfetê bide ku tiştek nû bike. Em carekê di tîmê antîspam de rastî rewşek weha hatin. Û wan encama eşkere kir ku pêdivî ye ku piştgirî bixweber be.

Otomasyonê

Çi dikare bixweber bibe? Hema hema her tişt, bi rastî. Min çar qadên ku binesaziya fêrbûna makîneyê diyar dikin destnîşan kirine:

  • berhevkirina daneyan;
  • perwerdehiya zêde;
  • bikaranîn;
  • ceribandin & çavdêrîkirin.

Ger jîngeh bêîstîqrar be û bi domdarî diguhere, wê hingê tevahiya binesaziya li dora modelê ji modela xwe pir girîngtir derdikeve holê. Dibe ku ew dabeşkerek xêzek kevn a baş be, lê heke hûn taybetmendiyên rast jê re têr bikin û ji bikarhêneran bertekên baş bistînin, ew ê ji modelên Dewleta-Hunerê bi hemî zengil û bilbilan re pir çêtir bixebite.

Feedback Loop

Ev çerx berhevkirina daneyan, perwerdehiya zêde û bicîhkirinê - di rastiyê de, çerxa nûvekirina modela tevahî. Çima girîng e? Li bernameya qeydkirinê di nameyê de binêrin:

Xebata fêrbûna makîneyê di Mail.ru Mail de

Pêşdebirek fêrbûna makîneyê modelek antî-bot bicîh kiriye ku rê li ber qeydkirina botan di e-nameyê de digire. Graf digihîje nirxek ku tenê bikarhênerên rastîn dimînin. Her tişt mezin e! Lê çar saet derbas dibin, bot skrîptên xwe dişoxilînin, û her tişt vedigere rewşa normal. Di vê pêkanînê de, pêşdebir mehek lê zêde kir ku taybetmendî û ji nû ve perwerdekirina modelê derbas kir, lê spammer karîbû di çar saetan de xwe adapte bike.

Ji bo ku em ew qas bi êş nebin û ne hewce ne ku paşê her tiştî ji nû ve bikin, divê em di destpêkê de bifikirin ka dê lûleya bersivdayînê çawa xuya bike û ger jîngeh biguhere em ê çi bikin. Ka em bi berhevkirina daneyan dest pê bikin - ev sotemeniya algorîtmayên me ye.

Komkirina daneyan

Eşkere ye ku ji bo torên neuralî yên nûjen, çiqas bêtir dane, çêtir e, û ew, bi rastî, ji hêla bikarhênerên hilberê ve têne çêkirin. Bikarhêner dikarin bi nîşankirina daneyan ji me re bibin alîkar, lê em nikarin vê yekê îstismar bikin, ji ber ku di demekê de bikarhêner dê ji temamkirina modelên we aciz bibin û dê veguhezînin hilberek din.

Yek ji xeletiyên herî gelemperî (li vir ez referansek li Andrew Ng dikim) pir zêde balê dikişîne ser metrîkên li ser databasa ceribandinê, û ne li ser nerînên bikarhêner, ku bi rastî pîvana sereke ya kalîteya xebatê ye, ji ber ku em diafirînin. hilberek ji bo bikarhêner. Ger bikarhêner ji xebata modelê fam neke an jê hez neke, wê hingê her tişt wêran dibe.

Ji ber vê yekê, bikarhêner divê her gav bikaribe deng bide û ji bo bersivdayînê amûrek jê re were dayîn. Ger em difikirin ku nameyek têkildarî darayî gihîştiye qutiya posteyê, pêdivî ye ku em wê "fînanse" nîşan bikin û bişkokek ku bikarhêner bikaribe bikirtîne û bêje ku ev ne darayî ye xêz bikin.

Kalîteya Feedback

Ka em li ser kalîteya nerînên bikarhêner biaxivin. Pêşîn, hûn û bikarhêner dikarin wateyên cihêreng li yek têgehekê bixin. Mînakî, hûn û rêvebirên hilberê we difikirin ku "fînanse" tê wateya nameyên ji bankê, û bikarhêner difikire ku nameyek ji dapîra di derbarê teqawidiya wê de jî behsa darayî dike. Ya duyemîn, bikarhêner hene ku bêhiş hez dikin ku bişkokan bêyî ti mantiqê pê bikin. Ya sêyemîn, dibe ku bikarhêner di encamên xwe de pir xelet be. Nimûneyek berbiçav ji pratîka me pêkanîna dabeşkerek e Spama Nîjerî, celebek spamek pir xweş e ku tê de ji bikarhêner tê xwestin ku çend mîlyon dolar ji xizmek dûr a ku ji nişka ve li Afrîkayê hatî dîtin bistîne. Piştî bicihanîna vê dabeşkerê, me klîkên "Ne Spam" li ser van e-nameyên hanê kontrol kirin, û derket holê ku 80% ji wan spamên nîjeryayî yên şirîn in, ku ev pêşniyar dike ku bikarhêner dikarin zehf dilpak bin.

Û em ji bîr nekin ku bişkok ne tenê ji hêla mirovan ve, lê di heman demê de ji hêla her cûre botên ku wekî gerokek xuya dikin jî dikarin werin klîk kirin. Ji ber vê yekê nerînên xav ji bo fêrbûnê ne baş e. Hûn dikarin bi vê agahdariyê çi bikin?

Em du rêbazan bikar tînin:

  • Bersiv ji ML-ya girêdayî. Mînakî, me pergalek antî-bot a serhêl heye, ku, wekî ku min behs kir, li ser bingeha hejmarek sînorkirî ya nîşanan biryarek bilez dide. Û pergalek duyemîn, hêdî heye ku piştî rastiyê dixebite. Di derbarê bikarhêner, tevgera wî, hwd de bêtir dane hene. Wekî encamek, biryara herî agahdar tête girtin; li gorî vê yekê, ew xwedan rastbûn û bêkêmasî ye. Hûn dikarin cûdahiya xebata van pergalan ji ya yekem re wekî daneyên perwerdehiyê rêve bibin. Ji ber vê yekê, pergalek hêsan dê her gav hewl bide ku nêzîkê performansa yekî tevlihevtir bibe.
  • Tesnîfkirina bikirtînin. Hûn dikarin bi hêsanî her klîkek bikarhêner dabeş bikin, derbasdar û karanîna wê binirxînin. Em vê yekê di nameya antîspam de dikin, bi karanîna taybetmendiyên bikarhêner, dîroka wî, taybetmendiyên şander, nivîs bixwe û encamên dabeşkeran bikar tînin. Wekî encamek, em pergalek otomatîkî digirin ku nerînên bikarhêner piştrast dike. Û ji ber ku pêdivî ye ku ew pir kêm caran ji nû ve were perwerde kirin, xebata wê dikare bibe bingeh ji bo hemî pergalên din. Di vê modelê de pêşîniya sereke rastbûn e, ji ber ku perwerdehiya modelê li ser daneyên nerast bi encaman re tije ye.

Dema ku em daneyan paqij dikin û pergalên xwe yên ML-yê hîn bêtir perwerde dikin, divê em bikarhêneran ji bîr nekin, ji ber ku ji bo me bi hezaran, bi mîlyonan xeletiyên li ser grafîkê statîstîk in, û ji bo bikarhêner her xeletiyek trajediyek e. Digel vê yekê ku bikarhêner pêdivî ye ku bi rengekî xeletiya we di hilberê de bijî, piştî wergirtina bertek, ew li bendê ye ku di pêşerojê de rewşek weha were rakirin. Ji ber vê yekê, her gav hêja ye ku ne tenê fersenda dengdanê bidin bikarhêneran, lê di heman demê de reftarên pergalên ML-ê jî rast bikin, ji bo her klîk bersivê, mînakî, heurîstîkên kesane biafirînin; di mijara nameyê de, ev dibe ku şiyana fîlterkirinê be. nameyên weha ji hêla şander û sernavê ve ji bo vê bikarhênerê.

Her weha hûn hewce ne ku modelek li ser bingeha hin rapor an daxwaznameyên ku piştgirî bikin di moda nîv-otomatîk an bi destan de ava bikin da ku bikarhênerên din ji pirsgirêkên mîna wan dernekevin.

Heuristics ji bo fêrbûnê

Di van heuristics û kêşan de du pirsgirêk hene. Ya yekem ev e ku jimareya her ku diçe zêde dibe domdar dijwar e, bila ji kalîte û performansa wan di demek dirêj de bimîne. Pirsgirêka duyemîn ev e ku dibe ku xeletî ne pir caran be, û çend klîk ji bo hînkirina modelê ne bes be. Wusa dixuye ku ger nêzîkatiya jêrîn were sepandin ev her du bandorên negirêdayî dikarin bi girîngî bêbandor bibin.

  1. Em kelekek demkî ava dikin.
  2. Em daneyan jê re dişînin modelê, ew bi rêkûpêk xwe nûve dike, tevî daneyên wergirtî. Li vir, bê guman, girîng e ku heurîstîk xwedan rastbûna bilind be da ku kalîteya daneyê di koma perwerdehiyê de kêm neke.
  3. Dûv re em çavdêriyê destnîşan dikin ku kevçîyê bişewitîne, û heke piştî demek şûnda çuçik êdî nexebite û bi tevahî ji hêla modelê ve were nixumandin, wê hingê hûn dikarin bi ewlehî jêbirin. Niha ev pirsgirêk ne mimkûn e ku careke din biqewime.

Ji ber vê yekê artêşek kêzikan pir bikêr e. Ya sereke ev e ku xizmeta wan lezgîn e û ne mayînde ye.

perwerdeya Additional

Ji nû ve perwerdekirin pêvajoyek zêdekirina daneyên nû yên ku di encama bertekên bikarhêner an pergalên din de hatine bidestxistin, û perwerdekirina modelek heyî li ser wê ye. Dibe ku di perwerdehiya zêde de çend pirsgirêk hebin:

  1. Dibe ku model tenê piştgirî nede perwerdehiya zêde, lê tenê ji sifrê fêr bibe.
  2. Li tu dera pirtûka xwezayê nehatiye nivîsandin ku perwerdehiya zêde dê bê guman kalîteya xebatê di hilberînê de baştir bike. Pir caran berevajî vê yekê dibe, ango tenê xirabûn dibe.
  3. Guhertin dikarin nebawer bin. Ev xalek pir nazik e ku me ji xwe re destnîşan kiriye. Tewra ku modelek nû di ceribandinek A/B de encamên mîna ya heyî nîşan bide, ev nayê vê wateyê ku ew ê bi heman rengî bixebite. Dibe ku karê wan tenê di sedî yek de cûda bibe, ku dibe ku xeletiyên nû bîne an yên berê yên ku berê hatine rast kirin vegerîne. Hem em hem jî bikarhêner jixwe dizanin ku meriv çawa bi xeletiyên heyî re bijî, û gava ku hejmareke mezin ji xeletiyên nû derdikevin, dibe ku bikarhêner jî fam neke ka çi diqewime, ji ber ku ew behremendiya pêşbînîkirî hêvî dike.

Ji ber vê yekê, di perwerdehiya zêde de ya herî girîng ew e ku meriv pê ewle bibe ku model çêtir dibe, an bi kêmanî xirabtir nabe.

Gava ku em li ser perwerdehiya zêde diaxivin yekem tiştê ku tê bîra me nêzîkatiya Fêrbûna Çalak e. Ev tê çi wateyê? Mînakî, dabeşker diyar dike ka e-nameyek bi darayî ve girêdayî ye, û li dora sînorê biryara wê em nimûneyek nimûneyên binavkirî lê zêde dikin. Ev baş dixebite, mînakî, di reklamê de, ku li wir gelek bertek hene û hûn dikarin modela serhêl perwerde bikin. Û heke bertek hindik hebe, wê hingê em li gorî belavkirina daneya hilberînê nimûneyek pir bialoz werdigirin, li ser bingeha wê ne gengaz e ku meriv behreya modelê di dema xebatê de binirxîne.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Bi rastî, armanca me ew e ku em qalibên kevn, modelên berê naskirî biparêzin û yên nû bidest bixin. Li vir berdewamî girîng e. Modela ku me gelek caran ji bo derxistina wê êşên mezin kişand, jixwe dixebite, ji ber vê yekê em dikarin li ser performansa wê bisekinin.

Di nameyê de modelên cihêreng têne bikar anîn: dar, xêzik, torên neuralî. Ji bo her yekê em algorîtmaya perwerdehiya xweya zêde çêdikin. Di pêvajoya perwerdehiya zêde de, em ne tenê daneyên nû, lê di heman demê de pir caran taybetmendiyên nû jî distînin, ku em ê di hemî algorîtmayên jêrîn de bihesibînin.

Modelên Linear

Em bêjin ku me regresyona lojîstîkî heye. Em modelek windabûnê ji pêkhateyên jêrîn diafirînin:

  • LogLoss li ser daneyên nû;
  • em giraniya taybetmendiyên nû bi rêkûpêk dikin (em dest nadin yên kevn);
  • ji bo parastina qalibên kevn em jî ji daneyên kevn fêr dibin;
  • û, belkî, ya herî girîng: em Birêkûpêkkirina Harmonîk lê zêde dikin, ku garantî dike ku giranî dê li gorî normê li gorî modela kevn pir neguhezin.

Ji ber ku her pêkhateyek windabûnê xwedan kêşan e, em dikarin ji bo peywira xwe bi navgîniya erêkirinê an li ser bingeha daxwazên hilberê nirxên çêtirîn hilbijêrin.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Trees

Ka em biçin ser darên biryarê. Me ji bo perwerdehiya zêde ya daran algorîtmaya jêrîn berhev kiriye:

  1. Hilberîn daristanek ji 100-300 daran dimeşîne, ku li ser daneya kevn tê perwerde kirin.
  2. Di dawiyê de em M = 5 perçeyan jê dikin û 2M = 10 yên nû lê zêde dikin, ku li ser tevaya daneya hatî perwerde kirin, lê bi giraniyek mezin ji bo daneya nû, ku bi xwezayî guherînek zêde di modelê de garantî dike.

Eşkere ye, bi demê re, hejmara daran pir zêde dibe, û divê ew bi periyodîk werin kêm kirin da ku dem bi cih werin. Ji bo kirina vê yekê, em Teqandina Zanînê ya ku niha li her derê ye (KD) bikar tînin. Bi kurtî li ser prensîba xebata wê.

  1. Modela me ya "tevlihev" ya heyî heye. Em wê li ser berhevoka daneya perwerdehiyê dimeşînin û dabeşkirina îhtîmala polê di encam de digirin.
  2. Dûv re, em modela xwendekar perwerde dikin (modela ku di vê rewşê de kêmtir daran e) ku encamên modelê bi karanîna dabeşkirina polê wekî guhêrbara armancê dubare bike.
  3. Li vir girîng e ku em bala xwe bidinê ku em bi tu awayî nîşana daneya daneyê bikar neynin, û ji ber vê yekê em dikarin daneyên kêfî bikar bînin. Bê guman, em ji bo modela xwendekar mînakek daneya ji çemê şer wekî nimûneyek perwerdehiyê bikar tînin. Ji ber vê yekê, koma perwerdehiyê dihêle ku em rastbûna modelê piştrast bikin, û nimûneya tîrêjê performansek wekhev li ser belavkirina hilberînê garantî dike, ku berdêla pêşbaziya koma perwerdehiyê dide.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Kombûna van her du teknîkan (zêdekirina daran û kêmkirina periyodîk jimara wan bi karanîna Distîlasyona Zanînê) danasîna qalibên nû û domdariya bêkêmasî misoger dike.

Bi alîkariya KD-ê, em li ser taybetmendiyên modelê, wekî rakirina taybetmendiyan û xebata li ser valahiyan, operasyonên cihêreng jî dikin. Di doza me de, me çend taybetmendiyên statîstîkî yên girîng hene (ji hêla şander, haşeyên nivîsê, URL, hwd.) ku di databasê de têne hilanîn, ku meyldar dibin ku têk biçin. Model, bê guman, ji bo pêşkeftinek wusa bûyeran ne amade ye, ji ber ku rewşên têkçûnê di koma perwerdehiyê de çênabin. Di rewşên weha de, em teknîkên KD û zêdekirinê li hev dikin: dema ku beşek daneyê perwerde dikin, em taybetmendiyên pêwîst jê dikin an ji nû ve dikin, û em etîketên orîjînal (derketinên modela heyî) digirin, û modela xwendekar fêrî dubarekirina vê belavkirinê dibe. .

Xebata fêrbûna makîneyê di Mail.ru Mail de

Me bala xwe da ku her ku manîpulasyona modelê ya ciddî çêbibe, ji sedî nimûneya tîrêjê ya ku hewce dike mezintir dibe.

Rakirina taybetmendiyê, operasyona herî hêsan, tenê beşek piçûk a herikê hewce dike, ji ber ku tenê çend taybetmendî diguhezin, û modela heyî li ser heman setê hate perwerde kirin - cûdahî hindik e. Ji bo hêsankirina modelê (jimara daran çend caran kêm bike), jixwe ji 50 heta 50 hewce ye. Û ji bo kêmkirina taybetmendiyên îstatîstîkî yên girîng ku dê bi giranî bandorê li performansa modelê bike, hêj bêtir herikîn hewce dike ku xebata xêz bike. modela nû ya berxwedêr li ser her cûre tîpan.

Xebata fêrbûna makîneyê di Mail.ru Mail de

FastText

Werin em biçin ser FastText. Bihêle ez bînim bîra we ku temsîla (Embedding) peyvê ji kombûna bicîkirina peyvê bi xwe û hemû tîpên wê yên N-gram, bi gelemperî trigram, pêk tê. Ji ber ku dibe ku gelek trîgram hebin, Bucket Hashing tê bikar anîn, ango, veguheztina tevahî cîhê nav hashmapek diyarkirî. Wekî encamek, matrixa giraniyê bi pîvana qata hundurîn li her hejmarek peyvan + kepçeyan tê wergirtin.

Bi perwerdehiya zêde re, nîşanên nû xuya dibin: peyv û trigram. Di perwerdehiya şopandina standard a ji Facebookê de tiştek girîng çênabe. Tenê giraniyên kevn ên bi xaç-entropî li ser daneyên nû têne perwerde kirin. Ji ber vê yekê, taybetmendiyên nû nayên bikar anîn; bê guman, ev nêzîkatî hemî dezawantajên ku li jor hatine destnîşan kirin bi nepêşbarkirina modela di hilberînê de ve girêdayî ne. Ji ber vê yekê me FastText hinekî guherand. Em hemî giraniyên nû (peyv û trîgram) lê zêde dikin, tevahiya matrixê bi entropiya xaçê berfireh dikin û bi analojiyê bi modela xêzikê re rêkûpêkkirina ahengek zêde dikin, ku di giraniyên kevn de guherînek ne girîng garantî dike.

Xebata fêrbûna makîneyê di Mail.ru Mail de

CNN

Torên konvobûnê hinekî tevlihevtir in. Ger qatên paşîn di CNN-ê de temam bibin, wê hingê, bê guman, hûn dikarin rêkûpêkkirina ahengî bicîh bikin û domdariyê garantî bikin. Lê heke perwerdehiya zêde ya tevahiya torê hewce be, wê hingê rêkûpêkkirina wusa êdî li hemî qatan nayê sepandin. Lêbelê, vebijarkek heye ku bi navgîniya Wendabûna Triplet (gotara orjînal).

Wendabûna Sê

Wekî mînakek karekî dijî-phishing bikar bînin, ka em bi gelemperî li windabûna Triplet binêrin. Em logoya xwe, û her weha mînakên erênî û neyînî yên logoyên pargîdaniyên din digirin. Em dûrahiya di navbera ya yekem de kêm dikin û dûrahiya di navbera ya duyemîn de zêde dikin, em vê yekê bi valahiyek piçûk dikin da ku tevliheviya çînên mezintir peyda bikin.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Ger em torê hîn bêtir perwerde bikin, wê hingê cîhê metrîka me bi tevahî diguhezîne, û ew bi ya berê re bi tevahî li hev nayê. Di pirsgirêkên ku vektoran bikar tînin de ev pirsgirêkek cidî ye. Ji bo ku em li dora vê pirsgirêkê derbikevin, em ê di dema perwerdehiyê de navgînên kevnar tevlihev bikin.

Me daneyên nû li koma perwerdehiyê zêde kiriye û guhertoya duyemîn a modelê ji nû ve perwerde dikin. Di qonaxa duyemîn de, em tora xwe hîn bêtir perwerde dikin (Finetuning): Pêşî qata paşîn qediya, û dûv re jî tevaya torê bê cemidandin. Di pêvajoya berhevkirina sêçikan de, em bi karanîna modela perwerdekirî tenê beşek ji vegirtinê hesab dikin, yên mayî - bi karanîna ya kevn. Bi vî rengî, di pêvajoya perwerdehiya zêde de, em lihevhatina metrîkên v1 û v2 piştrast dikin. Guhertoyek bêhempa ya rêkûpêkkirina harmonik.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Tevahiya mîmarî

Ger em tevahiya pergalê wekî mînakek antîspam bikar tîne bifikirin, wê hingê model ne veqetandî ne, lê di nav hev de ne. Em wêne, nivîs û taybetmendiyên din digirin, bi CNN û Fast Text bikar tînin em embeddings digirin. Dûv re, dabeşker li ser pêvekan têne sepandin, ku ji bo çînên cihêreng puanan peyda dikin (cûreyên tîpan, spam, hebûna logoyê). Ji bo biryara dawîn bê dayîn îşaret û tabelayan berê xwe didin daristana daran. Klasifkerên ferdî yên di vê nexşeyê de dihêle ku meriv encamên pergalê baştir şîrove bike û bi taybetî di bûyera pirsgirêkan de hêmanan ji nû ve perwerde bike, li şûna ku hemî daneyan bi rengek xav di nav darên biryarê de bihêle.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Wekî encamek, em di her astê de berdewamiyê garantî dikin. Di asta jêrîn de di CNN û Fast Text de em rêkûpêkkirina ahengek bikar tînin, ji bo dabeşkerên li navîn jî em rêkûpêkkirina ahengek û kalibrasyona rêjeyê ji bo hevgirtina dabeşkirina îhtîmalê bikar tînin. Welê, zêdekirina daran bi zêdeyî an bi karanîna Distîlasyona Zanînê tê perwerde kirin.

Bi gelemperî, domandina pergalek fêrbûna makîneya hêlînek wusa bi gelemperî êşek e, ji ber ku her pêkhateyek di asta jêrîn de rê li nûvekirina tevahiya pergala jorîn vedike. Lê ji ber ku di sazkirina me de her pêkhateyek hinekî diguhezîne û bi ya berê re hevaheng e, hemî pergal dikare perçe-perçe were nûve kirin bêyî ku hewce bike ku tevahiya strukturê ji nû ve perwerde bike, ku dihêle ku ew bêyî sermayek ciddî were piştgirî kirin.

Bikaranîn

Me berhevkirina daneyan û perwerdehiya zêde ya cûreyên cûda yên modelan nîqaş kiriye, ji ber vê yekê em berbi bicihkirina wan di hawîrdora hilberînê de diçin.

testkirina A/B

Wekî ku min berê jî got, di pêvajoya berhevkirina daneyan de, em bi gelemperî nimûneyek beredayî distînin, ku ji wê ne gengaz e ku meriv performansa hilberîna modelê binirxîne. Ji ber vê yekê, dema ku tê bicîh kirin, pêdivî ye ku model bi guhertoya berê re were berhev kirin da ku fêm bikin ka tişt bi rastî çawa diçin, ango ceribandinên A/B bikin. Bi rastî, pêvajoya derxistin û analîzkirina nexşeyan pir rûtîn e û bi hêsanî dikare were otomatîk kirin. Em modelên xwe gav bi gav berbi 5%, 30%, 50% û 100% ji bikarhêneran derdixînin, dema ku hemî metrîkên berdest li ser bersivên model û nerînên bikarhêner berhev dikin. Di doza hin derbirînên cidî de, em bixweber modelê paşde vedigerînin, û ji bo rewşên din, ku hejmarek têr klîkên bikarhêner berhev kirine, em biryar didin ku sedî zêde bikin. Wekî encamek, em modela nû ji% 50-ê bikarhêneran re bi tevahî bixweber vedigirin, û danasîna ji tevahiya temaşevanan re dê ji hêla kesek ve were pejirandin, her çend ev gav dikare bixweber be.

Lêbelê, pêvajoya ceribandina A / B cîhê xweşbîniyê pêşkêşî dike. Rastî ev e ku her ceribandinek A/B pir dirêj e (di rewşa me de ew ji 6 heya 24 demjimêran li gorî mêjera bersivê digire), ku ew pir biha û bi çavkaniyên tixûbdar dike. Digel vê yekê, ji bo ceribandinê rêjeyek têra xwe bilind a herikînê hewce ye ku bi bingehîn bilezkirina dema giştî ya ceribandina A/B (tevgerkirina nimûneyek girîng a îstatîstîkî ji bo nirxandina metrîkan bi rêjeyek piçûk dikare demek pir dirêj bigire), ku ev dike hejmara slots A/B pir bi sînor. Eşkere ye, em hewce ne ku tenê modelên herî sozdar biceribînin, yên ku em di pêvajoya perwerdehiya zêde de pir distînin.

Ji bo çareserkirina vê pirsgirêkê, me dabeşkerek cihêreng perwerde kir ku serkeftina ceribandinek A/B pêşbîn dike. Ji bo vê yekê, em statîstîkên biryargirtinê, Rastbûn, Bîranîn û metrîkên din ên li ser koma perwerdehiyê, li ser ya paşverû, û li ser nimûneya ji çemê wekî taybetmendiyê digirin. Em di heman demê de modela bi ya heyî ya di hilberînê de, bi heuristics re didin ber hev û Tevliheviya modelê li ber çavan digirin. Bi karanîna van hemî taybetmendiyan, dabeşkerek ku li ser dîroka ceribandinê hatî perwerde kirin modelên berendaman dinirxîne, di rewşa me de ev daristanên daran in, û biryar dide ku kîjan di ceribandina A/B de bikar bîne.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Di dema pêkanînê de, vê nêzîkatiyê hişt ku em çend caran hejmara ceribandinên serkeftî yên A/B zêde bikin.

Testkirin & Şopandin

Testkirin û çavdêrîkirin, pir ecêb e, zirarê nade tenduristiya me; berevajî vê yekê, ew wê baştir dikin û me ji stresa nehewce xilas dikin. Testkirin dihêle hûn pêşî li têkçûnekê bigirin, û çavdêrî dihêle hûn wê di wextê de tespît bikin da ku bandora li ser bikarhêneran kêm bikin.

Girîng e ku li vir fêm bikin ku zû an dereng pergala we dê her gav xeletiyan bike - ev ji ber çerxa pêşkeftina her nermalavê ye. Di destpêka pêşkeftina pergalê de her gav gelek xeletî hene heya ku her tişt rûne û qonaxa sereke ya nûbûnê bidawî bibe. Lê bi demê re, entropî berdêla xwe digire, û xeletî dîsa xuya dibin - ji ber hilweşîna pêkhateyên li derdorê û guheztina daneyan, ku min di destpêkê de qala wan kir.

Li vir ez dixwazim bibînim ku her pergalek fêrbûna makîneyê divê di tevahiya çerxa jiyana xwe de ji hêla berjewendiya xwe ve were hesibandin. Grafika li jêr mînakek nîşan dide ka pergal çawa dixebite ku celebek spam-ê ya hindik bigire (xêza di grafîkê de nêzîkê sifirê ye). Rojekê, ji ber taybetmendiyek nerast a cache, ew dîn bû. Ji ber ku bextê wê be, çavdêriyek ji bo vekêşana anormal tune bû; Wekî encamek, pergalê dest bi tomarkirina tîpan bi mîqdarên mezin li peldanka "spam" a li sînorê biryardanê kir. Ligel serrastkirina encaman jî, sîstemê jixwe gelek caran xeletî kiriye ku heta 5 salan jî berdêla xwe nade. Û ev ji hêla çerxa jiyana modelê ve bi tevahî têkçûnek e.

Xebata fêrbûna makîneyê di Mail.ru Mail de

Ji ber vê yekê, tiştek wusa hêsan wekî çavdêrî dikare di jiyana modelê de bibe sereke. Ji bilî metrîkên standard û eşkere, em belavkirina bersiv û pûanên modelê, û her weha dabeşkirina nirxên taybetmendiya sereke dihesibînin. Bi karanîna cûdahiya KL, em dikarin belavkirina heyî bi ya dîrokî re an nirxên di testa A/B de bi tîrêjê mayî re bidin ber hev, ku rê dide me ku em di modelê de anomaliyan bibînin û di wextê xwe de guheztinan paşde vegerînin.

Di pir rewşan de, em guhertoyên xwe yên yekem ên pergalê bi karanîna heuristics an modelên hêsan ên ku em di pêşerojê de wekî çavdêriyê bikar tînin dest pê dikin. Mînakî, em modela NER-ê li gorî yên birêkûpêk ji bo firotgehên serhêl ên taybetî ve dişopînin, û heke vegirtina dabeşker li gorî wan kêm bibe, wê hingê em sedeman fam dikin. Bikaranîna din a kêrhatî ya heuristics!

Encam

Ka em dîsa li ser ramanên sereke yên gotarê bigerin.

  • Fibdeck. Em her gav li ser bikarhêner difikirin: ew ê çawa bi xeletiyên me re bijî, ew ê çawa bikaribe wan rapor bike. Ji bîr nekin ku bikarhêner ji bo modelên perwerdehiyê çavkaniyek nerînek paqij in, û pêdivî ye ku ew bi alîkariya pergalên ML-ya alîkar were paqij kirin. Heke ne gengaz e ku meriv nîşanek ji bikarhênerê berhev bike, wê hingê em li çavkaniyên alternatîf ên bersivê digerin, mînakî, pergalên girêdayî.
  • perwerdeya Additional. Ya sereke li vir berdewamî ye, ji ber vê yekê em xwe dispêrin modela hilberîna heyî. Em modelên nû perwerde dikin da ku ew ji ber rêkûpêkkirina aheng û hîleyên mîna wan ji ya berê pir cûda nebin.
  • Bikaranîn. Veguheztina otomatîkî ya ku li ser bingeha metrîkan e, dema pêkanîna modelan pir kêm dike. Şopandina statîstîkan û belavkirina biryargirtinê, hejmara ketina ji bikarhêneran ji bo xewa weya bêhnvedan û dawiya hefteyê ya berhemdar mecbûrî ye.

Welê, ez hêvî dikim ku ev ji we re dibe alîkar ku hûn pergalên ML-ya xwe zûtir çêtir bikin, wan zûtir bazarê bikin, û wan pêbawer û kêmtir stresdar bikin.

Source: www.habr.com

Add a comment