Skalebla datuma klasifiko por sekureco kaj privateco

Skalebla datuma klasifiko por sekureco kaj privateco

Enhav-bazita datuma klasifiko estas malferma problemo. Tradiciaj sistemoj de preventado de perdo de datumoj (DLP) solvas ĉi tiun problemon per fingrospurado de la koncernaj datumoj kaj monitorado de la finpunktoj por fingrospurado. Konsiderante la grandan nombron da konstante ŝanĝiĝantaj datumresursoj ĉe Facebook, ĉi tiu aliro ne nur ne estas skalebla, sed ankaŭ neefika por determini kie la datumoj loĝas. Ĉi tiu artikolo temigas fin-al-finan sistemon konstruitan por detekti sentemajn semantikajn tipojn en Facebook ĉe skalo kaj aŭtomate devigi datumstokadon kaj alirkontrolon.

La aliro priskribita ĉi tie estas nia unua fin-al-fina privateca sistemo, kiu provas solvi ĉi tiun problemon korpigante datumsignalojn, maŝinlernadon kaj tradiciajn fingrospurajn teknikojn por mapi kaj klasifiki ĉiujn datumojn en Facebook. La priskribita sistemo funkcias en produktadmedio, atingante mezan F2-poentaron de 0,9+ tra diversaj privatecaj klasoj dum prilaborado de grandaj kvantoj da datumresursoj tra dekduoj da deponejoj. Prezentante tradukon de la artikolo ArXiv de Facebook pri skalebla datumklasifiko por sekureco kaj privateco bazita sur maŝinlernado.

Enkonduko

Hodiaŭ, organizoj kolektas kaj stokas grandajn kvantojn da datumoj en diversaj formatoj kaj lokoj [1], tiam la datenoj estas konsumitaj en multaj lokoj, foje kopiitaj aŭ konservitaj plurfoje, rezultigante valorajn kaj sentemajn komercajn informojn disigitajn tra multaj entreprenaj datumoj. vendejoj. Kiam organizo estas postulata plenumi iujn laŭleĝajn aŭ reguligajn postulojn, kiel plenumon de regularoj en civilaj procesoj, necesas kolekti datumojn pri la loko de la postulataj datumoj. Kiam privateca regularo deklaras, ke organizo devas maski ĉiujn Sociajn Sekurecajn Nombrojn (SSN) dum kunhavado de personaj informoj kun neaŭtorizitaj entoj, la natura unua paŝo estas serĉi ĉiujn SSN-ojn tra la datumbutikoj de la organizo. Sub tiaj cirkonstancoj, datumklasifiko fariĝas kritika [1]. La klasifiksistemo permesos al organizoj aŭtomate devigi privatecon kaj sekurecpolitikojn, kiel ekzemple ebligado de alirkontrolpolitikoj, reteno de datumoj. Facebook enkondukas sistemon, kiun ni konstruis ĉe Facebook, kiu uzas multoblajn datumsignalojn, skaleblan sisteman arkitekturon kaj maŝinlernadon por malkovri sentemajn semantikajn datumtipojn.

Datenmalkovro kaj klasifiko estas la procezo de trovado kaj etikedado de datenoj tiel ke rilataj informoj povas esti prenitaj rapide kaj efike kiam bezonite. La nuna procezo estas sufiĉe mana en naturo kaj konsistas el ekzamenado de la koncernaj leĝoj aŭ regularoj, determini kiajn specojn de informoj devus esti konsideritaj sentemaj kaj kiuj la malsamaj niveloj de sentemo estas, kaj tiam konstrui klasojn kaj klasifikpolitikojn laŭe [1]. Preventado de perdo de datumoj (DLP) tiam fingrospuroj la datenoj kaj spuras kontraŭfluajn finpunktojn por akiri la fingrospurojn. Kiam vi traktas kun peza magazeno kun petabajtoj da datumoj, ĉi tiu aliro simple ne skalas.

Nia celo estas konstrui datuman klasifiksistemon, kiu skalas al kaj fortika kaj pasema uzantdatenoj, sen aldonaj limigoj pri la datumtipo aŭ formato. Ĉi tio estas aŭdaca celo, kaj nature ĝi venas kun defioj. Donita datuma registro povas esti miloj da karakteroj.

Skalebla datuma klasifiko por sekureco kaj privateco
Figuro 1. Interretaj kaj eksterretaj prognozaj fluoj

Tial ni devas reprezenti ĝin efike uzante komunan aron de funkcioj, kiuj poste povas esti kombinitaj kaj facile movitaj. Ĉi tiuj funkcioj devus ne nur provizi precizan klasifikon, sed ankaŭ provizi flekseblecon kaj etendeblecon por facile aldoni kaj malkovri novajn datumtipojn en la estonteco. Due, vi devas trakti grandajn eksterretajn tablojn. Daŭraj datumoj povas esti konservitaj en tabeloj, kiuj estas multaj petabajtoj. Ĉi tio povas rezultigi pli malrapidajn skanajn rapidojn. Trie, ni devas aliĝi al strikta SLA-klasifiko pri volatilaj datumoj. Ĉi tio devigas la sistemon esti tre efika, rapida kaj preciza. Fine, ni devas provizi malaltan latentecan datenklasifikon por volatilaj datumoj por plenumi realtempan klasifikon same kiel por Interretaj uzkazoj.

Ĉi tiu artikolo priskribas kiel ni traktis la defiojn supre kaj prezentas rapidan kaj skaleblan klasifiksistemon, kiu klasifikas datumelementojn de ĉiuj tipoj, formatoj kaj fontoj bazitaj sur komuna aro de trajtoj. Ni vastigis la sisteman arkitekturon kaj kreis laŭmendan maŝinlerndan modelon por rapide klasifiki eksterretajn kaj retajn datumojn. Ĉi tiu artikolo estas organizita jene: Sekcio 2 prezentas la ĝeneralan dezajnon de la sistemo. Sekcio 3 diskutas la partojn de maŝinlernada sistemo. Sekcioj 4 kaj 5 reliefigas rilatan laboron kaj skizas estontajn labordirektojn.

arkitekturo

Por trakti la defiojn de konstantaj kaj Facebook-skalaj interretaj datumoj, la klasifiksistemo havas du apartajn fluojn, kiujn ni diskutos detale.

Daŭrigeblaj Datumoj

Komence, la sistemo devas lerni pri la multaj informaj aktivoj de Facebook. Por ĉiu deponejo, iuj bazaj informoj estas kolektitaj, kiel ekzemple la datencentro enhavanta tiujn datenojn, la sistemo enhavanta tiujn datenojn, kaj la aktivoj situantaj en la specifa datumdeponejo. Ĉi tio kreas metadatuman katalogon, kiu permesas al la sistemo efike preni datumojn sen troŝarĝi klientojn kaj rimedojn uzatajn de aliaj inĝenieroj.

Ĉi tiu metadatuma katalogo provizas aŭtoritatan fonton por ĉiuj skanitaj aktivoj kaj permesas vin spuri la staton de diversaj aktivoj. Uzante ĉi tiujn informojn, plana prioritato estas establita surbaze de la kolektitaj datenoj kaj internaj informoj de la sistemo, kiel ekzemple la tempo kiam la aktivaĵo laste estis sukcese skanita kaj la tempo kiam ĝi estis kreita, same kiel la pasintaj memoro kaj CPU-postuloj por tiu aktivaĵo se ĝi estis skanita antaŭe. Tiam, por ĉiu datumrimedo (kiel resursoj iĝas haveblaj), laboro estas vokita por fakte skani la rimedon.

Ĉiu laboro estas kompilita binara dosiero, kiu faras Bernoulli-specimenon sur la plej novaj disponeblaj datumoj por ĉiu valoraĵo. La valoraĵo estas dividita en individuajn kolumnojn, kie la klasifikrezulto de ĉiu kolumno estas prilaborita sendepende. Aldone, la sistemo skanas por ajnaj saturitaj datumoj ene de la kolumnoj. JSON, tabeloj, koditaj strukturoj, URL-oj, serialigitaj datumoj de bazo 64 kaj pli estas ĉiuj skanitaj. Ĉi tio povas signife pliigi skanan ekzekuttempon ĉar ununura tablo povas enhavi milojn da nestitaj kolumnoj en blob json.

Por ĉiu vico, kiu estas elektita en la datuma aktivo, la klasifiksistemo ĉerpas la flosilon kaj tekstobjektojn de la enhavo kaj asocias ĉiun objekton reen al la kolumno de kiu ĝi estis prenita. La eligo de la eltira paŝo estas mapo de ĉiuj funkcioj por ĉiu kolumno trovita en la datuma aktivo.

Por kio estas la signoj?

La koncepto de atributoj estas ŝlosila. Anstataŭ flosaj kaj tekstaj trajtoj, ni povas pasi krudajn ŝnurajn specimenojn, kiuj estas rekte ĉerpitaj el ĉiu datumrimedo. Krome, maŝinlernado-modeloj povas esti trejnitaj rekte sur ĉiu provaĵo, prefere ol centoj da trajtokalkuloj kiuj nur provas proksimigi la provaĵon. Estas pluraj kialoj por ĉi tio:

  1. Privateco unue: Plej grave, la koncepto de funkcioj permesas al ni konservi en memoro nur tiujn ŝablonojn, kiujn ni retrovas. Ĉi tio certigas, ke ni stokas specimenojn por ununura celo kaj neniam ensalutu ilin per niaj propraj klopodoj. Ĉi tio estas precipe grava por volatilaj datumoj, ĉar la servo devas konservi iun klasifikstato antaŭ provizi antaŭdiron.
  2. Memoro: Kelkaj specimenoj povas esti miloj da karakteroj longaj. Stoki tiajn datumojn kaj transdoni ĝin al partoj de la sistemo nenecese konsumas multajn pliajn bajtojn. La du faktoroj povas kombini kun la tempo, ĉar ekzistas multaj datumresursoj kun miloj da kolumnoj.
  3. Karakterizaĵagregado: Trajtoj klare reprezentas la rezultojn de ĉiu skanado per aro de funkcioj, permesante al la sistemo kombini la rezultojn de antaŭaj skanadoj de la sama datumrimedo en oportuna maniero. Ĉi tio povas esti utila por aldoni skanajn rezultojn de ununura datumrimedo tra pluraj kuroj.

La funkcioj tiam estas senditaj al antaŭdira servo, kie ni uzas regul-bazitan klasifikon kaj maŝinlernadon por antaŭdiri la datumetikedojn de ĉiu kolumno. La servo dependas de kaj regulklasigiloj kaj maŝinlernado kaj elektas la plej bonan prognozon donitan de ĉiu prognozobjekto.

Regulklasigiloj estas manaj heŭristiko, ili uzas kalkulojn kaj koeficientojn por normaligi objekton al gamo de 0 ĝis 100. Post kiam tia komenca poentaro estas generita por ĉiu datumtipo kaj kolonnomo asociita kun tiuj datenoj, ĝi ne estas inkludita en iu "malpermeso". listoj" ,La regulklasigilo elektas la plej altan normaligitan poentaron inter ĉiuj datumtipoj.

Pro la komplekseco de klasifiko, fidi sole je mana heŭristiko rezultigas malaltan klasifikprecizecon, precipe por nestrukturitaj datenoj. Tial ni evoluigis maŝinlernsistemon por labori kun la klasifiko de nestrukturitaj datumoj kiel uzantenhavo kaj adreso. Maŝinlernado ebligis komenci malproksimiĝi de manaj heŭristiko kaj apliki aldonajn datensignalojn (ekz. kolonnomojn, datendevenon), signife plibonigante detektan precizecon. Ni pliprofundiĝos en nian maŝinlernada arkitekturo poste.

La prognoza servo konservas la rezultojn por ĉiu kolumno kune kun metadatenoj pri la tempo kaj stato de la skanado. Ajnaj konsumantoj kaj kontraŭfluaj procezoj, kiuj dependas de ĉi tiuj datumoj, povas legi ĝin el la ĉiutaga eldonita datumaro. Ĉi tiu aro agregas la rezultojn de ĉiuj ĉi tiuj skanlaboroj, aŭ Real-Time Data Catalog API-oj. Publikigitaj prognozoj estas la fundamento por aŭtomata plenumado de privatecaj kaj sekurecaj politikoj.

Fine, post kiam la prognoza servo skribas ĉiujn datumojn kaj ĉiuj antaŭvidoj estas stokitaj, nia Datuma Katalogo API povas resendi ĉiujn datumtipajn prognozojn por la rimedo en reala tempo. Ĉiutage la sistemo publikigas datumaron enhavantan ĉiujn plej novajn prognozojn por ĉiu valoraĵo.

Volatilaj datumoj

Dum ĉi-supra procezo estas dizajnita por daŭraj aktivoj, ne-daŭra trafiko ankaŭ estas konsiderata parto de la datumoj de organizo kaj povas esti grava. Tial, la sistemo disponigas retan API por generi realtempajn klasifikajn prognozojn por iu intermita trafiko. Realtempa prognoza sistemo estas vaste uzata en klasifikado de elira trafiko, enirtrafiko en maŝinlernajn modelojn kaj reklamancidatenojn.

Ĉi tie la API prenas du ĉefajn argumentojn: la grupigan ŝlosilon kaj la krudajn datumojn, kiuj estas antaŭvideblaj. La servo elfaras la saman objektan retrovon kiel priskribite supre kaj grupigas la objektojn kune por la sama ŝlosilo. Ĉi tiuj funkcioj ankaŭ estas subtenataj en la persista kaŝmemoro por malsukcesa reakiro. Por ĉiu grupiga ŝlosilo, la servo certigas, ke ĝi vidis sufiĉe da specimenoj antaŭ ol voki la prognozan servon, sekvante la procezon priskribitan supre.

Optimumigo

Por skani kelkajn stokaĵojn, ni uzas bibliotekojn kaj teknikojn por optimumigi legadon de varma stokado [2] kaj certigi ke ekzistas neniuj interrompoj de aliaj uzantoj alirantaj la saman stokadon.

Por ekstreme grandaj tabloj (50+ petabajtoj), malgraŭ ĉiuj optimumigoj kaj memorefikeco, la sistemo funkcias por skani kaj komputi ĉion antaŭ ol elĉerpi memoron. Post ĉio, la skanado estas komputita tute en memoro kaj ne estas konservita dum la skanado. Se grandaj tabeloj enhavas milojn da kolumnoj kun nestrukturitaj amasoj da datenoj, la laboro povas malsukcesi pro nesufiĉaj memorresursoj dum elfarado de prognozoj sur la tuta tablo. Ĉi tio rezultos en reduktita kovrado. Por kontraŭbatali ĉi tion, ni optimumigis la sistemon por uzi skanan rapidon kiel prokurilon pri kiom bone la sistemo pritraktas la nunan laborkvanton. Ni uzas rapidecon kiel prognozan mekanismon por vidi memorproblemojn kaj antaŭdire kalkuli la trajtomapon. Samtempe ni uzas malpli da datumoj ol kutime.

Datumaj signaloj

Klasifika sistemo estas nur same bona kiel la signaloj de la datumoj. Ĉi tie ni rigardos ĉiujn signalojn uzatajn de la klasifiksistemo.

  • Enhavo Bazita: Kompreneble, la unua kaj plej grava signalo estas enhavo. Bernoulli-specimenado estas farita sur ĉiu datuma aktivo, kiun ni skanas kaj ĉerpas funkciojn bazitajn sur la datuma enhavo. Multaj signoj venas de la enhavo. Ajna nombro da flosantaj objektoj estas eblaj, kiuj reprezentas kalkulojn de kiom da fojoj akurata provaĵospeco estis vidita. Ekzemple, ni povus havi signojn de la nombro da retpoŝtoj viditaj en specimeno, aŭ signojn de kiom da emojioj estas vidataj en specimeno. Ĉi tiuj karakterizaj kalkuloj povas esti normaligitaj kaj agregitaj tra malsamaj skanadoj.
  • Datuma deveno: Grava signalo, kiu povas helpi, kiam la enhavo ŝanĝiĝis de la gepatra tabelo. Ofta ekzemplo estas haŝitaj datumoj. Kiam datumoj en infana tabelo estas haŝita, ĝi ofte venas de la gepatra tabelo, kie ĝi restas en klara. Genliniaj datumoj helpas klasifiki iujn specojn de datumoj kiam ili ne estas klare legitaj aŭ estas konvertitaj de kontraŭflua tabelo.
  • Komentarioj: Alia altkvalita signalo, kiu helpas identigi nestrukturitajn datumojn. Fakte, komentarioj kaj devenaj datumoj povas funkcii kune por disvastigi atributojn tra malsamaj datumaktivaĵoj. Komentarioj helpas identigi la fonton de nestrukturitaj datumoj, dum genliniaj datumoj povas helpi spuri la fluon de tiuj datumoj tra la deponejo.
  • Dateninjekto estas tekniko kie specialaj, nelegeblaj signoj estas intence enkondukitaj en konataj fontoj de konataj datumtipoj. Tiam, kiam ajn ni skanas enhavon kun la sama nelegebla signosekvenco, ni povas konkludi ke la enhavo venas de tiu konata datumtipo. Ĉi tio estas alia kvalita datensignalo simila al komentarioj. Krom ke enhav-bazita detekto helpas malkovri la enigitajn datumojn.

Mezurado de Metriko

Grava komponanto estas rigora metodaro por mezuri metrikon. La ĉefaj metrikoj por la klasifika pliboniga ripeto estas precizeco kaj revoko de ĉiu etikedo, kie la F2-poentaro estas la plej grava.

Por kalkuli ĉi tiujn metrikojn, necesas sendependa metodaro por etikedi datumajn aktivaĵojn, kiu estas sendependa de la sistemo mem, sed povas esti uzata por rekta komparo kun ĝi. Malsupre ni priskribas kiel ni kolektas teran veron de Facebook kaj uzas ĝin por trejni nian klasifiksistemon.

Kolekto de fidindaj datumoj

Ni amasigas fidindajn datumojn de ĉiu fonto listigita malsupre en sian propran tabelon. Ĉiu tablo respondecas pri agregado de la plej lastaj observitaj valoroj de tiu aparta fonto. Ĉiu fonto havas datumkvalitajn kontrolojn por certigi, ke la observitaj valoroj por ĉiu fonto estas altkvalitaj kaj enhavas la plej novajn datumtipajn etikedojn.

  • Registrado de platformaj agordoj: Iuj kampoj en hive-tabeloj estas plenigitaj kun datumoj de specifa tipo. La uzo kaj disvastigo de ĉi tiuj datumoj servas kiel fidinda fonto de vero.
  • Mana etikedado: Programistoj konservantaj la sistemon same kiel eksterajn etikedistojn estas trejnitaj por etikedi kolonojn. Ĉi tio ĝenerale funkcias bone por ĉiuj specoj de datumoj en la magazeno, kaj povas esti la ĉefa fonto de vero por iuj nestrukturitaj datumoj, kiel mesaĝaj datumoj aŭ uzantenhavo.
  • Kolumnoj de gepatraj tabeloj povas esti markitaj aŭ komentitaj kiel enhavantaj certajn datumojn, kaj ni povas spuri tiujn datumojn en la tabeloj de la infanoj.
  • Preni fadenojn de ekzekuto: fadenoj de ekzekuto en Facebook portas specifajn specojn de datumoj. Uzante nian skanilon kiel servan arkitekturon, ni povas provi fluojn kiuj havas konatajn datumtipojn kaj sendi ilin tra la sistemo. La sistemo promesas ne stoki ĉi tiujn datumojn.
  • Specimenaj tabloj: Grandaj abeltabloj, kiuj povas enhavi la tutan datumkorpon, ankaŭ povas esti uzataj kiel trejnaj datumoj kaj trapasitaj tra la skanilo kiel servo. Ĉi tio estas bonega por tabeloj kun plena gamo de datumtipoj, tiel ke specimenigo de kolumno hazarde estas ekvivalenta al specimenigo de la tuta aro de tiu datumtipo.
  • Sintezaj datumoj: Ni eĉ povas uzi bibliotekojn, kiuj generas datumojn sur la flugo. Ĉi tio bone funkcias por simplaj publikaj datumtipoj kiel adreso aŭ GPS.
  • Data Stewards: Privatecprogramoj tipe uzas datenstevardojn por mane asigni politikojn al datenoj. Ĉi tio servas kiel tre preciza fonto de vero.

Ni kombinas ĉiun gravan fonton de vero en unu korpuso kun ĉiuj tiuj datumoj. La plej granda defio kun valideco estas certigi, ke ĝi estas reprezenta de la datumdeponejo. Alie, klasifikmotoroj povas trotrejni. Por kontraŭbatali ĉi tion, ĉiuj ĉi-supraj fontoj estas uzataj por certigi ekvilibron dum trejnado de modeloj aŭ kalkulado de metrikoj. Krome, homaj etikedistoj unuforme provas malsamajn kolumnojn en la deponejo kaj etikedas la datenojn sekve tiel ke la kolekto de grunda vero restas nepartia.

Kontinua Integriĝo

Por certigi rapidan ripeton kaj plibonigon, gravas ĉiam mezuri sisteman rendimenton en reala tempo. Ni povas mezuri ĉiun klasifikan plibonigon kontraŭ la sistemo hodiaŭ, do ni povas taktike gvidi estontajn plibonigojn bazitajn sur datumoj. Ĉi tie ni rigardas kiel la sistemo kompletigas la retrosciigon kiu estas provizita de validaj datumoj.

Kiam la plansistemo renkontas valoraĵon, kiu havas etikedon de fidinda fonto, ni planas du taskojn. La unua uzas nian produktadskanilon kaj tiel niajn produktadkapablojn. La dua tasko uzas la plej novan konstruan skanilon kun la plej novaj funkcioj. Ĉiu tasko skribas sian produktaĵon al sia propra tabelo, etikedante versiojn kune kun la klasifikrezultoj.

Jen kiel ni komparas la klasifikrezultojn de la eldonkandidato kaj la produktmodelon en reala tempo.

Dum la datumaroj komparas funkciojn de RC kaj PROD, multaj varioj de la ML-klasifika motoro de la prognozservo estas registritaj. La plej lastatempe konstruita maŝinlernada modelo, la nuna modelo en produktado, kaj iuj eksperimentaj modeloj. La sama aliro permesas al ni "tranĉi" malsamajn versiojn de la modelo (agnostikaj al niaj regulklasigiloj) kaj kompari metrikojn en reala tempo. Ĉi tio faciligas determini kiam ML-eksperimento estas preta por iri en produktadon.

Ĉiun nokton, la RC-ecoj kalkulitaj por tiu tago estas senditaj al la ML-trejnaddukto, kie la modelo estas trejnita pri la plej novaj RC-trajtoj kaj taksas sian efikecon kontraŭ la grunda vera datumaro.

Ĉiumatene, la modelo kompletigas trejnadon kaj estas aŭtomate publikigita kiel eksperimenta modelo. Ĝi estas aŭtomate inkluzivita en la eksperimenta listo.

Kelkaj rezultoj

Pli ol 100 malsamaj specoj de datumoj estas etikeditaj kun alta precizeco. Bone strukturitaj tipoj kiel retpoŝtoj kaj telefonnumeroj estas klasifikitaj kun f2-poentaro pli granda ol 0,95. Senpagaj datumtipoj kiel uzant-generitaj enhavo kaj nomo ankaŭ funkcias tre bone, kun F2-poentoj pli ol 0,85.

Granda nombro da individuaj kolumnoj de konstantaj kaj volatilaj datumoj estas ĉiutage klasifikitaj tra ĉiuj deponejoj. Pli ol 500 terabajtoj estas skanitaj ĉiutage tra pli ol 10 datumstokejoj. La plej multaj el ĉi tiuj deponejoj havas pli ol 98% priraportadon.

Kun la tempo, klasifiko fariĝis tre efika, kun klasifikaj laboroj en daŭra senreta fluo daŭras mezume 35 sekundojn de skanado de valoraĵo ĝis kalkulado de antaŭdiroj por ĉiu kolumno.

Skalebla datuma klasifiko por sekureco kaj privateco
Rizo. 2. Diagramo priskribanta la kontinuan integrigan fluon por kompreni kiel RC-objektoj estas generitaj kaj senditaj al la modelo.

Skalebla datuma klasifiko por sekureco kaj privateco
Figuro 3. Altnivela diagramo de maŝinlernada komponanto.

Maŝinlernada sistemo komponanto

En la antaŭa sekcio, ni profunde plonĝis en la ĝeneralan sisteman arkitekturon, elstarigante skalon, optimumigon kaj eksterrete kaj interretajn datumfluojn. En ĉi tiu sekcio, ni rigardos la prognozan servon kaj priskribos la maŝinlernsistemon, kiu funkciigas la prognozan servon.

Kun pli ol 100 datumtipoj kaj iom da senstruktura enhavo kiel mesaĝdatenoj kaj uzantenhavo, uzi pure manan heŭristiko rezultigas subparametrikan klasifikprecizecon, precipe por nestrukturitaj datumoj. Tial ni ankaŭ evoluigis maŝinlernsistemon por trakti la kompleksecon de nestrukturitaj datumoj. Uzi maŝinlernadon ebligas al vi komenci malproksimigi de manaj heŭristiko kaj labori kun funkcioj kaj pliaj datumsignaloj (ekzemple, kolonnomoj, datumdeveno) por plibonigi precizecon.

La efektivigita modelo studas vektorajn reprezentadojn [3] super densaj kaj malabundaj objektoj aparte. Tiuj tiam estas kombinitaj por formi vektoron, kiu ekzamenas serion de batnormaligo [4] kaj nelinearecŝtupoj por produkti la finan rezulton. La fina rezulto estas glitkoma nombro inter [0-1] por ĉiu etikedo, indikante la probablecon ke la ekzemplo apartenas al tiu sentema tipo. Uzi PyTorch por la modelo permesis al ni moviĝi pli rapide, permesante al programistoj ekster la teamo rapide fari kaj testi ŝanĝojn.

Dum desegnado de la arkitekturo, estis grave modeligi maldensajn (ekz. tekston) kaj densajn (ekz. numerajn) objektojn aparte pro iliaj enecaj diferencoj. Por la fina arkitekturo, estis ankaŭ grave elfari parametron svingon por trovi la optimuman valoron por lernado-rapideco, arograndeco kaj aliaj hiperparametroj. La elekto de optimumigilo ankaŭ estis grava hiperparametro. Ni trovis tion populara optimumilo adamofte kondukas al troagordado, dum modelo kun SGD pli stabila. Estis pliaj nuancoj, kiujn ni devis inkluzivi rekte en la modelon. Ekzemple, senmovaj reguloj kiuj certigis ke la modelo faras determinisman antaŭdiron kiam trajto havas certan valoron. Ĉi tiuj statikaj reguloj estas difinitaj de niaj klientoj. Ni trovis, ke integri ilin rekte en la modelon rezultigis pli memstaran kaj fortikan arkitekturon, kontraste al efektivigado de post-prilabora paŝo por trakti ĉi tiujn specialajn randajn kazojn. Rimarku ankaŭ, ke ĉi tiuj reguloj estas malŝaltitaj dum trejnado por ne malhelpi la trejnadprocezon de gradienta descendo.

Problemoj

Unu el la defioj estis kolekti altkvalitajn, fidindajn datumojn. La modelo bezonas konfidon por ĉiu klaso por ke ĝi povu lerni asociojn inter objektoj kaj etikedoj. En la antaŭa sekcio, ni diskutis metodojn de kolekto de datumoj por kaj sistema mezurado kaj modela trejnado. La analizo montris, ke datumklasoj kiel kreditkarto kaj bankkonto nombroj ne estas tre oftaj en nia magazeno. Ĉi tio malfacilas kolekti grandajn kvantojn da fidindaj datumoj por trejni modelojn. Por trakti ĉi tiun problemon, ni evoluigis procezojn por akiri sintezajn grundajn verajn datumojn por ĉi tiuj klasoj. Ni generas tiajn datumojn por sentemaj tipoj inkluzive SSN, nombroj de kreditkartoj и IBANO-nombroj por kiuj la modelo ne povis antaŭdiri antaŭe. Ĉi tiu aliro permesas al sentivaj datumtipoj esti prilaboritaj sen la privatecriskoj asociitaj kun kaŝado de la realaj sentemaj datumoj.

Krom la teraj veraj aferoj, ekzistas malfermaj arkitekturaj aferoj pri kiuj ni laboras, kiel ekzemple ŝanĝi izolitecon и frua halto. Ŝanĝa izoliteco estas grava por certigi, ke kiam malsamaj ŝanĝoj estas faritaj al malsamaj partoj de la reto, la efiko estas izolita al specifaj klasoj kaj ne havas larĝan efikon al totala prognoza efikeco. Plibonigi fruajn ĉesajn kriteriojn ankaŭ estas kritika por ke ni povu ĉesigi la trejnan procezon ĉe stabila punkto por ĉiuj klasoj, prefere ol ĉe punkto kie iuj klasoj trotrejnas kaj aliaj ne.

Ĉefa graveco

Kiam nova funkcio estas enkondukita en modelon, ni volas scii ĝian ĝeneralan efikon al la modelo. Ni ankaŭ volas certigi, ke la antaŭdiroj estas homaj interpreteblaj, por ke ni povu kompreni precize, kiajn funkciojn oni uzas por ĉiu tipo de datumoj. Tiucele ni evoluigis kaj enkondukis laŭ klaso graveco de funkcioj por la modelo PyTorch. Rimarku, ke tio diferencas de ĝenerala trajtogravo, kiu estas kutime subtenata, ĉar ĝi ne diras al ni kiuj trajtoj estas gravaj por aparta klaso. Ni mezuras la gravecon de objekto kalkulante la pliiĝon en prognozeraro post rearanĝado de la objekto. Trajto estas "grava" kiam interŝanĝado de valoroj pliigas la eraron de la modelo ĉar en ĉi tiu kazo la modelo fidis la funkcion por fari sian antaŭdiron. Trajto estas "negrava" dum miksado de siaj valoroj lasas la modeleraron senŝanĝa, ĉar ĉi-kaze la modelo ignoris ĝin [5].

La graveco de la trajto por ĉiu klaso permesas al ni igi la modelon interpretebla tiel ke ni povas vidi kion la modelo rigardas dum antaŭdiro de etikedo. Ekzemple, kiam ni analizas ADDR, tiam ni garantias ke la signo asociita kun la adreso, kiel ekz AddressLinesCount, rangas alte en la trajtograva tabelo por ĉiu klaso tiel ke nia homa intuicio kongruas bone kun tio, kion la modelo lernis.

pritakso

Gravas difini ununuran metrikon por sukceso. Ni elektis F2 - ekvilibro inter rememoro kaj precizeco (revokbiaso estas iomete pli granda). Rememoro estas pli grava por privateca uzkazo ol precizeco ĉar estas kritike por la teamo ne maltrafi ajnajn sentemajn datumojn (certante akcepteblan precizecon). La reala F2-efikectakso de nia modelo estas preter la amplekso de ĉi tiu artikolo. Tamen, per zorga agordado ni povas atingi altajn (0,9+) F2-poentarojn por la plej gravaj sentemaj klasoj.

Rilata laboro

Ekzistas multaj algoritmoj por aŭtomata klasifiko de nestrukturitaj dokumentoj uzantaj diversajn metodojn kiel ŝablono-kongruo, dokument-similecserĉo kaj diversaj maŝinlernado-metodoj (Bayesian, decidarboj, k-plej proksimaj najbaroj kaj multaj aliaj) [6]. Ĉiu el ĉi tiuj povas esti uzata kiel parto de klasifiko. Tamen, la problemo estas skaleblo. La klasifika aliro en ĉi tiu artikolo estas partia direkte al fleksebleco kaj efikeco. Ĉi tio permesas al ni subteni novajn klasojn en la estonteco kaj teni latencia malalta.

Ankaŭ estas multe da laboro pri datuma fingrospurado. Ekzemple, la verkintoj en [7] priskribis solvon kiu temigas la problemon de kaptado de sentemaj datenlikoj. La subesta supozo estas, ke la datumoj povas esti fingrospuritaj por egali ĝin kun aro de konataj sentemaj datumoj. La verkintoj en [8] priskribas similan problemon de privateca elfluado, sed ilia solvo estas bazita sur specifa Android-arkitekturo kaj estas nur klasifikita se uzantagoj rezultigas la dividon de personaj informoj aŭ se la subesta aplikiĝo likas uzantdatenojn. La situacio ĉi tie estas iom malsama ĉar uzantdatenoj ankaŭ povas esti tre nestrukturitaj. Tial ni bezonas pli kompleksan teknikon ol fingrospurado.

Fine, por trakti mankon de datumoj por iuj specoj de sentemaj datumoj, ni enkondukis sintezajn datumojn. Ekzistas granda korpo de literaturo pri datenpliigo, ekzemple, la verkintoj en [9] esploris la rolon de bruinjekto dum trejnado kaj observis pozitivajn rezultojn en kontrolita lernado. Nia aliro al privateco estas malsama ĉar enkonduki bruajn datumojn povas esti malutila, kaj ni anstataŭe koncentriĝas pri altkvalitaj sintezaj datumoj.

konkludo

En ĉi tiu artikolo, ni prezentis sistemon kiu povas klasifiki datumon. Ĉi tio permesas al ni krei sistemojn por plenumi politikojn pri privateco kaj sekureco. Ni montris, ke skalebla infrastrukturo, kontinua integriĝo, maŝinlernado kaj altkvalita datuma certigo ludas ŝlosilan rolon en la sukceso de multaj el niaj privatecaj iniciatoj.

Estas multaj direktoj por estonta laboro. Ĉi tio povas inkluzivi havigi subtenon por neskematizitaj datumoj (dosieroj), klasifikante ne nur datumtipon sed ankaŭ sentemnivelon, kaj uzi mem-kontrolitan lernadon dum trejnado generante precizajn sintezajn ekzemplojn. Kiu, siavice, helpos la modelon redukti perdojn je la plej granda kvanto. Estonta laboro ankaŭ povus temigi la enketan laborfluon, kie ni preterpasas detekto kaj provizas analizon pri radika kaŭzo de diversaj privatecmalobservoj. Ĉi tio helpos en kazoj kiel analizo de sentemo (t.e. ĉu la privateca sentemo de datumtipo estas alta (ekz. uzanta IP) aŭ malalta (ekz. Facebook interna IP)).

Bibliografio

  1. David Ben-David, Tamar Domany, kaj Abigail Tarem. Entreprena datuma klasifiko uzante semantikajn retajn teknologiojn. En Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks, kaj Birte Glimm, redaktistoj, La Semantika Reto - ISWC 2010, paĝoj 66–81, Berlino, Hajdelbergo, 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, kaj Sanjeev Kumar. f4: La varma BLOB-stokada sistemo de Facebook. En 11-a USENIX-Simpozio pri Dezajno kaj Efektivigo de Operaciumoj (OSDI 14), paĝoj 383–398, Broomfield, CO, oktobro 2014. Asocio USENIX.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, kaj Jeff Dean. Distribuitaj reprezentadoj de vortoj kaj frazoj kaj ilia komponeco. En C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, kaj K. Q. Weinberger, redaktistoj, Progresoj en Neŭralaj Informaj Pretigaj Sistemoj 26, paĝoj 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe kaj Christian Szegedy. Bata normaligo: Akceli profundan rettrejnadon reduktante internan kunvarian ŝanĝon. En Francis Bach kaj David Blei, redaktistoj, Aktoj de la 32-a Internacia Konferenco pri Maŝina Lernado, volumo 37 de Procedoj de Maŝinlernado-Esplorado, paĝoj 448–456, Lille, Francio, 07–09 jul 2015. PMLR.
  5. Leo Breiman. Hazardaj arbaroj. Mach. Lernu., 45 (1): 5–32, oktobro 2001.
  6. Thair Nu Phyu. Enketo de klasifikaj teknikoj en datenminado.
  7. X. Shu, D. Yao, kaj E. Bertino. Privatec-konserva detekto de sentema datenmalkovro. IEEE-Transakcioj pri Informa Krimmedicino kaj Sekureco, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning, kaj Xiaoyang Wang. Aspektanto: Analizo de sentema transdono de datumoj en Android por detekto de privateco-elfluado. paĝoj 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong, kaj Quoc V. Le. Nekontrolita datuma pliigo.

Skalebla datuma klasifiko por sekureco kaj privateco
Eltrovu detalojn pri kiel akiri serĉatatan profesion de nulo aŭ Level Up laŭ kapabloj kaj salajro prenante interretajn kursojn de SkillFactory:

Pli da kursoj

fonto: www.habr.com

Aldoni komenton