Skaleeritav andmete klassifitseerimine turvalisuse ja privaatsuse jaoks

Skaleeritav andmete klassifitseerimine turvalisuse ja privaatsuse jaoks

Andmete klassifitseerimine sisu pĂ”hjal on avatud probleem. Traditsioonilised andmete kadumise ennetamise (DLP) sĂŒsteemid lahendavad selle probleemi, vĂ”ttes vastavatelt andmetelt sĂ”rmejĂ€lje ja jĂ€lgides lĂ”pp-punkte. Arvestades Facebooki pidevalt muutuvaid andmeallikaid, ei ole see lĂ€henemine mitte ainult mitteskaleeritav, vaid ka ebatĂ”hus andmete asukoha mÀÀramisel. KĂ€esolev artikkel kĂ€sitleb lĂ”pp-punkti sĂŒsteemi, mis on loodud tundlike semantiliste tĂŒĂŒpi tuvastamiseks Facebookis mastaabis ja automaatse andmete sĂ€ilitamise ning juurdepÀÀsu kontrollimise tagamiseks.

KĂ€esolevas artiklis kirjeldatud lĂ€henemine on meie esimene lĂ”pp-punkti privaatsuse sĂŒsteem, mis pĂŒĂŒab selle probleemi lahendada, kaasates andmesignaale, masinĂ”pet ja traditsioonilisi sĂ”rmejĂ€lgede meetodeid, et kuvada ja klassifitseerida kogu Facebooki andmestikku. Kirjeldatud sĂŒsteem töötab tootmiskeskkonnas, saavutades keskmise F2 skoori 0,9+ erinevates privaatsusklassides, töötledes suures koguses andmeallikaid kĂŒmnetes ladudes. Tutvustame Facebooki publikatsiooni tĂ”lget ArXiv'is masinĂ”ppe pĂ”hjalise andmete klassifitseerimise kohta privaatsuse ja turvalisuse tagamisel.

Sissejuhatus

TĂ€napĂ€eval koguvad ja salvestavad organisatsioonid suurtes kogustes andmeid erinevates formaatides ja kohtades [1], seejĂ€rel kasutatakse andmeid paljudes kohtades, mĂ”nikord kopeeritakse vĂ”i vahemĂ€llu salvestatakse mitu korda, mille tulemusena vÀÀrtuslik ja ĐșĐŸĐœŃ„ĐžĐŽĐ”ĐœŃ†ĐžĐ°Đ»ŃŒĐœĐ°Ń Ă€riline teave hajub paljude ettevĂ”tte andmehulkade vahel. Kui organisatsioonilt nĂ”utakse teatud seaduslike vĂ”i regulatiivsete nĂ”uete tĂ€itmist, nĂ€iteks tuleb jĂ€rgida regulatsioone tsiviilkohtumenetluse kĂ€igus, tekib vajadus koguda teavet vajalike andmete asukoha kohta. Kui konfidentsiaalsuse mÀÀruses sĂ€testatakse, et organisatsioon peab maskeerima kĂ”ik sotsiaalkindlustuse numbrid (SSN), edastades isikuandmeid volitamata isikutele, on loomulik esimene samm kĂ”igi SSN-ide otsimine organisatsiooni andmehulkadest. Sellistes oludes muutub andmete klassifitseerimine kriitiliseks [1]. KlassifitseerimissĂŒsteem vĂ”imaldab organisatsioonidel automaatselt tagada konfidentsiaalsuse ja turvapoliitika, nagu juurdepÀÀsu haldamise poliitika ja andmete sĂ€ilitamine. Facebook tutvustab sĂŒsteemi, mille oleme loonud Facebookis, mis kasutab mitmeid andmesignaale, skaleeritavat sĂŒsteemiarhitektuuri ja masinĂ”pet tundlike semantiliste andmetĂŒĂŒpide avastamiseks.

Andmete avastamine ja klassifitseerimine on nende leidmine ja mĂ€rgistamine viisil, et vajadusel oleks vĂ”imalik kiiresti ja tĂ”husalt vajalikku teavet vĂ€lja tĂ”mmata. Praegune protsess on pigem manuaalne ja hĂ”lmab asjakohaste seaduste vĂ”i regulatsioonide uurimist, mÀÀramaks, milliseid teave tuleks pidada tundlikuks ja millised on erinevad tundlikkuse tasemed, ning seejĂ€rel vastavalt klasside ja klassifitseerimispoliitika koostamist [1]. PĂ€rast andmekadu vĂ€ltiva sĂŒsteemi (DLP) andmeid jĂ€lgivad ja jĂ€lgivad lĂ”pp-punktid allavoolu, et saada sĂ”rmejĂ€lgi. Töötades salvestusruumis, kus on palju varasid ja petabaiti andmeid, ei ole selline lĂ€henemine lihtsalt skaleeritav.

Meie eesmĂ€rk on luua andmete klassifitseerimise sĂŒsteem, mis on skaleeritav nii stabiilsete kui ka ebastabiilsete kasutajateandmete jaoks, ilma igasuguste tĂ€iendavate piiranguteta andmete tĂŒĂŒbi vĂ”i formaadi osas. See on julge eesmĂ€rk ja loomulikult kaasnevad sellega raskused. MĂ”ni andmerekord vĂ”ib olla tuhandete sĂŒmbolite pikkune.

Skaleeritav andmete klassifitseerimine turvalisuse ja privaatsuse jaoks
Joonis 1. VeebipÔhise ja offline ennustamise voog

SeetĂ”ttu peame efektiivselt seda esindama, kasutades ĂŒhist omaduste kogumit, mida hiljem saab kombineerida ja hĂ”lpsasti liigutada. Need omadused peavad mitte ainult tagama tĂ€pse klassifitseerimise, vaid ka pakkuma paindlikkust ja laiendatavust, et tulevikus oleks lihtne uusi andmetĂŒĂŒpe lisada ja avastada. Teiseks, tuleb tegeleda suurte iseseisvate tabelitega. Stabiilsed andmed vĂ”ivad olla mitme petabaiti suurustes tabelites. See vĂ”ib viia skaneerimise kiirus langemiseni. Kolmandaks peame jĂ€rgima ranget SLA klassifitseerimist ebastabiilsete andmete osas. See sunnib sĂŒsteemi olema vĂ€ga efektiivne, kiire ja tĂ€pne. LĂ”puks peame tagama madala latentsusega andmete klassifitseerimise ebastabiilsete andmete jaoks, et teostada reaalajas klassifitseerimist, samuti veebikasutuse juhtude jaoks.

Selles artiklis kĂ€sitletakse, kuidas me lahendasime eelnevad probleemid, ja tutvustatakse kiiret ja skaleeritavat klassifitseerimissĂŒsteemi, mis klassifitseerib andmeelemente kĂ”ikide tĂŒĂŒpide, formaatide ja allikate pĂ”hjal ĂŒhisest omaduste kogumist. Me laiendasime sĂŒsteemi arhitektuuri ja lĂ”ime spetsiaalse masinĂ”ppemudeli kiireks offline ja online andmete klassifitseerimiseks. See artikkel on korraldatud jĂ€rgmiselt: jaotises 2 tutvustatakse sĂŒsteemi ĂŒldine disain. Jaotises 3 arutatakse masinĂ”ppesĂŒsteemi osi. Jaotistes 4 ja 5 kĂ€sitletakse seotud tööd ning muudetakse tuleviku suundi.

Arhitektuur

Et lahendada stabiilsete ja online andmete vĂ€ljakutseid Facebooki ulatuses, on klassifitseerimissĂŒsteemil kaks eraldi voogu, millest arutame ĂŒksikasjalikult.

Stabiilsed andmed

Esialgu peab systeem saama teada Facebooki mitmesugustest teabest. Iga andmehoidla kohta kogutakse teatud pĂ”hiteave, nagu andmekeskus, mis sisaldab neid andmeid, sĂŒsteem, mis töötleb neid andmeid, ja varad, mis asuvad konkreetse andmehoidla sees. See moodustab metaandmete katalooge, mis vĂ”imaldab sĂŒsteemil andmeid tĂ”husalt vĂ€lja tĂ”mmata ilma klientide ja teiste inseneride kasutatavate ressursside ĂŒlekoormamiseta.

See metaandmete kataloog tagab usaldusvÀÀrse allika kĂ”igi skaneeritud varade jaoks ja vĂ”imaldab jĂ€lgida erinevate varade seisundit. Selle teabe abil mÀÀratakse tĂ€henduse prioriteet, tuginedes kogutud andmetele ja sĂŒsteemi siseteabele, nagu viimase eduka skaneerimise aeg ja varade loomise aeg, samuti varasemad mĂ€lu- ja protsessorinĂ”uded selle vara jaoks, kui see on varem skaneeritud. SeejĂ€rel, kui andmeressursid on saadaval, kutsutakse kĂ”igi andmeskaneerimise tööde jaoks esile ĂŒlesanne.

Iga ĂŒlesanne on kompileeritud binaarfail, mis viib lĂ€bi Bernoulli valimi viimaste andmete pĂ”hjal iga vara kohta. Vara jagatakse eraldi veergudeks, kus iga veeru klassifitseerimise tulemus töödeldakse iseseisvalt. Lisaks skaneerib sĂŒsteem veergudes paiknevaid igasuguseid kĂŒllastunud andmeid. JSON, massiivid, kodeeritud struktuurid, URL-aadressid, base 64 serialiseeritud andmed ja palju muud — kĂ”ik need skaneeritakse. See vĂ”ib oluliselt suurendada skaneerimise tĂ€itmise aega, kuna ĂŒhes tabelis vĂ”ib olla tuhandeid sissepandud veerge suures binaarobjektis. json.

Iga reani, mis valitakse andmevarast, tagastab klassifitseerimissĂŒsteem hĂ”ljuvad ja tekstipĂ”hised objektid sisult ning seob iga objekti tagasi veeruga, kust see pĂ€rineb. Objektide vĂ€lja tĂ”mbamise etapi tulemus on kaart kĂ”igist objektidest iga leitud andmevara veergu.

Miks on funktsioonid vajalikud?

Tunnuste mÔisted on vÔtmetÀhtsusega. Floating ja tekstiliste tunnuste asemel saame edastada töötlemata stringi nÀidiseid, mis on otse saadud igast andmeallikast. Lisaks saavad masinÔppe mudelid Ôppida otse igast valimist, mitte sadu tunnuste arvutusi, mis proovivad valimit ligikaudu esitada. Sellel on mitmeid pÔhjuseid:

  1. Privaatsus on peamine: kĂ”ige olulisem on see, et tunnuste mĂ”isted vĂ”imaldavad meil mĂ€letada vaid neid nĂ€idiseid, mille me ekstraheerime. See tagab, et me salvestame nĂ€idised ĂŒksnes ametlikel eesmĂ€rkidel ning ei logi neid omaette. See on eriti oluline ebastabiilsete andmete puhul, kuna teenus peab hoidma teatavat klassifitseerimise seisundit enne ennustuste tegemist.
  2. MĂ€lu: mĂ”ned nĂ€idised vĂ”ivad olla tuhandeid mĂ€rke pikad. Selliste andmete hoidmine ja nende edastamine sĂŒsteemi osadele ilma vajaduseta tarbib palju lisabaiti. Kahe teguri kombinatsioon vĂ”ib aja jooksul osutuda problemaatiliseks, arvestades, et andmeallikates on palju tuhandeid veerge.
  3. Tunnuste agregatsioon: tunnuste abil esitatakse igast skaneerimisest saadud tulemused selgelt, vĂ”imaldades sĂŒsteemil mugavalt ĂŒhendatega sama andmeallika eelnevate skaneerimiste tulemusi. See vĂ”ib olla kasulik selleks, et liita ĂŒhe andmeallika skaneerimistulemusi mitmel korral.

SeejÀrel saadetakse tunnused ennustamisteenusesse, kus kasutame reeglitepÔhist klassifitseerimist ja masinÔpet, et ennustada iga veeru andmetÀppe. Teenus tugineb nii reeglite klassifikaatoritele kui ka masinÔppele ning valib parima ennustuse igast ennustamisobjektist.

Reeglite klassifikaatorid on kÀsitsi heuristika, mis kasutab arvutusi ja koefitsiente objekti normaliseerimiseks vahemikus 0 kuni 100. Kui selline esmane hinne on genereeritud iga andmeliigi ja nende andmetega seotud veeru nime jaoks, mis ei satu «mustadele nimekirjadele», valib reeglite klassifikaator kÔrgeima normaliseeritud hinde kÔigi andmeliikide seast.

Kuna keerukust klassifitseerimisel toob rangelt kĂ€sitsi heuristika kasutamine kaasa madala klassifitseerimise tĂ€psuse, eriti struktureerimata andmete puhul. SeetĂ”ttu oleme vĂ€lja töötanud masinĂ”ppe sĂŒsteemi, et töötada struktureerimata andmete klassifitseerimisega, nagu kasutajasisu ja aadress. MasinĂ”pe on vĂ”imaldanud meil alustada ĂŒleminekut kĂ€sitsi heuristikalt ja rakendada tĂ€iendavaid andmesignaale (nĂ€iteks veergude nimetused, andmete pĂ€ritolu), mis on mĂ€rkimisvÀÀrselt suurendanud avastamise tĂ€psust. Sukeldume meie masinĂ”ppe arhitektuuri hiljem sĂŒgavamale.

Prognoosimise teenus salvestab igas veerus igaĂŒksu tulemused koos metainfoga, mis puudutab skaneerimise aega ja seisundit. KĂ”ik tarbijad ja allakĂ€ivad protsessid, mis sĂ”ltuvad nendest andmetest, saavad neid lugeda igapĂ€evaselt avaldatud andmekogust. See kogum koondab tulemused kĂ”igist nendest skaneerimisĂŒlesannetest, vĂ”i reaalajas andmekatalooge olev API. Avaldatud prognoosid on automaatse privaatsuse ja turvapoliitika rakendamise aluseks.

LĂ”puks, pĂ€rast seda, kui prognoosimise teenus on kĂ”ik andmed salvestanud ja kĂ”ik prognoosid sĂ€ilitatakse, saab meie andmekatalooge API reaalajas tagastada kĂ”ik prognoosid andmetĂŒĂŒpide kohta ressursi jaoks. Iga pĂ€ev avaldab sĂŒsteem andmekogumi, mis sisaldab kĂ”iki uusimaid prognoose iga varade kohta.

EbausaldusvÀÀrsed andmed

Kuigi ĂŒlaltoodud protsess on loodud salvestatud varade jaoks, loetakse ka salvestamata liiklus organisatsiooni andmete osaks ja see vĂ”ib olla oluline. SeetĂ”ttu pakub sĂŒsteem reaalajas prognoosimise klassifitseerimise API-d mis tahes ebausaldusvÀÀrse liikluse jaoks. Reaalajas prognoosimise sĂŒsteemi kasutatakse laialdaselt vĂ€ljamineva liikluse klassifitseerimisel, sissetuleva liikluse masinĂ”ppe mudelites ja reklaamijate andmetes.

Siin API vÔtab vastu kaks peamist argumenti: gruppimistöötluse vÔti ja toored andmed, mida tuleb prognoosida. Teenus teostab sama objektide tÔmbamise, nagu eespool kirjeldatud, ja grupeerib objekte koos sama vÔtmega. Need omadused on samuti salvestatud vahemÀlu jaoks, et taastada pÀrast tÔrget. Iga gruppimistöötluse vÔtme puhul garanteerib teenus, et enne prognoosimise teenuse kutsumist on ta nÀinud piisavalt proove vastavalt eespool kirjeldatud protsessile.

Optimeerimine

MÔnede ladude skaneerimiseks kasutame raamatukogusid ja lugemise optimeerimise meetodeid kuumadest ladudest [2] ja garanteerime, et teiste kasutajate poolt sama ladudele ligipÀÀsemisel ei esine tÔrkeid.

Üksikute suurte tabelite (50+ petabaiti) puhul, vaatamata kĂ”ikidele optimeerimisele ja mĂ€lu tĂ”hususele, töötab sĂŒsteem skaneerimise ja arvutamise kallal, enne kui mĂ€lu lĂ”peb. LĂ”ppkokkuvĂ”ttes arvutatakse skaneerimine tĂ€ielikult mĂ€lus ja skaneerimise ajal ei salvestata. Kui suured tabelid sisaldavad tuhandeid veerge struktuurita andmehulki, vĂ”ib ĂŒlesanne ebaĂ”nnestuda mĂ€luresursside puudumise tĂ”ttu prognooside tegemisel kogu tabeli jaoks. See toob kaasa katvuse vĂ€henemise. Selle vastu vĂ”itlemiseks oleme sĂŒsteemi optimeerinud, et kasutada skaneerimise kiirust vahendina, et nĂ€ha, kui hĂ€sti sĂŒsteem praeguse koormusega toime tuleb. Kasutame kiiruset prognoosimehhanismina, et nĂ€ha mĂ€lu probleeme ja ennetaval kaardistamisel objekte. Sellisel juhul kasutame vĂ€hem andmeid kui tavaliselt.

Andmesignaalid

KlassifitseerimissĂŒsteem on hea nii headest andmesignaalidest. Siin vaatleme kĂ”iki signaale, mida klassifitseerimissĂŒsteem kasutab.

  • Sisu pĂ”hjal: muidugi, esimene ja kĂ”ige olulisem signaal on sisu. Teostame Bernoulli valikut iga andmeobjekti kohta, mida me skaneerime ja ekstraktime andmete omadusi. Paljud omadused tulenevad sisust. VĂ”imalik on mis tahes arvu ujuvaid objekte, mis esindavad arvutusi selle kohta, kui sageli on teatud tĂŒĂŒpi mustrit nĂ€htud. NĂ€iteks vĂ”ivad meil olla rotzandid e-kirjade arvu kohta, mis on valimis nĂ€htud, vĂ”i omadused selle kohta, kui palju emotikone on valimis nĂ€htud. Need omaduste arvutused saab normaliseerida ja agreggeerida erinevate skaneeringute pĂ”hjal.
  • Andmete pĂ€ritolu: oluline signaal, mis vĂ”ib aidata, kui sisu on muutunud vanematabelist. Levinud nĂ€ide on hashitud andmed. Kui andmed alamtabelis hashitakse, tulevad need sageli vanematabelist, kus nad jÀÀvad avatud kujul. PĂ€ritoluandmed aitavad klassifitseerida teatud andmeliike, kui neid ei loeta selgelt vĂ”i kui need on muundatud ĂŒlesvoolu tabelist.
  • Annotatsioonid: veel ĂŒks kvaliteetsignaal, mis aitab tuvastada struktureerimata andmeid. Tegelikult vĂ”ivad annotatsioonid ja pĂ€ritoluandmed töötada koos, et jagada atribuute erinevate andmeobjektide vahel. Annotatsioonid aitavad tuvastada struktureerimata andmete allikat, samas kui pĂ€ritoluandmed aitavad jĂ€lgida nende andmete voogu kogu salvestuses.
  • Andmete sĂŒstimine on meetod, kus teadlikult sisestatakse spetsiaalseid, lugematud sĂŒmbolid tuntud allikatesse tuntud andmeliikide jaoks. Seega, iga kord, kui me skaneerime sisu sama lugematu sĂŒmbolite jĂ€rjestusega, saab jĂ€reldada, et sisu pĂ€rineb sellest tuntud andmeliigist. See on veel ĂŒks kvaliteetsignaal andmete kohta, sarnane annotatsioonidele. Erinevalt sellest aitab sisu pĂ”hjalik avastamine tuvastada sisestatud andmeid.

MÔÔdikute mÔÔtmine

Oluline komponent on erinevate mÔÔdikute mÔÔtmise range metodoloogia. Peamised mÔÔdikud klassifikatsiooni tÀiustamise iteratsioonide jaoks on iga mÀrgise tÀpsus ja tagasiside, kusjuures F2 hindamine on kÔige olulisem.

Nende nĂ€itajate arvutamiseks on vajalik sĂ”ltumatu metoodika andmete mĂ€rgistamiseks, mis ei sĂ”ltu ise sĂŒsteemist, kuid mida saab kasutada selle vahetuks vĂ”rdlemiseks. Allpool kirjeldame, kuidas me kogume Facebookist pĂ”hiteavet ja kasutame seda meie klassifikatsioonisĂŒsteemi koolitamiseks.

UsaldusvÀÀrsete andmete kogumine

Kogume usaldusvÀÀrseid andmeid igast allikast, mis on loetletud allpool, tema enda tabelisse. Iga tabel vastutab selle konkreetse allika viimaste tĂ€heldatud vÀÀrtuste kogumise eest. Igal allikal on andmekvaliteedi kontroll, et tagada, et iga allika tĂ€heldatud vÀÀrtused on kvaliteetsed ja sisaldavad viimaset andmetĂŒĂŒpide sildid.

  • Logimise platvormide konfiguratsioonid: teatud vĂ€ljad kĂ€rgede tabelites tĂ€idetakse andmetega, mis kuuluvad kindlasse tĂŒĂŒpi. Nende andmete kasutamine ja levitamine on usaldusvÀÀrne usaldusvÀÀrsete andmete allikas.
  • KĂ€sitsi mĂ€rgistamine: sĂŒsteemi toetavad arendajad ning vĂ€lised mĂ€rgiseid Ă”petatakse veergude mĂ€rgistamiseks. See töötab tavaliselt hĂ€sti kĂ”igi andmetĂŒĂŒpide jaoks, mis sisaldub salvestuses, ja vĂ”ib olla peamine usaldusvÀÀrsusallikas mĂ”ne struktureerimata andmete, nĂ€iteks sĂ”numite vĂ”i kasutajate sisu jaoks.
  • Vanematelt tabelitelt pĂ€rinevad veerud vĂ”ivad olla mĂ€rgistatud vĂ”i annotatsiooniga, et need sisaldavad teatud andmeid, ning me saame neid andmeid madalama taseme tabelites jĂ€lgida.
  • Töösuundade valimine: Facebooki töösuunad sisaldavad teatud tĂŒĂŒpi andmeid. Meie skanneri kasutamine teenuse arhitektuurina vĂ”imaldab meil valida suundi, mis sisaldavad tuntud andmetĂŒĂŒpe, ja saata need sĂŒsteemi. SĂŒsteem lubab neid andmeid mitte salvestada.
  • Valimistabelid: suured kĂ€rgede tabelid, milles on tuntud, et need sisaldavad kogu andmekogumit, vĂ”ivad samuti kasutada koolitusandmete jaoks ja edastatakse skanneri kaudu teenusena. See sobib suurepĂ€raselt tabelitele, millel on kogu andmete tĂŒĂŒpide amplituud, nii et veeru juhuslik valimine on ekvivalentne selle andmetĂŒĂŒbi kogu hulgast valimisega.
  • SĂŒntetilised andmed: me saame kasutada ka teeke, mis genereerivad andmeid reaalajas. See töötab hĂ€sti lihtsate, avalike andmetĂŒĂŒpide jaoks, nagu aadress vĂ”i GPS.
  • Andmekaitsjad: privaatsusprogrammid kasutavad tavaliselt andmekaitsjate abi, et kinnitada poliitikaid andmeelementide kohta. See toimib vĂ€ga tĂ€psena, et tagada usaldusvÀÀrsus.

Kombineerime iga peamise usaldusvÀÀrsete andmete allika ĂŒhe kogumina koos kĂ”igi nende andmetega. Suurim probleem usaldusvÀÀrsuse tagamisel on see, et see oleks esinduslik andmehoidla jaoks. Vastasel juhul vĂ”ivad klassifitseerimismootorid ĂŒleĂ”ppida. Selle vastu vĂ”itlemiseks kasutatakse kĂ”iki ĂŒlalmainitud allikaid, et tagada tasakaal mudelite koolitamisel vĂ”i mÔÔdikute arvutamisel. Samuti valivad andmemĂ€rgistajad juhuslikult erinevad veerud andmehoidlast ja mĂ€rgistavad andmed vastavalt, et usaldusvÀÀrsete vÀÀrtuste kogumine jÀÀks erapooletuks.

Pidev integreerimine

Kiire iteratsiooni ja tĂ€iustamise tagamiseks on oluline alati mÔÔta sĂŒsteemi jĂ”udlust reaalajas. Saame mÔÔta iga klassifitseerimise tĂ€iustust vĂ”rreldes tĂ€nase sĂŒsteemiga, et saaksime strateegiliselt orienteerida andmeid edasistes tĂ€iustustes. Siin vaatame, kuidas sĂŒsteem lĂ”petab tagasiside tsĂŒkli, mida tagavad usaldusvÀÀrsed andmed.

Kui planeerimissĂŒsteem puutub kokku varaga, millel on mĂ€rge usaldusvÀÀrselt allikult, planeerime kaks ĂŒlesannet. Esimene kasutab meie tootmiskannerit ja seega meie tootmisvĂ”imekusi. Teine ĂŒlesanne kasutab viimase versiooni skannerit, millel on uusimad omadused. Iga ĂŒlesanne kirjutab oma vĂ€ljundi oma tabelisse, mĂ€rgistades versioonid koos klassifitseerimistulemustega.

Nii vÔrreldame vabastatud kandidaadi ja tootemudeli klassifitseerimistulemusi reaalajas.

Kuna andmed vÔrreldes RC ja PROD-i omadusi, logitakse mitmeid erinevaid ML klassifitseerimise mootorite variatsioone prognoosimise teenuses. Viimane koostatud masinÔppemudel, praegune tootmismudel ja kÔik eksperimentaalsed mudelid. Sama lÀhenemine vÔimaldab meil "lÔigata" erinevaid mudeli versioone (meie klassifikaatorite reeglid) ja vÔrrelda mÔÔdikuid reaalajas. Nii on lihtne kindlaks teha, millal ML-i katse on tootmisse rakendamiseks valmis.

Iga öö saadetakse selle pÀeva jaoks arvutatud RC-omadused ML-i koolituskonveierile, kus mudel Ôpib viimaste RC-omaduste pealt ja hindab oma toimivust vÔrreldes usaldusvÀÀrse andmekogumiga.

Iga hommik lĂ”petab mudel koolituse ning avaldatakse automaatselt eksperimentaalsena. See lĂŒlitatakse automaatselt eksperimentaalsesse nimekirja.

MÔned tulemused

Üle 100 erineva andmestiku tĂŒĂŒbi mĂ€rgistus kĂ”rge tĂ€psusega. HĂ€sti struktureeritud tĂŒĂŒbid, nagu e-kirjad ja telefoninumbrid, klassifitseeritakse f2 skooriga ĂŒle 0,95. Vaba tĂŒĂŒpi andmed, nagu kasutajasisu ja nimed, töötavad samuti vĂ€ga hĂ€sti, f2 skooridega ĂŒle 0,85.

IgapĂ€evaselt klassifitseeritakse suur hulk eraldi stabiilsete ja ebastabiilsete andmete veerge kĂ”igis andmesalvestustes. Üle 500 terabaiti skaneeritakse iga pĂ€ev rohkem kui 10 andmesalvestuses. Enamiku nende salvestuste ulatus on ĂŒle 98%.

Aja jooksul on klassifitseerimine muutunud vĂ€ga tĂ”husaks, kuna klassifitseerimisĂŒlesanded salvestatud iseseisvas voos vĂ”tavad keskmiselt 35 sekundit varade skaneerimisest prognooside arvutamiseni iga veeru jaoks.

Skaleeritav andmete klassifitseerimine turvalisuse ja privaatsuse jaoks
Joonis 2. Diagramm, mis kirjeldab pidevat integraatsiooni voogu, et mÔista, kuidas RC objektid genereeritakse ja saadetakse mudelisse.

Skaleeritav andmete klassifitseerimine turvalisuse ja privaatsuse jaoks
Joonis 3. Ülevaatlik diagramm masinĂ”ppe komponendist.

MasinĂ”ppe sĂŒsteemi komponent

Eelmisel peatĂŒkil sĂŒĂŒvisime sĂŒgavale kogu sĂŒsteemi arhitektuuri, tuues esile ulatuse, optimeerimise ja andmevood iseseisvas ja online-reĆŸiimis. Selles peatĂŒkis vaatleme prognoosimise teenust ja kirjeldame masinĂ”ppesĂŒsteemi, mis tagab prognoosimisteenuse toimimise.

Rohke on ĂŒle 100 andmetĂŒĂŒbi ja teatud struktureerimata sisuga, nagu sĂ”numite andmed ja kasutajasisu, kasutamine ainult kĂ€sitsi heuristikaga toob kaasa alampiiratud klassifitseerimise tĂ€psuse, eriti struktureerimata andmete puhul. SellepĂ€rast oleme vĂ€lja töötanud ka masinĂ”ppesĂŒsteemi, et tegeleda struktureerimata andmete keerukustega. MasinĂ”ppe kasutamine vĂ”imaldab meil hakata loobuma kĂ€sitsi heuristikast ning töötada tunnuste ja andmesignaalide (nt veergude nimed, andmete pĂ€ritolu) abil tĂ€psuse suurendamiseks.

Teostatud mudel uurib vekt esitusviise [3] tihedate ja hĂ”redate objektide ĂŒle eraldi. SeejĂ€rel koondatakse need, et luua vektor, mis lĂ€bib mitmeid etappe partii normaliseerimist [4] ja mittelineaarsust, et saada lĂ”pptulemus. LĂ”pptulemus on ujuvpunktiga arv vahemikus [0-1] iga sildi jaoks, mis nĂ€itab tĂ”enĂ€osust, et nĂ€ide kuulub teatud tundlikkuse kategooriasse. PyTorchi kasutamine mudelis vĂ”imaldas meil liikuda kiiremini, andes vĂ”imaluse arendajatele vĂ€ljaspool meeskonda kiiresti muudatusi sisse viia ja testida.

Arhitektuuri kavandamisel oli oluline modelleerida hĂ”redaid (nt tekstilisi) ja tihedaid (nt numbrilisi) objekte eraldi nende sisemise erinevuse tĂ”ttu. LĂ”pliku arhitektuuri jaoks oli samuti oluline teostada parameetrite lahtipakkimine, et leida optimaalsed Ă”ppimise kiirus, partii suurus ja muud hĂŒperparameetrid. Optimeerija valik oli samuti oluline hĂŒperparameeter. Me leidsime, et populaarne optimeerija Adamtoob sageli kaasa ĂŒleĂ”ppimise, samas kui mudeliga SGD stabiilsem. Oli tĂ€iendavaid nĂŒansse, mida pidime mudelisse otse kaasama. NĂ€iteks staatilised reeglid, mis tagavad, et mudel teeb deterministliku prognoosi, kui tunnus omab kindlat vÀÀrtust. Need staatilised reeglid on mÀÀratletud meie klientide poolt. Me avastasime, et nende otse mudelisse kaasamine viis enesekehtestava ja usaldusvÀÀrse arhitektuuri loomisele, erinevalt postitöötluse etapi rakendamisest nende eriliste ÀÀrmuste kĂ€sitlemiseks. Samuti tuleb mĂ€rkida, et treeningu ajal need reeglid vĂ€lja lĂŒlitatakse, et mitte segada gradientide langemise treeningprotsessi.

Probleemid

Üheks probleemiks oli kĂ”rgekvaliteediliste ja usaldusvÀÀrsete andmete kogumine. Mudel vajab iga klassi usaldusvÀÀrsust, et see saaks Ă”ppida objektide ja siltide vahelisi seoseid. Eelnevas jaotises arutasime andmete kogumise meetodeid nii sĂŒsteemi mÔÔtmiseks kui ka mudelite treenimiseks. AnalĂŒĂŒs nĂ€itas, et andmeklassid, nagu krediitkaardinumbrid ja pangakonto numbrid, ei ole meie andmemagazinis kuigi levinud. See raskendab suurte mahude usaldusvÀÀrsete andmete kogumist mudelite treenimiseks. Selle probleemi lahendamiseks oleme vĂ€lja töötanud sĂŒnteetiliste usaldusvÀÀrsete andmete hankimise protsessid nende klasside jaoks. Genererime selliseid andmeid tundlike tĂŒĂŒpide jaoks, sealhulgas SSN, krediitkaardinumbrid ja IBAN-numbrid, mille osas mudel ei suutnud varem prognoosida. See lĂ€henemine vĂ”imaldab kĂ€sitleda konfidentsiaalseid andmeid ilma seotud konfidentsiaalsuse riskideta, mis tulenevad tegelike konfidentsiaalsete andmete varjamisest.

Lisaks usaldusvÀÀrsete andmete probleemidele on avatud arhitektuuri probleemid, millega me töötame, nagu muudatuste isoleerimine ja varajane peatamine. Muudatuste isoleerimine on oluline, et erinevatesse vĂ”rgu osadesse tehtud muudatuste mĂ”ju oleks isoleeritud konkreetsetest klassidest ning ei avaldaks laiemat mĂ”ju ĂŒldisele prognoosimise tulemuslikkusele. Varajase peatamise kriteeriumide parandamine on samuti kriitilise tĂ€htsusega, et saaksime treeningprotsessi lĂ”petada stabiilses punktis kĂ”ikide klasside jaoks, mitte seal, kus mĂ”ned klassid ĂŒleĂ”pivad ja teised mitte.

Tunnuse tÀhtsus

Kui mudelisse sisestatakse uus tunnus, soovime teada selle ĂŒldist mĂ”ju mudelile. Samuti tahame veenduda, et prognoosid on inimeste jaoks tĂ”lgendatavad, et mĂ”ista tĂ€pselt, milliseid tunnuseid kasutatakse iga andmetĂŒĂŒbi puhul. Selleks oleme vĂ€lja töötanud ja rakendanud klassipĂ”hise tunnuste tĂ€htsuse mudeli PyTorch jaoks. Pange tĂ€hele, et see erineb ĂŒldisest tunnuse tĂ€htsusest, mida tavaliselt toetatakse, sest see ei ĂŒtle meile, millised tunnused on teatud klassi jaoks olulised. Me mÔÔdame objekti tĂ€htsust, arvutades prognoosiviga suurenemise pĂ€rast objekti segamist. Tunnus on 'tĂ€htis', kui vÀÀrtuste segamine suurendab mudeli viga, sest sellisel juhul tugines mudel prognoosimisel sellele tunnusele. Tunnus on 'ebatĂ€htis', kui selle vÀÀrtuste segamine jĂ€tab mudeli vea muutumatuks, kuna sel juhul ignoreeris mudel seda [5].

Tunnuse tĂ€htsus iga klassi jaoks vĂ”imaldab mudeli tĂ”lgendatavust, et saaksime nĂ€ha, millele mudel prognoosimisel tĂ€helepanu pöörab. NĂ€iteks kui analĂŒĂŒsime ADDR, tagame, et selle aadressiga seotud tunnus, nagu AddressLinesCount, on iga klassi tunnuste tĂ€htsuse tabelis kĂ”rgel kohal, et meie inimlikud intuitsioonid ĂŒhtiksid hĂ€sti mudeli Ă”pituga.

Hindamine

Oluline on mÀÀrata ĂŒhtne edu mÔÔdik. Me valisime F2 — tasakaal vastuse ja tĂ€psuse vahel (vastuse kaldumine on veidi suurem). Vastus on privaatsuse kasutusjuhtumi puhul olulisem kui tĂ€psus, kuna meeskonna jaoks on ÀÀrmiselt oluline mitte jĂ€tta mingeid privaatsusandmeid tĂ€helepanuta (tagades samal ajal mĂ”istliku tĂ€psuse). F2 meie mudeli tĂ”hususe hindamise tegelikud andmed jÀÀvad kĂ€esolevast artiklist vĂ€ljapoole. Siiski, pĂ”hjaliku hÀÀlestamise korral saame saavutada kĂ”rge (0,9+) F2 skoori kĂ”ige olulisemate tundlike klasside jaoks.

Seotud töö

On mitmeid algoritme, mis automaatselt klassifitseerivad struktuurimata dokumente, kasutades erinevaid meetodeid, nagu mallide vastendamine, dokumentide sarnasuse otsimine ja erinevad masinĂ”ppe meetodid (Bayesi, otsustuspuud, k-lĂ€him naaber jne) [6]. IgaĂŒht neist saab kasutada klassifitseerimise osana. Siiski on probleemiks skaleeritavus. KĂ€esolevas artiklis on klassifitseerimise lĂ€henemine suunatud paindlikkusele ja jĂ”udlusele. See vĂ”imaldab meil tulevikus uusi klasse toetada ning sĂ€ilitada madalat latentsusaja.

Samuti on palju töid, mis kÀsitlevad andmete jÀlgimist. NÀiteks on autorid [7] kirjeldanud lahendust, mis keskendub konfidentsiaalse teabe lekete tuvastamise probleemile. Peamine eeldus on andmete jÀlje vÔimalus, et sobitada see tuntud konfidentsiaalsete andmete kogumiga. Autorid [8] kirjeldavad sarnast konfidentsiaalsuse lekke probleemi, kuid nende lahendus pÔhineb konkreetse Androidi arhitektuuril ning klassifitseeritakse ainult siis, kui kasutaja tegevus on viinud isikuandmete saatmiseni vÔi kui pÔhiÀpist on lekkinud kasutajaandmeid. Siin on olukord pisut erinev, kuna kasutajaandmed vÔivad samuti olla tugevalt struktuurimata. SeetÔttu on meil vaja keerukamat tehnikat kui andmete jÀlje vÔtmine.

LĂ”puks, et tegeleda andmete puudumisega mĂ”nede konfidentsiaalsete andmete tĂŒĂŒpide jaoks, oleme sisse viinud sĂŒnteetilised andmed. Andmete tĂ€iendamise kohta on suur hulk kirjandust, nĂ€iteks on autorid [9] uurinud mĂŒrade sĂŒstimise rolli Ă”ppimise ajal ning tĂ€heldanud positiivseid tulemusi juhendatud Ă”ppimise kontekstis. Meie konfidentsiaalsuse lĂ€henemine on erinev, kuna mĂŒraga andmete sissetoomine vĂ”ib olla vastutöötav, ja selle asemel keskendume kvaliteetsetele sĂŒnteetilistele andmetele.

KokkuvÔte

Selles artiklis tutvustasime sĂŒsteemi, mis suudab andmefragmenti klassifitseerida. See vĂ”imaldab meil luua privaatsuspoliitikate ja turvameetmete jĂ€rgimise sĂŒsteeme. NĂ€itasime, et skaleeritav infrastruktuur, pidev integreerimine, masinĂ”pe ja kĂ”rgekvaliteedilised andmed andmete usaldusvÀÀrsuse kohta mĂ€ngivad meie paljudes privaatsuse algatustes vĂ”tmeroll.

Tuleviku töö suundi on palju. See vĂ”ib hĂ”lmata struktureerimata andmete (failide) toe tagamise, mitte ainult andmetĂŒĂŒbi, vaid ka tundlikkuse taseme klassifitseerimise, samuti isesĂ€ilitava Ă”ppe kasutamist otse Ă”ppimise ajal, tĂ€psete sĂŒnteetiliste nĂ€idete genereerimise kaudu. Need omakorda aitavad mudelil vĂ€hendada kaotusi maksimaalsele tasemele. Tuleviku töö vĂ”ib keskenduda ka uurimise tööprotsessile, kus lĂ€heme kaugemale avastamisest ja pakume erinevate privaatsuse rikkumiste pĂ”hjusanalĂŒĂŒsi. See aitab sellistes olukordades nagu tundlikkuse analĂŒĂŒs (nt kas andmete tĂŒĂŒp on kĂ”rge (nt kasutaja IP) vĂ”i madala (nt Facebooki sisemine IP) privaatsuse tundlikkuse poolest).

Bibliograafia

  1. David Ben-David, Tamar Domany ja Abigail Tarem. EttevĂ”tte andmete klassifitseerimine semantilise veebi tehnoloogiate abil. Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks ja Birte Glimm, toimetajad, Semantiline veeb – ISWC 2010, lehekĂŒljed 66–81, Berliin, Heidelberg, 2010. Springer Berlin Heidelberg.
  2. Subramanian Muralidhar, Wyatt Lloyd, Sabyasachi Roy, Cory Hill, Ernest Lin, Weiwen Liu, Satadru Pan, Shiva Shankar, Viswanath Sivakumar, Linpeng Tang ja Sanjeev Kumar. f4: Facebooki soe BLOB-i salvestussĂŒsteem. In 11. USENIXi symposium operatsioonisĂŒsteemide projekteerimise ja rakendamise (OSDI 14), lehekĂŒljed 383–398, Broomfield, CO, oktoober 2014. USENIXi assotsiatsioon.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado ja Jeff Dean. Jagatud sĂ”nade ja fraaside esindused ning nende koostöölisus. C. J. C. Burgesi, L. Bottou, M. Wellingi, Z. Ghahramani ja K. Q. Weinbergeri toimetatud, Edusammud nĂ€rviteabe töötlemise sĂŒsteemides 26, lehekĂŒljed 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe ja Christian Szegedy. Partii normaliseerimine: sĂŒgava vĂ”rgu koolituse kiirendamine, vĂ€hendades sisemist muutuvate tingimuste nihkemust. Francis Bachi ja David Blei, toimetajad, 32. rahvusvahelise masinaĂ”ppimise konverentsi toimetised, köide 37 MasinaĂ”ppe uurimistöö toimetised, lehekĂŒljed 448–456, Lille, Prantsusmaa, 07–09 juuli 2015. PMLR.
  5. Leo Breiman. Juhuslikud metsad. Mas. Õpe., 45(1):5–32, oktoober 2001.
  6. Thair Nu Phyu. Klassifitseerimise tehnikate ĂŒlevaade andmekaevandamises.
  7. X. Shu, D. Yao ja E. Bertino. Tundlike andmete lekke privaatsuse sĂ€ilitav tuvastamine. IEEE Tehingud teabe forensika ja turvauuringute alal., 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning ja Xiaoyang Wang. Appintent: Tundliku andmeedastuse analĂŒĂŒsimine Androidis privaatsuse lekkimise tuvastamiseks. lehekĂŒljed 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong ja Quoc V. Le. JĂ€relevalveta andmete suurendamine.

Skaleeritav andmete klassifitseerimine turvalisuse ja privaatsuse jaoks
Uuri, kuidas omandada nÔudlik amet nullist vÔi tÀiendada oma oskusi ja palka, osaledes SkillFactory veebikursustel:

Veel kursuseid

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster