Skaleeritav andmete klassifikatsioon turvalisuse ja privaatsuse tagamiseks

Skaleeritav andmete klassifikatsioon turvalisuse ja privaatsuse tagamiseks

Sisupõhine andmete klassifitseerimine on lahtine probleem. Traditsioonilised andmekao vältimise (DLP) süsteemid lahendavad selle probleemi asjakohaste andmete sõrmejälgede võtmise ja sõrmejälgede võtmise lõpp-punktide jälgimisega. Arvestades Facebooki pidevalt muutuvate andmeressursside suurt hulka, pole see lähenemisviis mitte ainult skaleeritav, vaid ka ebaefektiivne andmete asukoha kindlaksmääramisel. See artikkel keskendub täielikule süsteemile, mis on loodud Facebookis tundlike semantiliste tüüpide tuvastamiseks ulatuslikult ning andmete salvestamise ja juurdepääsu kontrolli automaatseks jõustamiseks.

Siin kirjeldatud lähenemisviis on meie esimene täielik privaatsussüsteem, mis püüab seda probleemi lahendada, lisades andmesignaalid, masinõppe ja traditsioonilised sõrmejälgede võtmise tehnikad, et kaardistada ja klassifitseerida kõik andmed Facebookis. Kirjeldatud süsteemi kasutatakse tootmiskeskkonnas, saavutades erinevate privaatsusklasside lõikes keskmiseks F2-skooriks 0,9+, töödeldes samal ajal suuri andmeressursse kümnetes hoidlates. Tutvustame tõlget Facebooki ArXivi dokumendist, mis käsitleb masinõppel põhinevat skaleeritavat andmete klassifitseerimist turvalisuse ja privaatsuse tagamiseks.

Sissejuhatus

Tänapäeval koguvad ja salvestavad organisatsioonid suurel hulgal andmeid erinevates vormingutes ja asukohtades [1], seejärel tarbitakse andmeid paljudes kohtades, mõnikord kopeeritakse või vahemällu salvestatakse mitu korda, mille tulemuseks on väärtuslik ja tundlik äriteave, mis on hajutatud paljude ettevõtteandmete vahel. kauplustes. Kui organisatsioonilt nõutakse teatud juriidiliste või regulatiivsete nõuete täitmist, näiteks tsiviilkohtumenetluse eeskirjade järgimist, tekib vajadus koguda andmeid nõutavate andmete asukoha kohta. Kui privaatsusmäärus sätestab, et organisatsioon peab varjama kõik sotsiaalkindlustusnumbrid (SSN-id), kui jagavad isikuandmeid volitamata üksustega, on esimene loomulik samm otsida kõiki SSN-e organisatsiooni andmesalvedest. Sellistes tingimustes muutub andmete klassifitseerimine kriitiliseks [1]. Klassifitseerimissüsteem võimaldab organisatsioonidel automaatselt jõustada privaatsus- ja turvapoliitikat, näiteks lubada juurdepääsukontrolli poliitikaid, andmete säilitamist. Facebook tutvustab meie Facebookis loodud süsteemi, mis kasutab tundlike semantiliste andmetüüpide avastamiseks mitut andmesignaali, skaleeritavat süsteemiarhitektuuri ja masinõpet.

Andmete avastamine ja klassifitseerimine on andmete otsimise ja märgistamise protsess, et asjakohast teavet saaks vajaduse korral kiiresti ja tõhusalt hankida. Praegune protsess on oma olemuselt pigem manuaalne ja seisneb asjakohaste seaduste või määruste uurimises, määratledes, millist tüüpi teavet tuleks pidada tundlikuks ja millised on erinevad tundlikkuse tasemed, ning seejärel koostades vastavalt klassid ja klassifitseerimispoliitikad [1]. Andmekao vältimine (DLP) võtab seejärel andmetelt sõrmejäljed ja jälgib sõrmejälgede saamiseks allavoolu lõpp-punkte. Kui tegemist on petabaitide andmetega suure varahulga laoga, siis see lähenemine lihtsalt ei skaleeru.

Meie eesmärk on luua andmete klassifitseerimissüsteem, mis skaleerib nii tugevaid kui ka mööduvaid kasutajaandmeid ilma täiendavate andmetüübi või -vormingu piiranguteta. See on julge eesmärk ja loomulikult kaasnevad sellega väljakutsed. Antud andmekirje võib olla tuhandeid märke pikk.

Skaleeritav andmete klassifikatsioon turvalisuse ja privaatsuse tagamiseks
Joonis 1. Interneti- ja võrguühenduseta prognoosivood

Seetõttu peame seda tõhusalt esindama, kasutades ühist funktsioonide komplekti, mida saab hiljem kombineerida ja hõlpsasti teisaldada. Need funktsioonid ei peaks pakkuma mitte ainult täpset klassifitseerimist, vaid pakkuma ka paindlikkust ja laiendatavust, et tulevikus hõlpsasti lisada ja avastada uusi andmetüüpe. Teiseks peate tegelema suurte võrguühenduseta tabelitega. Püsivaid andmeid saab salvestada tabelitesse, mille suurus on mitu petabaiti. Selle tulemuseks võib olla aeglasem skannimiskiirus. Kolmandaks peame lenduvate andmete puhul järgima ranget SLA klassifikatsiooni. See sunnib süsteemi olema väga tõhus, kiire ja täpne. Lõpuks peame lenduvate andmete jaoks pakkuma madala latentsusajaga andmete klassifikatsiooni, et teha reaalajas klassifitseerimist ja ka Interneti kasutamise juhtumeid.

Selles artiklis kirjeldatakse, kuidas me ülaltoodud väljakutsetega toime tulime, ning esitatakse kiire ja skaleeritav klassifitseerimissüsteem, mis klassifitseerib kõigi tüüpide, vormingute ja allikate andmeelemendid ühise funktsioonide komplekti alusel. Laiendasime süsteemi arhitektuuri ja lõime kohandatud masinõppe mudeli võrguühenduseta ja võrguandmete kiireks klassifitseerimiseks. See artikkel on üles ehitatud järgmiselt: 2. osas esitatakse süsteemi üldine ülesehitus. 3. jaotises käsitletakse masinõppesüsteemi osi. Peatükkides 4 ja 5 tuuakse esile sellega seotud tööd ja visandatakse edasised töösuunad.

arhitektuur

Püsivate ja Facebooki mastaabis veebiandmetega seotud väljakutsetega toimetulemiseks on klassifikatsioonisüsteemil kaks eraldi voogu, mida käsitleme üksikasjalikult.

Jätkusuutlikud andmed

Esialgu peab süsteem tutvuma Facebooki paljude teabevaradega. Iga hoidla kohta kogutakse põhiteavet, näiteks neid andmeid sisaldav andmekeskus, neid andmeid sisaldav süsteem ja konkreetses andmehoidlas asuvad varad. See loob metaandmete kataloogi, mis võimaldab süsteemil andmeid tõhusalt hankida ilma kliente ja teiste inseneride kasutatavaid ressursse üle koormamata.

See metaandmete kataloog on kõigi skannitud varade autoriteetne allikas ja võimaldab teil jälgida erinevate varade olekut. Seda teavet kasutades määratakse ajastamise prioriteet süsteemist kogutud andmete ja siseteabe põhjal, nagu vara viimati edukalt skannimise aeg ja selle loomise aeg, samuti selle vara varasemad mälu- ja protsessorinõuded, kui seda on varem skannitud. Seejärel kutsutakse iga andmeressursi jaoks (kui ressursid muutuvad kättesaadavaks) töö ressursi skannimiseks.

Iga töö on kompileeritud binaarfail, mis teostab Bernoulli valimi iga vara kohta saadaolevate viimaste andmete põhjal. Vara jagatakse üksikuteks veergudeks, kus iga veeru klassifitseerimise tulemust töödeldakse iseseisvalt. Lisaks otsib süsteem veergudes olevaid küllastunud andmeid. Skannitakse JSON-i, massiive, kodeeritud struktuure, URL-e, 64 jadaandmeid ja palju muud. See võib märkimisväärselt pikendada kontrolli teostamise aega, kuna üks tabel võib sisaldada tuhandeid pesastatud veerge json.

Iga andmevaras valitud rea jaoks eraldab klassifikatsioonisüsteem sisust ujuv- ja tekstiobjektid ning seostab iga objekti tagasi veeruga, millest see võeti. Funktsiooni ekstraheerimise etapi väljund on andmevaras leiduva iga veeru kõigi funktsioonide kaart.

Milleks on märgid?

Atribuutide kontseptsioon on võtmetähtsusega. Ujuvate ja tekstitunnuste asemel saame edastada töötlemata stringinäidised, mis ekstraheeritakse otse igast andmeressursist. Lisaks saab masinõppemudeleid treenida otse iga valimi põhjal, mitte sadade funktsioonide arvutustega, mis proovivad valimit vaid ligikaudselt hinnata. Sellel on mitu põhjust:

  1. Privaatsus ennekõike: mis kõige tähtsam, funktsioonide kontseptsioon võimaldab meil mällu salvestada ainult need mustrid, mille me hankime. See tagab, et säilitame proove ühel eesmärgil ega logi neid kunagi oma jõupingutustega. See on eriti oluline lenduvate andmete puhul, kuna teenus peab enne ennustuse esitamist säilitama teatud klassifitseerimisoleku.
  2. Mälu: mõned näidised võivad olla tuhandeid tähemärke pikad. Selliste andmete salvestamine ja nende tarbetu edastamine süsteemi osadele kulutab palju täiendavaid baite. Need kaks tegurit võivad aja jooksul kombineerida, kuna tuhandete veergudega andmeressursse on palju.
  3. Funktsioonide koondamine: funktsioonid esitavad funktsioonide komplekti kaudu selgelt iga skannimise tulemused, võimaldades süsteemil kombineerida sama andmeressursi varasemate skannimiste tulemusi mugaval viisil. See võib olla kasulik ühest andmeressursist pärit skannimistulemuste koondamiseks mitme käitamise ajal.

Funktsioonid saadetakse seejärel ennustusteenusesse, kus kasutame iga veeru andmesiltide ennustamiseks reeglipõhist klassifikatsiooni ja masinõpet. Teenus tugineb nii reeglite klassifikaatoritele kui ka masinõppele ning valib igast ennustusobjektist parima ennustuse.

Reegliklassifikaatorid on käsitsi heuristilised meetodid, nad kasutavad arvutusi ja koefitsiente, et normaliseerida objekt vahemikku 0 kuni 100. Kui selline esialgne skoor on loodud iga andmetüübi ja nende andmetega seotud veeru nime jaoks, ei kuulu see ühegi keelu alla. loendid", reeglite klassifikaator valib kõigi andmetüüpide hulgast kõrgeima normaliseeritud skoori.

Klassifitseerimise keerukuse tõttu on ainult käsitsi heuristikale tuginemine madala klassifitseerimise täpsusega, eriti struktureerimata andmete puhul. Sel põhjusel töötasime välja masinõppesüsteemi, mis töötab struktureerimata andmete (nt kasutaja sisu ja aadress) klassifitseerimisega. Masinõpe on võimaldanud loobuda käsitsi heuristikast ja rakendada täiendavaid andmesignaale (nt veergude nimed, andmete päritolu), parandades oluliselt tuvastamise täpsust. Sukeldume hiljem sügavale oma masinõppe arhitektuuri.

Ennustusteenus salvestab iga veeru tulemused koos metaandmetega skannimise aja ja oleku kohta. Kõik nendest andmetest sõltuvad tarbijad ja järgnevad protsessid saavad neid lugeda igapäevaselt avaldatavast andmekogumist. See komplekt koondab kõigi nende skannimistööde või reaalajas andmekataloogi API-de tulemused. Avaldatud prognoosid on privaatsus- ja turvapoliitika automaatse jõustamise aluseks.

Lõpuks, pärast seda, kui prognoositeenus on kõik andmed kirjutanud ja kõik prognoosid salvestatud, saab meie andmekataloogi API reaalajas tagastada kõik ressursi andmetüüpide prognoosid. Süsteem avaldab iga päev andmestiku, mis sisaldab iga vara kohta uusimaid prognoose.

Püsivad andmed

Kuigi ülaltoodud protsess on loodud püsivate varade jaoks, peetakse ka mittepüsivat liiklust organisatsiooni andmete osaks ja see võib olla oluline. Sel põhjusel pakub süsteem veebipõhise API-liidese reaalajas klassifitseerimisennustuste genereerimiseks katkendliku liikluse jaoks. Reaalajas prognoosimissüsteemi kasutatakse laialdaselt väljamineva liikluse, sissetuleva liikluse klassifitseerimiseks masinõppe mudelitesse ja reklaamijate andmetesse.

Siin võtab API kaks peamist argumenti: rühmitamisvõti ja prognoositavad algandmed. Teenus teostab ülalkirjeldatud objektide otsingu ja rühmitab objektid sama võtme jaoks. Neid funktsioone toetatakse ka tõrketeadete taastamiseks püsivahemälus. Iga rühmitusvõtme puhul tagab teenus, et ta on näinud piisavalt näidiseid enne ennustusteenusele helistamist, järgides ülalkirjeldatud protsessi.

Optimeerimine

Mõne salvestusruumi skannimiseks kasutame teeke ja tehnikaid, et optimeerida lugemist kuumsalvest [2] ja tagada, et teised samale salvestusruumile juurdepääsu kasutajad ei segaks.

Äärmiselt suurte tabelite (50+ petabaiti) puhul töötab süsteem vaatamata kõikidele optimeerimistele ja mälutõhususele kõik skannimiseks ja arvutamiseks, enne kui mälu saab otsa. Lõppude lõpuks arvutatakse skannimine täielikult mällu ja seda ei salvestata skannimise ajal. Kui suured tabelid sisaldavad tuhandeid struktureerimata andmekogumitega veerge, võib kogu tabeli prognooside tegemisel töö ebaõnnestuda ebapiisavate mäluressursside tõttu. Selle tulemuseks on katvuse vähenemine. Selle vastu võitlemiseks optimeerisime süsteemi nii, et see kasutaks skannimiskiirust puhverserverina selle kohta, kui hästi süsteem praeguse töökoormusega hakkama saab. Me kasutame kiirust ennustusmehhanismina, et näha mäluprobleeme ja prognoosida funktsioonide kaarti. Samal ajal kasutame tavapärasest vähem andmeid.

Andmesignaalid

Klassifitseerimissüsteem on täpselt nii hea kui andmetest saadavad signaalid. Siin vaatleme kõiki klassifikatsioonisüsteemis kasutatavaid signaale.

  • Sisupõhine: loomulikult on esimene ja kõige olulisem signaal sisu. Bernoulli proovivõtt tehakse iga andmevara kohta, mida skannime ja mille funktsioonid andmete sisu põhjal eraldatakse. Paljud märgid tulevad sisust. Võimalik on suvaline arv ujuvaid objekte, mis kujutavad arvutusi selle kohta, mitu korda konkreetset valimitüüpi on nähtud. Näiteks võivad meil olla märgid proovis nähtud meilide arvu kohta või märgid selle kohta, kui palju emotikone näidis on näha. Neid funktsioonide arvutusi saab erinevate skannimiste käigus normaliseerida ja koondada.
  • Andmete päritolu: oluline signaal, mis võib aidata, kui põhitabeli sisu on muutunud. Levinud näide on räsiandmed. Kui alamtabelis olevad andmed räsitakse, tulevad need sageli ülemtabelist, kus need jäävad selgeks. Liiniandmed aitavad teatud tüüpi andmeid klassifitseerida, kui neid ei loeta selgelt või teisendatakse ülesvoolu tabelist.
  • Märkused: veel üks kvaliteetne signaal, mis aitab tuvastada struktureerimata andmeid. Tegelikult võivad annotatsioonid ja päritoluandmed koos töötada, et levitada atribuute erinevate andmevarade vahel. Märkused aitavad tuvastada struktureerimata andmete allikat, samas kui päritoluandmed võivad aidata jälgida nende andmete voogu kogu hoidlas.
  • Andmete sisestamine on tehnika, mille käigus sisestatakse teadaolevatesse andmetüüpide teadaolevatesse allikatesse tahtlikult spetsiaalseid, loetamatud märke. Seejärel võime alati, kui skannime sama loetamatu märgijadaga sisu, järeldada, et sisu pärineb sellest teadaolevast andmetüübist. See on veel üks annotatsioonidega sarnane kvalitatiivne andmesignaal. Välja arvatud see, et sisupõhine tuvastamine aitab sisestatud andmeid avastada.

Mõõtmise mõõdikud

Oluline komponent on range metoodika mõõdikute mõõtmiseks. Klassifikatsiooni parandamise iteratsiooni peamised mõõdikud on täpsus ja iga sildi meeldejätmine, kusjuures kõige olulisem on F2 skoor.

Nende mõõdikute arvutamiseks on vaja sõltumatut andmevarade märgistamise metoodikat, mis on sõltumatu süsteemist endast, kuid mida saab kasutada sellega vahetuks võrdlemiseks. Allpool kirjeldame, kuidas me kogume Facebookist põhitõde ja kasutame seda oma klassifitseerimissüsteemi koolitamiseks.

Usaldusväärsete andmete kogumine

Kogume usaldusväärseid andmeid igast allpool loetletud allikast eraldi tabelisse. Iga tabel vastutab selle konkreetse allika viimaste vaadeldud väärtuste koondamise eest. Igal allikal on andmekvaliteedi kontrollid, mis tagavad, et iga allika vaadeldud väärtused on kvaliteetsed ja sisaldavad uusimaid andmetüüpide silte.

  • Logiplatvormi konfiguratsioonid: tarutabelite teatud väljad on täidetud kindlat tüüpi andmetega. Nende andmete kasutamine ja levitamine on usaldusväärne tõeallikas.
  • Käsitsi märgistamine: nii süsteemi hooldavad arendajad kui ka välised märgistajad on koolitatud veerge märgistama. See toimib üldiselt hästi igat tüüpi laos olevate andmete puhul ja võib olla mõne struktureerimata andmete, näiteks sõnumite andmete või kasutaja sisu puhul, peamiseks tõeallikaks.
  • Vanemtabelite veerge saab märkida või märkida, et need sisaldavad teatud andmeid ja me saame neid andmeid alamtabelites jälgida.
  • Täitmise lõimede toomine: Facebooki täitmise lõimed sisaldavad teatud tüüpi andmeid. Kasutades meie skannerit teenusearhitektuurina, saame proovid teadaolevate andmetüüpidega voogudest ja saata need läbi süsteemi. Süsteem lubab, et ei salvesta neid andmeid.
  • Näidistabelid: suuri tarutabeleid, mis teatavasti sisaldavad kogu andmekorpust, saab kasutada ka treeningandmetena ja neid teenusena skannerist läbi lasta. See sobib suurepäraselt kõiki andmetüüpe sisaldavate tabelite jaoks, nii et veeru juhuslik valim on samaväärne kogu selle andmetüübi valimi võtmisega.
  • Sünteetilised andmed: saame kasutada isegi teeke, mis genereerivad andmeid lennult. See toimib hästi lihtsate avalike andmetüüpide puhul, nagu aadress või GPS.
  • Andmehaldurid: privaatsusprogrammid kasutavad tavaliselt andmehaldureid andmeosadele poliitikate käsitsi määramiseks. See on väga täpne tõeallikas.

Ühendame kõik suuremad tõeallikad kõigi nende andmetega ühte korpusesse. Suurim väljakutse kehtivuse osas on tagada, et see esindaks andmehoidlat. Vastasel juhul võivad klassifikatsioonimootorid üle treenida. Selle vastu võitlemiseks kasutatakse mudelite treenimisel või mõõdikute arvutamisel tasakaalu tagamiseks kõiki ülaltoodud allikaid. Lisaks valivad inimmärgistajad hoidla erinevatest veergudest ühtlaselt proovi ja märgistavad andmed vastavalt, nii et põhitõe kogumine jääb erapooletuks.

Pidev integreerimine

Kiire iteratsiooni ja täiustamise tagamiseks on oluline mõõta süsteemi jõudlust alati reaalajas. Saame mõõta kõiki klassifitseerimise täiustusi täna süsteemiga võrreldes, et saaksime andmete põhjal taktikaliselt suunata tulevasi täiustusi. Siin vaatleme, kuidas süsteem viib lõpule kehtivate andmete pakutava tagasisideahela.

Kui ajastamissüsteem kohtab vara, millel on usaldusväärse allika silt, ajastame kaks ülesannet. Esimene kasutab meie tootmisskannerit ja seega ka meie tootmisvõimalusi. Teises ülesandes kasutatakse uusimat skannerit koos uusimate funktsioonidega. Iga ülesanne kirjutab oma väljundi oma tabelisse, märgistades versioonid koos klassifitseerimistulemustega.

Nii võrdleme reaalajas väljalaskekandidaadi ja tootmismudeli klassifitseerimise tulemusi.

Kuigi andmekogumid võrdlevad RC- ja PROD-funktsioone, logitakse ennustusteenuse ML-klassifikatsioonimootori paljusid variatsioone. Viimati ehitatud masinõppemudel, praegune tootmises olev mudel ja kõik katsemudelid. Sama lähenemisviis võimaldab meil "tükeldada" mudeli erinevaid versioone (meie reeglite klassifikaatorite suhtes agnostiline) ja võrrelda mõõdikuid reaalajas. Nii on lihtne kindlaks teha, millal ML-katse on tootmiseks valmis.

Igal õhtul saadetakse selleks päevaks arvutatud RC-funktsioonid ML-i koolitustorusse, kus mudelit koolitatakse uusimate RC-funktsioonide osas ja see hindab selle toimivust põhitõe andmestiku alusel.

Igal hommikul lõpetab mudel koolituse ja avaldatakse automaatselt eksperimentaalse mudelina. See lisatakse automaatselt katseloendisse.

Mõned tulemused

Üle 100 erinevat tüüpi andmete on märgistatud suure täpsusega. Hästi struktureeritud tüübid, nagu e-kirjad ja telefoninumbrid, klassifitseeritakse skooriga f2, mis on suurem kui 0,95. Tasuta andmetüübid, nagu kasutaja loodud sisu ja nimi, toimivad samuti väga hästi, F2 skoor on suurem kui 0,85.

Iga päev klassifitseeritakse kõigis hoidlates suur hulk üksikuid püsivate ja muutlike andmete veerge. Rohkem kui 500 terabaiti skannitakse iga päev enam kui 10 andmelaos. Enamiku nende hoidlate katvus on üle 98%.

Aja jooksul on klassifitseerimine muutunud väga tõhusaks, kuna püsivas võrguühenduseta voos klassifitseerimistöödel kulub vara skannimisest iga veeru prognooside arvutamiseni keskmiselt 35 sekundit.

Skaleeritav andmete klassifikatsioon turvalisuse ja privaatsuse tagamiseks
Riis. 2. Diagramm, mis kirjeldab pidevat integratsioonivoogu, et mõista, kuidas RC-objekte genereeritakse ja mudelisse saadetakse.

Skaleeritav andmete klassifikatsioon turvalisuse ja privaatsuse tagamiseks
Joonis 3. Masinõppe komponendi kõrgetasemeline diagramm.

Masinõppesüsteemi komponent

Eelmises jaotises sukeldusime sügavalt süsteemi üldisesse arhitektuuri, tõstes esile skaala, optimeerimise ning võrguühenduseta ja võrguühenduseta andmevoogusid. Selles jaotises vaatleme prognoositeenust ja kirjeldame masinõppesüsteemi, mis ennustamisteenust toidab.

Üle 100 andmetüübi ja mõne struktureerimata sisu (nt sõnumiandmed ja kasutajasisu) puhul tagab puhtalt käsitsi heuristika kasutamine alamparameetrilise klassifitseerimise täpsuse, eriti struktureerimata andmete puhul. Sel põhjusel oleme välja töötanud ka masinõppesüsteemi, et tulla toime struktureerimata andmete keerukusega. Masinõppe kasutamine võimaldab teil loobuda käsitsi heuristikast ning töötada täpsuse parandamiseks funktsioonide ja täiendavate andmesignaalidega (nt veergude nimed, andmete päritolu).

Rakendatud mudel uurib vektoresitusi [3] tihedate ja hõredate objektide kohal eraldi. Seejärel ühendatakse need vektoriks, mis lõpptulemuse saamiseks läbib partii normaliseerimise [4] ja mittelineaarsuse etapi. Lõpptulemus on ujukomaarv vahemikus [0-1] iga sildi jaoks, mis näitab tõenäosust, et näide kuulub sellesse tundlikkuse tüüpi. PyTorchi kasutamine mudeli jaoks võimaldas meil liikuda kiiremini, võimaldades meeskonnavälistel arendajatel kiiresti muudatusi teha ja testida.

Arhitektuuri kujundamisel oli oluline modelleerida hõredaid (nt tekst) ja tihedaid (nt arv) objekte nende olemuslike erinevuste tõttu. Lõpliku arhitektuuri jaoks oli oluline ka parameetrite pühkimine, et leida õppimiskiiruse, partii suuruse ja muude hüperparameetrite jaoks optimaalne väärtus. Optimeerija valik oli samuti oluline hüperparameeter. Leidsime, et populaarne optimeerija Adampõhjustab sageli ülepaigutamist, samas kui mudel SGD stabiilsem. Oli täiendavaid nüansse, mida pidime otse mudelisse lisama. Näiteks staatilised reeglid, mis tagasid, et mudel teeb deterministliku ennustuse, kui funktsioonil on teatud väärtus. Need staatilised reeglid on määratlenud meie kliendid. Leidsime, et nende lisamine otse mudelisse andis tulemuseks iseseisvama ja tugevama arhitektuuri, mitte aga järeltöötlusetapi rakendamist nende eriliste servajuhtumite käsitlemiseks. Pange tähele ka seda, et need reeglid on treeningu ajal keelatud, et mitte segada laskumise kaldega treeningprotsessi.

Probleemid

Üks väljakutseid oli kvaliteetsete ja usaldusväärsete andmete kogumine. Mudel vajab iga klassi jaoks kindlustunnet, et see saaks õppida seoseid objektide ja siltide vahel. Eelmises osas käsitlesime andmete kogumise meetodeid nii süsteemi mõõtmise kui ka mudelikoolituse jaoks. Analüüs näitas, et sellised andmeklassid nagu krediitkaardi ja pangakonto numbrid ei ole meie laos kuigi levinud. See muudab mudelite koolitamiseks suure hulga usaldusväärsete andmete kogumise keeruliseks. Selle probleemi lahendamiseks oleme välja töötanud protsessid nende klasside sünteetiliste tõepõhiste andmete saamiseks. Loome selliseid andmeid tundlike tüüpide jaoks, sealhulgas SSN, krediitkaardi numbrid и IBAN-numbrid, mille kohta mudel ei osanud varem ennustada. See lähenemisviis võimaldab töödelda tundlikke andmetüüpe ilma tegelike tundlike andmete peitmisega seotud privaatsusriskideta.

Lisaks põhitõeprobleemidele on lahtisi arhitektuuriprobleeme, mille kallal töötame, näiteks muuta isolatsiooni и varajane peatus. Muudatuste eraldamine on oluline tagamaks, et kui võrgu eri osades tehakse erinevaid muudatusi, on mõju eraldatud konkreetsetele klassidele ja sellel ei ole laiaulatuslikku mõju prognoosimise üldisele toimivusele. Kriitiline on ka varajase peatamise kriteeriumide parandamine, et saaksime treeningprotsessi peatada stabiilses punktis kõigis klassides, mitte kohas, kus mõned klassid treenivad üle ja teised mitte.

Funktsiooni tähtsus

Kui mudelisse lisatakse uus funktsioon, tahame teada selle üldist mõju mudelile. Samuti tahame tagada, et ennustused oleksid inimestele tõlgendatavad, et saaksime täpselt aru, milliseid funktsioone igat tüüpi andmete puhul kasutatakse. Selleks oleme välja töötanud ja kasutusele võtnud klasside kaupa funktsioonide tähtsus PyTorchi mudeli jaoks. Pange tähele, et see erineb üldisest funktsioonide tähtsusest, mida tavaliselt toetatakse, kuna see ei ütle meile, millised funktsioonid on konkreetse klassi jaoks olulised. Mõõdame objekti tähtsust, arvutades ennustusvea suurenemise pärast objekti ümberkorraldamist. Funktsioon on "oluline", kui väärtuste vahetamine suurendab mudeli viga, kuna antud juhul tugines mudel oma prognoosimisel funktsioonile. Funktsioon on "ebaoluline", kui selle väärtuste segamine jätab mudeli vea muutumatuks, kuna antud juhul mudel ignoreeris seda [5].

Funktsiooni olulisus iga klassi jaoks võimaldab meil muuta mudeli tõlgendatavaks, et saaksime sildi ennustamisel näha, mida mudel vaatab. Näiteks kui analüüsime ADDR, siis garanteerime, et aadressiga seotud märk, nt AddressLinesCount, on iga klassi funktsioonide tähtsuse tabelis kõrgel kohal, nii et meie inimlik intuitsioon sobib hästi mudeli õpituga.

Hindamine

Edukuse jaoks on oluline määratleda üksainus mõõdik. Me valisime F2 - tasakaal tagasikutsumise ja täpsuse vahel (meenutamise eelarvamus on veidi suurem). Tagasikutsumine on privaatsuse kasutamise juhtumi puhul olulisem kui täpsus, sest meeskonna jaoks on ülioluline, et tundlikud andmed ei jääks kahe silma vahele (tagades samas mõistliku täpsuse). Meie mudeli tegelik F2 jõudluse hindamine ei kuulu selle artikli ulatusse. Kuid hoolika häälestamisega võime saavutada kõrge (0,9+) F2 hinde kõige olulisemate tundlike klasside jaoks.

Seotud tööd

Struktureerimata dokumentide automaatseks klassifitseerimiseks on palju algoritme, kasutades erinevaid meetodeid nagu mustrite sobitamine, dokumentide sarnasuse otsing ja erinevad masinõppemeetodid (Bayesi, otsustuspuud, k-lähimad naabrid ja paljud teised) [6]. Kõiki neist saab kasutada klassifikatsiooni osana. Probleemiks on aga mastaapsus. Selles artiklis käsitletav klassifitseerimise lähenemisviis on kallutatud paindlikkuse ja jõudluse poole. See võimaldab meil tulevikus uusi klasse toetada ja hoida latentsusaeg madalana.

Samuti on palju tööd andmete sõrmejälgede võtmisega. Näiteks kirjeldasid artikli [7] autorid lahendust, mis keskendub tundlike andmete lekete tabamise probleemile. Selle aluseks on eeldus, et andmetest saab võtta sõrmejäljed, et viia need kokku tuntud tundlike andmete kogumiga. Artikli [8] autorid kirjeldavad sarnast privaatsuslekke probleemi, kuid nende lahendus põhineb konkreetsel Androidi arhitektuuril ja on salastatud ainult siis, kui kasutaja tegevuse tulemuseks on isikuandmete jagamine või kui aluseks olev rakendus lekib kasutajaandmeid. Siin on olukord mõnevõrra erinev, kuna kasutajaandmed võivad olla ka väga struktureerimata. Seetõttu vajame keerukamat tehnikat kui sõrmejälgede võtmine.

Lõpuks, et tulla toime andmepuudusega teatud tüüpi tundlike andmete puhul, võtsime kasutusele sünteetilised andmed. Andmete suurendamise kohta on palju kirjandust, näiteks uurisid [9] autorid müra süstimise rolli treeningu ajal ja täheldasid positiivseid tulemusi juhendatud õppimisel. Meie lähenemine privaatsusele on erinev, kuna mürarikaste andmete sisestamine võib olla kahjulik ja keskendume selle asemel kvaliteetsetele sünteetilistele andmetele.

Järeldus

Selles artiklis tutvustasime süsteemi, mis suudab andmeid klassifitseerida. See võimaldab meil luua süsteeme privaatsus- ja turvapoliitika jõustamiseks. Oleme näidanud, et skaleeritav infrastruktuur, pidev integreerimine, masinõpe ja kvaliteetne andmete tagamine mängivad paljude meie privaatsusalgatuste edus võtmerolli.

Edasiseks tööks on palju suundi. See võib hõlmata skeemita andmete (failide) toe pakkumist, mitte ainult andmetüübi, vaid ka tundlikkuse taseme klassifitseerimist ja enesejärelevalvega õppimise kasutamist koolituse ajal täpsete sünteetiliste näidete genereerimise teel. Mis omakorda aitab mudelil kahjusid suurima summa võrra vähendada. Edasine töö võiks keskenduda ka uurimise töövoogudele, kus me läheme tuvastamisest kaugemale ja pakume erinevate privaatsusrikkumiste algpõhjuste analüüsi. See aitab sellistel juhtudel nagu tundlikkuse analüüs (st kas andmetüübi privaatsustundlikkus on kõrge (nt kasutaja IP) või madal (nt Facebooki sisemine IP)).

Bibliograafia

  1. David Ben-David, Tamar Domany ja Abigail Tarem. Ettevõtte andmete klassifitseerimine semantiliste veebitehnoloogiate abil. Toimetajad Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks ja Birte Glimm, Semantiline veeb – ISWC 2010, lk 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-salvestussüsteem. sisse 11. USENIXi sümpoosion operatsioonisüsteemide disaini ja juurutamise kohta (OSDI 14), lk 383–398, Broomfield, CO, oktoober 2014. USENIX Association.
  3. Tomas Mikolov, Ilja Sutskever, Kai Chen, Greg S Corrado ja Jeff Dean. Sõnade ja fraaside hajutatud esitused ning nende kompositsioonilisus. C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani ja K. Q. Weinberger, toimetajad, Neuraalsete teabetöötlussüsteemide edusammud 26, lk 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioff ja Christian Szegedy. Partii normaliseerimine: süvavõrgu koolituse kiirendamine, vähendades sisemist ühismuutuja nihet. Toimetajad Francis Bach ja David Blei 32. rahvusvahelise masinõppe konverentsi materjalid, 37. köide Masinõppe uurimistöö toimetised, lk 448–456, Lille, Prantsusmaa, 07.–09. juuli 2015. PMLR.
  5. Leo Breiman. Juhuslikud metsad. Mach. Õppige., 45(1):5–32, oktoober 2001.
  6. Tair Nu Phyu. Andmekaevanduse klassifitseerimistehnikate uuring.
  7. X. Shu, D. Yao ja E. Bertino. Privaatsust säilitav tundlike andmetega kokkupuute tuvastamine. IEEE tehingud teabe kohtuekspertiisi ja turvalisuse kohta, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning ja Xiaoyang Wang. Taotleja: tundliku andmeedastuse analüüsimine Androidis privaatsuslekke tuvastamiseks. lk 1043–1054, 11 2013. a.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong ja Quoc V. Le. Andmete järelevalveta täiendamine.

Skaleeritav andmete klassifikatsioon turvalisuse ja privaatsuse tagamiseks
Uurige SkillFactory veebikursustel üksikasju selle kohta, kuidas omandada ihaldatud elukutse nullist või Level Up seoses oskuste ja palgaga:

Rohkem kursusi

Allikas: www.habr.com

Lisa kommentaar