Mērogojama datu klasifikācija droŔībai un privātumam

Mērogojama datu klasifikācija droŔībai un privātumam

Uz saturu balstÄ«ta datu klasifikācija ir atklāta problēma. Tradicionālās datu zudumu novērÅ”anas (DLP) sistēmas atrisina Å”o problēmu, noņemot attiecÄ«gos datus un uzraugot galapunktus pirkstu nospiedumu noņemÅ”anai. Ņemot vērā lielo Facebook pastāvÄ«gi mainÄ«go datu resursu skaitu, Ŕī pieeja ne tikai nav mērogojama, bet arÄ« neefektÄ«va, lai noteiktu, kur dati atrodas. Å ajā rakstā galvenā uzmanÄ«ba pievērsta pilnÄ«gai sistēmai, kas izveidota, lai atklātu sensitÄ«vus semantiskos tipus pakalpojumā Facebook un automātiski nodroÅ”inātu datu glabāŔanu un piekļuves kontroli.

Å eit aprakstÄ«tā pieeja ir mÅ«su pirmā pilnÄ«ga privātuma sistēma, kas mēģina atrisināt Å”o problēmu, iekļaujot datu signālus, maŔīnmācÄ«Å”anos un tradicionālās pirkstu nospiedumu noņemÅ”anas metodes, lai kartētu un klasificētu visus Facebook datus. AprakstÄ«tā sistēma tiek darbināta ražoÅ”anas vidē, sasniedzot vidējo F2 punktu skaitu 0,9+ dažādās privātuma klasēs, vienlaikus apstrādājot lielus datu resursu apjomus desmitiem repozitoriju. IepazÄ«stinām ar Facebook ArXiv dokumenta tulkojumu par mērogojamu datu klasifikāciju droŔībai un privātumam, pamatojoties uz maŔīnmācÄ«Å”anos.

Ievads

MÅ«sdienās organizācijas vāc un glabā lielus datu apjomus dažādos formātos un vietās [1], pēc tam dati tiek patērēti daudzās vietās, dažkārt tiek kopēti vai saglabāti keÅ”atmiņā vairākas reizes, kā rezultātā vērtÄ«ga un sensitÄ«va biznesa informācija tiek izkaisÄ«ta starp daudziem uzņēmuma datiem. veikalos. Kad organizācijai ir jāizpilda noteiktas juridiskas vai reglamentējoÅ”as prasÄ«bas, piemēram, atbilstÄ«ba normatÄ«vajiem aktiem civilprocesā, rodas nepiecieÅ”amÄ«ba apkopot datus par nepiecieÅ”amo datu atraÅ”anās vietu. Ja privātuma noteikumos ir noteikts, ka organizācijai ir jāslēpj visi sociālās apdroÅ”ināŔanas numuri (SSN), kopÄ«gojot personas informāciju ar neautorizētām personām, pirmais dabiskais solis ir meklēt visos SSN organizācijas datu krātuvēs. Šādos apstākļos datu klasifikācija kļūst kritiska [1]. Klasifikācijas sistēma ļaus organizācijām automātiski ieviest privātuma un droŔības politikas, piemēram, iespējot piekļuves kontroles politikas, datu saglabāŔanu. Facebook ievieÅ” sistēmu, ko esam izveidojuÅ”i Facebook un kas izmanto vairākus datu signālus, mērogojamu sistēmas arhitektÅ«ru un maŔīnmācÄ«Å”anos, lai atklātu sensitÄ«vus semantisko datu tipus.

Datu atklāŔana un klasificÄ“Å”ana ir datu atraÅ”anas un marÄ·Ä“Å”anas process, lai vajadzÄ«bas gadÄ«jumā varētu ātri un efektÄ«vi izgÅ«t attiecÄ«go informāciju. PaÅ”reizējais process ir diezgan manuāls, un tas sastāv no attiecÄ«go likumu vai noteikumu izskatÄ«Å”anas, nosakot, kāda veida informācija ir uzskatāma par sensitÄ«vu un kādi ir dažādi jutÄ«guma lÄ«meņi, un pēc tam attiecÄ«gi konstruējot klases un klasifikācijas politikas [1]. Datu zuduma novērÅ”ana (DLP) pēc tam noņem datu pirkstu nospiedumus un izseko pakārtotos galapunktus, lai iegÅ«tu pirkstu nospiedumus. Strādājot ar aktÄ«vu noliktavu ar datu petabaitiem, Ŕī pieeja vienkārÅ”i netiek mērogota.

MÅ«su mērÄ·is ir izveidot datu klasifikācijas sistēmu, kas pielāgota gan stabiliem, gan Ä«slaicÄ«giem lietotāju datiem, bez papildu ierobežojumiem attiecÄ«bā uz datu tipu vai formātu. Tas ir pārdroÅ”s mērÄ·is, un, protams, tas ir saistÄ«ts ar izaicinājumiem. Dotais datu ieraksts var bÅ«t tÅ«kstoÅ”iem rakstzÄ«mju garÅ”.

Mērogojama datu klasifikācija droŔībai un privātumam
1. attēls. TieÅ”saistes un bezsaistes prognozÄ“Å”anas plÅ«smas

Tāpēc mums tas ir efektÄ«vi jāattēlo, izmantojot kopÄ«gu funkciju kopumu, ko vēlāk var apvienot un viegli pārvietot. Å Ä«m funkcijām ir jānodroÅ”ina ne tikai precÄ«za klasifikācija, bet arÄ« elastÄ«ba un paplaÅ”ināmÄ«ba, lai nākotnē varētu viegli pievienot un atklāt jaunus datu tipus. Otrkārt, jums jātiek galā ar lieliem bezsaistes galdiem. IlgstoÅ”us datus var glabāt daudzu petabaitu lielumā tabulās. Tas var izraisÄ«t lēnāku skenÄ“Å”anas ātrumu. TreÅ”kārt, mums ir jāievēro stingra SLA klasifikācija attiecÄ«bā uz nepastāvÄ«giem datiem. Tas liek sistēmai bÅ«t ļoti efektÄ«vai, ātrai un precÄ«zai. Visbeidzot, mums ir jānodroÅ”ina zema latentuma datu klasifikācija nepastāvÄ«giem datiem, lai veiktu klasifikāciju reāllaikā, kā arÄ« interneta lietoÅ”anas gadÄ«jumiem.

Å ajā rakstā ir aprakstÄ«ts, kā mēs risinājām iepriekÅ” minētās problēmas, un ir parādÄ«ta ātra un mērogojama klasifikācijas sistēma, kas klasificē visu veidu, formātu un avotu datu elementus, pamatojoties uz kopÄ«gu funkciju kopu. Mēs paplaÅ”inājām sistēmas arhitektÅ«ru un izveidojām pielāgotu maŔīnmācÄ«Å”anās modeli, lai ātri klasificētu bezsaistes un tieÅ”saistes datus. Å is raksts ir sakārtots Ŕādi: 2. sadaļā ir parādÄ«ts sistēmas vispārējais dizains. 3. sadaļā ir apskatÄ«tas maŔīnmācÄ«Å”anās sistēmas daļas. 4. un 5. sadaļā ir izcelts saistÄ«tais darbs un izklāstÄ«ti turpmākie darba virzieni.

Arhitektūra

Lai risinātu problēmas, kas saistÄ«tas ar pastāvÄ«giem un Facebook mēroga tieÅ”saistes datiem, klasifikācijas sistēmai ir divas atseviŔķas plÅ«smas, kuras mēs detalizēti apspriedÄ«sim.

Ilgtspējīgi dati

Sākotnēji sistēmai ir jāiemācās par Facebook daudzajiem informācijas lÄ«dzekļiem. Par katru repozitoriju tiek apkopota noteikta pamatinformācija, piemēram, datu centrs, kurā ir Å”ie dati, sistēma, kurā ir Å”ie dati, un Ä«paÅ”umi, kas atrodas konkrētajā datu krātuvē. Tādējādi tiek izveidots metadatu katalogs, kas ļauj sistēmai efektÄ«vi izgÅ«t datus, nepārslogojot klientus un citu inženieru izmantotos resursus.

Å is metadatu katalogs nodroÅ”ina autoritatÄ«vu avotu visiem skenētajiem lÄ«dzekļiem un ļauj izsekot dažādu lÄ«dzekļu statusam. Izmantojot Å”o informāciju, plānoÅ”anas prioritāte tiek noteikta, pamatojoties uz savāktajiem datiem un iekŔējo informāciju no sistēmas, piemēram, laiku, kad lÄ«dzeklis pēdējo reizi veiksmÄ«gi skenēts, un laiku, kad tas tika izveidots, kā arÄ« iepriekŔējās atmiņas un CPU prasÄ«bām Å”im Ä«paÅ”umam, ja tas ir iepriekÅ” skenēts. Pēc tam katram datu resursam (kad resursi kļūst pieejami) tiek izsaukts darbs, lai faktiski skenētu resursu.

Katrs darbs ir apkopots binārs fails, kas veic Bernulli izlasi, izmantojot jaunākos pieejamos datus par katru lÄ«dzekli. AktÄ«vs tiek sadalÄ«ts atseviŔķās kolonnās, kur katras kolonnas klasifikācijas rezultāts tiek apstrādāts neatkarÄ«gi. Turklāt sistēma skenē visus piesātinātos datus kolonnās. Tiek skenēti JSON, masÄ«vi, kodētas struktÅ«ras, vietrāži URL, bāzes 64 serializētie dati un daudz kas cits. Tas var ievērojami palielināt skenÄ“Å”anas izpildes laiku, jo vienā tabulā var bÅ«t tÅ«kstoÅ”iem ligzdotu kolonnu json.

Katrai datu lÄ«dzeklÄ« atlasÄ«tajai rindai klasifikācijas sistēma izņem no satura peldoÅ”os un teksta objektus un saista katru objektu atpakaļ ar kolonnu, no kuras tas tika ņemts. LÄ«dzekļu iegÅ«Å”anas soļa izvade ir visu lÄ«dzekļu karte katrai kolonnai, kas atrodama datu lÄ«dzeklÄ«.

Kam domātas zīmes?

AtribÅ«tu jēdziens ir galvenais. Pludināto un teksta pazÄ«mju vietā mēs varam nodot neapstrādātus virkņu paraugus, kas tiek tieÅ”i iegÅ«ti no katra datu resursa. Turklāt maŔīnmācÄ«Å”anās modeļus var apmācÄ«t tieÅ”i katrā paraugā, nevis simtiem funkciju aprēķinu, kas mēģina tikai tuvināt paraugu. Tam ir vairāki iemesli:

  1. Privātums vispirms: vissvarÄ«gākais ir tas, ka funkciju koncepcija ļauj mums saglabāt atmiņā tikai tos modeļus, kurus mēs izgÅ«stam. Tas nodroÅ”ina, ka mēs uzglabājam paraugus vienam mērÄ·im un nekad nereÄ£istrējam tos paÅ”u spēkiem. Tas ir Ä«paÅ”i svarÄ«gi attiecÄ«bā uz nepastāvÄ«giem datiem, jo ā€‹ā€‹pakalpojumam pirms prognozes sniegÅ”anas ir jāuztur noteikts klasifikācijas stāvoklis.
  2. Atmiņa: daži paraugi var bÅ«t tÅ«kstoÅ”iem rakstzÄ«mju gari. Šādu datu glabāŔana un pārsÅ«tÄ«Å”ana uz sistēmas daļām nevajadzÄ«gi patērē daudz papildu baitu. Å ie divi faktori laika gaitā var apvienoties, jo ir daudz datu resursu ar tÅ«kstoÅ”iem kolonnu.
  3. Funkciju apkopoÅ”ana: lÄ«dzekļi skaidri atspoguļo katras skenÄ“Å”anas rezultātus, izmantojot funkciju kopu, ļaujot sistēmai ērtā veidā apvienot viena un tā paÅ”a datu resursa iepriekŔējo skenÄ“Å”anas rezultātus. Tas var bÅ«t noderÄ«gi, lai apkopotu skenÄ“Å”anas rezultātus no viena datu resursa vairākās darbÄ«bās.

Pēc tam lÄ«dzekļi tiek nosÅ«tÄ«ti uz prognozÄ“Å”anas pakalpojumu, kurā mēs izmantojam uz kārtulām balstÄ«tu klasifikāciju un maŔīnmācÄ«Å”anos, lai paredzētu katras kolonnas datu etiÄ·etes. Pakalpojums paļaujas gan uz noteikumu klasifikatoriem, gan uz maŔīnmācÄ«Å”anos un atlasa labāko prognozi, kas sniegta no katra prognozÄ“Å”anas objekta.

Kārtulu klasifikatori ir manuāla heiristika, tie izmanto aprēķinus un koeficientus, lai normalizētu objektu diapazonā no 0 lÄ«dz 100. Kad Ŕāds sākotnējais vērtējums ir Ä£enerēts katram datu veidam un kolonnas nosaukumam, kas saistÄ«ts ar Å”iem datiem, tas netiek iekļauts nevienā "aizliegumā". saraksti" Noteikumu klasifikators atlasa augstāko normalizēto punktu skaitu starp visiem datu veidiem.

Klasifikācijas sarežģītÄ«bas dēļ, paļaujoties tikai uz manuālo heiristiku, klasifikācijas precizitāte ir zema, Ä«paÅ”i nestrukturētiem datiem. Å Ä« iemesla dēļ mēs izstrādājām maŔīnmācÄ«Å”anās sistēmu, lai strādātu ar nestrukturētu datu, piemēram, lietotāja satura un adreses, klasifikāciju. MaŔīnmācÄ«ba ir ļāvusi sākt atteikties no manuālās heiristikas un lietot papildu datu signālus (piemēram, kolonnu nosaukumus, datu izcelsmi), ievērojami uzlabojot noteikÅ”anas precizitāti. Vēlāk mēs iedziļināsimies mÅ«su maŔīnmācÄ«Å”anās arhitektÅ«rā.

Prognožu pakalpojums saglabā katras kolonnas rezultātus, kā arÄ« metadatus par skenÄ“Å”anas laiku un stāvokli. Visi patērētāji un pakārtotie procesi, kas ir atkarÄ«gi no Å”iem datiem, var tos nolasÄ«t no katru dienu publicētās datu kopas. Å ajā komplektā tiek apkopoti visu Å”o skenÄ“Å”anas darbu vai reāllaika datu kataloga API rezultāti. Publicētās prognozes ir pamats privātuma un droŔības politiku automātiskai ievieÅ”anai.

Visbeidzot, pēc tam, kad prognozÄ“Å”anas pakalpojums ir ierakstÄ«jis visus datus un visas prognozes ir saglabātas, mÅ«su datu kataloga API var atgriezt visas resursa datu tipu prognozes reāllaikā. Katru dienu sistēma publicē datu kopu, kurā ir visas jaunākās prognozes katram aktÄ«vam.

Nepastāvīgi dati

Lai gan iepriekÅ” minētais process ir paredzēts noturÄ«giem lÄ«dzekļiem, arÄ« nepastāvÄ«ga datplÅ«sma tiek uzskatÄ«ta par daļu no organizācijas datiem un var bÅ«t svarÄ«ga. Å Ä« iemesla dēļ sistēma nodroÅ”ina tieÅ”saistes API, lai Ä£enerētu reāllaika klasifikācijas prognozes jebkurai periodiskai trafikai. Reāllaika prognozÄ“Å”anas sistēma tiek plaÅ”i izmantota, lai klasificētu izejoÅ”o trafiku, ienākoÅ”o trafiku maŔīnmācÄ«Å”anās modeļos un reklāmdevēju datos.

Å eit API izmanto divus galvenos argumentus: grupÄ“Å”anas atslēgu un paredzamos neapstrādātos datus. Pakalpojums veic to paÅ”u objektu izguvi, kā aprakstÄ«ts iepriekÅ”, un grupē objektus vienai un tai paÅ”ai atslēgai. Å Ä«s funkcijas tiek atbalstÄ«tas arÄ« noturÄ«bas keÅ”atmiņā kļūmju atjaunoÅ”anai. Katrai grupÄ“Å”anas atslēgai pakalpojums nodroÅ”ina, ka tas ir redzējis pietiekami daudz paraugu, pirms zvana prognožu pakalpojumam, ievērojot iepriekÅ” aprakstÄ«to procesu.

Optimizācija

Lai skenētu dažas krātuves, mēs izmantojam bibliotēkas un metodes, lai optimizētu lasÄ«Å”anu no karstās krātuves [2] un nodroÅ”inātu, ka citi lietotāji, piekļūstot tai paÅ”ai krātuvei, netraucē.

ÄŖpaÅ”i lielām tabulām (50+ petabaiti), neskatoties uz visu optimizāciju un atmiņas efektivitāti, sistēma strādā, lai skenētu un aprēķinātu visu, pirms beidzas atmiņa. Galu galā skenÄ“Å”ana tiek pilnÄ«bā aprēķināta atmiņā un netiek saglabāta skenÄ“Å”anas laikā. Ja lielās tabulās ir tÅ«kstoÅ”iem kolonnu ar nestrukturētām datu kopām, darbs var neizdoties nepietiekama atmiņas resursu dēļ, veicot prognozes visai tabulai. Tā rezultātā pārklājums samazināsies. Lai to novērstu, mēs optimizējām sistēmu, lai izmantotu skenÄ“Å”anas ātrumu kā starpniekserveri, lai noteiktu, cik labi sistēma apstrādā paÅ”reizējo darba slodzi. Mēs izmantojam ātrumu kā prognozÄ“Å”anas mehānismu, lai redzētu atmiņas problēmas un prognozētu funkciju karti. Tajā paŔā laikā mēs izmantojam mazāk datu nekā parasti.

Datu signāli

Klasifikācijas sistēma ir tik laba, cik signāli no datiem. Šeit mēs apskatīsim visus klasifikācijas sistēmas izmantotos signālus.

  • Pamatojoties uz saturu: Protams, pirmais un vissvarÄ«gākais signāls ir saturs. Bernulli paraugu ņemÅ”ana tiek veikta katram datu Ä«paÅ”umam, kuru mēs skenējam, un izvelk lÄ«dzekļus, pamatojoties uz datu saturu. Daudzas pazÄ«mes izriet no satura. Ir iespējams jebkurÅ” peldoÅ”u objektu skaits, kas atspoguļo aprēķinus par to, cik reižu konkrēts parauga veids ir redzēts. Piemēram, mums var bÅ«t pazÄ«mes, kas norāda uz paraugā redzēto e-pasta ziņojumu skaitu vai paraugā redzamo emocijzÄ«mju skaitu. Å os funkciju aprēķinus var normalizēt un apkopot dažādās skenēs.
  • Datu izcelsme: svarÄ«gs signāls, kas var palÄ«dzēt, ja saturs ir mainÄ«jies no vecāktabulas. IzplatÄ«ts piemērs ir jauktie dati. Kad dati pakārtotajā tabulā ir jaukti, tie bieži nāk no vecāktabulas, kur tie paliek tÄ«rā veidā. LÄ«nijas dati palÄ«dz klasificēt noteiktus datu veidus, ja tie nav skaidri nolasāmi vai tiek konvertēti no iepriekŔējās tabulas.
  • Anotācijas: vēl viens augstas kvalitātes signāls, kas palÄ«dz identificēt nestrukturētus datus. Faktiski anotācijas un izcelsmes dati var darboties kopā, lai izplatÄ«tu atribÅ«tus dažādos datu aktÄ«vos. Anotācijas palÄ«dz identificēt nestrukturētu datu avotu, savukārt ciltsrakstu dati var palÄ«dzēt izsekot Å”o datu plÅ«smai visā repozitorijā.
  • Datu ievadÄ«Å”ana ir paņēmiens, kurā Ä«paÅ”as, nelasāmas rakstzÄ«mes tiek apzināti ievadÄ«tas zināmos zināmo datu tipu avotos. Tad ikreiz, kad skenējam saturu ar tādu paÅ”u nelasāmu rakstzÄ«mju secÄ«bu, mēs varam secināt, ka saturs nāk no Ŕī zināmā datu veida. Å is ir vēl viens kvalitatÄ«vu datu signāls, kas lÄ«dzÄ«gs anotācijām. Izņemot to, ka satura noteikÅ”ana palÄ«dz atklāt ievadÄ«tos datus.

MērÄ«Å”anas metrika

SvarÄ«ga sastāvdaļa ir stingra metrikas mērÄ«Å”anas metodika. Klasifikācijas uzlaboÅ”anas iterācijas galvenie rādÄ«tāji ir katras etiÄ·etes precizitāte un atsaukÅ”ana, un F2 rezultāts ir vissvarÄ«gākais.

Lai aprēķinātu Å”os rādÄ«tājus, ir nepiecieÅ”ama neatkarÄ«ga datu lÄ«dzekļu marÄ·Ä“Å”anas metodika, kas ir neatkarÄ«ga no paÅ”as sistēmas, bet kuru var izmantot tieÅ”ai salÄ«dzināŔanai ar to. Tālāk mēs aprakstām, kā mēs savācam patiesÄ«bu no Facebook un izmantojam to, lai apmācÄ«tu mÅ«su klasifikācijas sistēmu.

Uzticamu datu vākŔana

Mēs apkopojam uzticamus datus no katra tālāk norādÄ«tā avota atseviŔķā tabulā. Katra tabula ir atbildÄ«ga par jaunāko novēroto vērtÄ«bu apkopoÅ”anu no konkrētā avota. Katram avotam ir datu kvalitātes pārbaudes, lai nodroÅ”inātu, ka katra avota novērotās vērtÄ«bas ir augstas kvalitātes un satur jaunākās datu tipu etiÄ·etes.

  • ReÄ£istrācijas platformas konfigurācijas: noteikti lauki stropu tabulās ir aizpildÄ«ti ar noteikta veida datiem. Å o datu izmantoÅ”ana un izplatÄ«Å”ana kalpo kā uzticams patiesÄ«bas avots.
  • Manuāla marÄ·Ä“Å”ana: izstrādātāji, kas uztur sistēmu, kā arÄ« ārējie marķētāji ir apmācÄ«ti marķēt kolonnas. Tas parasti labi darbojas visu veidu datiem noliktavā un var bÅ«t galvenais patiesÄ«bas avots dažiem nestrukturētiem datiem, piemēram, ziņojumu datiem vai lietotāja saturam.
  • Kolonnas no vecāktabulām var atzÄ«mēt vai anotēt kā tādas, kas satur noteiktus datus, un mēs varam izsekot Å”iem datiem pakārtotajās tabulās.
  • Izpildes pavedienu ieneÅ”ana: Facebook izpildes pavedieni satur noteikta veida datus. Izmantojot mÅ«su skeneri kā pakalpojumu arhitektÅ«ru, mēs varam paraugus straumēm, kurām ir zināmi datu tipi, un nosÅ«tÄ«t tās caur sistēmu. Sistēma sola Å”os datus nesaglabāt.
  • Tabulu paraugi: lielas stropu tabulas, kurās, kā zināms, satur visu datu korpusu, var izmantot arÄ« kā apmācÄ«bas datus un nodot caur skeneri kā pakalpojumu. Tas ir lieliski piemērots tabulām ar pilnu datu tipu klāstu, lai izlases veida kolonnas izlase bÅ«tu lÄ«dzvērtÄ«ga visas Ŕī datu veida kopas izlasei.
  • Sintētiskie dati: mēs pat varam izmantot bibliotēkas, kas Ä£enerē datus lidojuma laikā. Tas labi darbojas vienkārÅ”iem, publiskiem datu veidiem, piemēram, adresei vai GPS.
  • Datu pārvaldnieki: privātuma programmas parasti izmanto datu pārvaldniekus, lai manuāli pieŔķirtu politikas datu vienÄ«bām. Tas kalpo kā ļoti precÄ«zs patiesÄ«bas avots.

Mēs apvienojam visus galvenos patiesÄ«bas avotus vienā korpusā ar visiem Å”iem datiem. Lielākais izaicinājums attiecÄ«bā uz derÄ«gumu ir nodroÅ”ināt, lai tas atbilstu datu noliktavai. Pretējā gadÄ«jumā klasifikācijas dzinēji var pārtrenēties. Lai to novērstu, tiek izmantoti visi iepriekÅ” minētie avoti, lai nodroÅ”inātu lÄ«dzsvaru, apmācot modeļus vai aprēķinot metriku. Turklāt cilvēku marķētāji vienmērÄ«gi ņem paraugus no dažādām kolonnām repozitorijā un attiecÄ«gi marķē datus, lai pamata patiesÄ«bas apkopojums paliktu objektÄ«vs.

Nepārtraukta integrācija

Lai nodroÅ”inātu ātru iterāciju un uzlaboÅ”anu, ir svarÄ«gi vienmēr mērÄ«t sistēmas veiktspēju reāllaikā. Mēs varam novērtēt katru klasifikācijas uzlabojumu, salÄ«dzinot ar sistēmu Å”odien, lai mēs varētu taktiski vadÄ«t turpmākos uzlabojumus, pamatojoties uz datiem. Å eit mēs aplÅ«kojam, kā sistēma pabeidz atgriezeniskās saites cilpu, ko nodroÅ”ina derÄ«gi dati.

Kad plānoÅ”anas sistēma saskaras ar lÄ«dzekli, kuram ir uzticama avota iezÄ«me, mēs ieplānojam divus uzdevumus. Pirmais izmanto mÅ«su ražoÅ”anas skeneri un lÄ«dz ar to arÄ« mÅ«su ražoÅ”anas iespējas. Otrajā uzdevumā tiek izmantots jaunākās versijas skeneris ar jaunākajām funkcijām. Katrs uzdevums ieraksta savu izvadi savā tabulā, atzÄ«mējot versijas kopā ar klasifikācijas rezultātiem.

Tādā veidā mēs salÄ«dzinām izlaiduma kandidāta un ražoÅ”anas modeļa klasifikācijas rezultātus reāllaikā.

Kamēr datu kopās tiek salÄ«dzinātas RC un PROD funkcijas, tiek reÄ£istrētas daudzas prognozÄ“Å”anas pakalpojuma ML klasifikācijas dzinēja variācijas. Pēdējais izveidotais maŔīnmācÄ«Å”anās modelis, paÅ”reizējais ražoÅ”anas modelis un visi eksperimentālie modeļi. Tāda pati pieeja ļauj mums ā€œsagrieztā€ dažādas modeļa versijas (agnostiÄ·i mÅ«su noteikumu klasifikatoriem) un salÄ«dzināt metriku reāllaikā. Tādējādi ir viegli noteikt, kad ML eksperiments ir gatavs ražoÅ”anai.

Katru nakti Å”ai dienai aprēķinātās RC funkcijas tiek nosÅ«tÄ«tas uz ML apmācÄ«bas cauruļvadu, kur modelis tiek apmācÄ«ts par jaunākajām RC funkcijām un novērtē tā veiktspēju, salÄ«dzinot ar pamata patiesÄ«bas datu kopu.

Katru rītu modelis pabeidz apmācību un tiek automātiski publicēts kā eksperimentāls modelis. Tas tiek automātiski iekļauts eksperimentālajā sarakstā.

Daži rezultāti

Vairāk nekā 100 dažādu veidu dati ir marķēti ar augstu precizitāti. Labi strukturēti veidi, piemēram, e-pasta adreses un tālruņu numuri, tiek klasificēti ar f2 punktu skaitu, kas pārsniedz 0,95. Bezmaksas datu veidi, piemēram, lietotāju ģenerēts saturs un nosaukums, arī darbojas ļoti labi, un F2 rādītāji ir lielāki par 0,85.

Katru dienu visos krātuvēs tiek klasificēts liels skaits atseviŔķu noturÄ«gu un nepastāvÄ«gu datu kolonnu. Vairāk nekā 500 terabaiti katru dienu tiek skenēti vairāk nekā 10 datu noliktavās. Lielākajai daļai Å”o krātuvju pārklājums pārsniedz 98%.

Laika gaitā klasifikācija ir kļuvusi ļoti efektÄ«va, un klasificÄ“Å”anas uzdevumi ilgstoŔā bezsaistes straumē aizņem vidēji 35 sekundes no lÄ«dzekļa skenÄ“Å”anas lÄ«dz prognozes aprēķināŔanai katrai kolonnai.

Mērogojama datu klasifikācija droŔībai un privātumam
Rīsi. 2. Diagramma, kas apraksta nepārtrauktas integrācijas plūsmu, lai saprastu, kā RC objekti tiek ģenerēti un nosūtīti uz modeli.

Mērogojama datu klasifikācija droŔībai un privātumam
3. attēls. MaŔīnmācÄ«Å”anās komponenta augsta lÄ«meņa diagramma.

MaŔīnmācÄ«Å”anās sistēmas sastāvdaļa

IepriekŔējā sadaļā mēs dziļi iedziļinājāmies vispārējā sistēmas arhitektÅ«rā, izceļot mērogu, optimizāciju un bezsaistes un tieÅ”saistes datu plÅ«smas. Å ajā sadaļā mēs apskatÄ«sim prognozÄ“Å”anas pakalpojumu un aprakstÄ«sim maŔīnmācÄ«Å”anās sistēmu, kas nodroÅ”ina prognozÄ“Å”anas pakalpojumu.

Izmantojot vairāk nekā 100 datu veidus un dažus nestrukturētus saturu, piemēram, ziņojumu datus un lietotāja saturu, tikai manuālas heiristikas izmantoÅ”ana nodroÅ”ina apakÅ”parametriskas klasifikācijas precizitāti, Ä«paÅ”i nestrukturētiem datiem. Å Ä« iemesla dēļ mēs esam izstrādājuÅ”i arÄ« maŔīnmācÄ«Å”anās sistēmu, lai risinātu nestrukturētu datu sarežģījumus. Izmantojot maŔīnmācÄ«Å”anos, varat sākt atteikties no manuālās heiristikas un strādāt ar lÄ«dzekļiem un papildu datu signāliem (piemēram, kolonnu nosaukumiem, datu izcelsmi), lai uzlabotu precizitāti.

Ieviestais modelis atseviŔķi pēta vektoru attēlojumus [3] pār blÄ«viem un retiem objektiem. Pēc tam tie tiek apvienoti, veidojot vektoru, kas iziet sērijveida normalizācijas [4] un nelinearitātes soļu sēriju, lai iegÅ«tu gala rezultātu. Gala rezultāts ir peldoŔā komata skaitlis no [0-1] katrai etiÄ·etei, kas norāda uz varbÅ«tÄ«bu, ka piemērs pieder Å”im jutÄ«guma veidam. PyTorch izmantoÅ”ana modelim ļāva mums pārvietoties ātrāk, ļaujot izstrādātājiem ārpus komandas ātri veikt un pārbaudÄ«t izmaiņas.

Projektējot arhitektÅ«ru, bija svarÄ«gi atseviŔķi modelēt retus (piem., tekstu) un blÄ«vus (piem., skaitliskus) objektus tiem piemÄ«toÅ”o atŔķirÄ«bu dēļ. GalÄ«gajai arhitektÅ«rai bija svarÄ«gi arÄ« veikt parametru slaucÄ«Å”anu, lai atrastu optimālo vērtÄ«bu mācÄ«Å”anās ātrumam, partijas lielumam un citiem hiperparametriem. Optimizētāja izvēle bija arÄ« svarÄ«gs hiperparametrs. Mēs atklājām, ka populārs optimizētājs Adamnereti noved pie pārmērÄ«bas, savukārt modelis ar SGD stabilāks. Bija papildu nianses, kas mums bija jāiekļauj tieÅ”i modelÄ«. Piemēram, statiski noteikumi, kas nodroÅ”ināja, ka modelis veic deterministisku prognozi, ja objektam ir noteikta vērtÄ«ba. Å os statiskos noteikumus nosaka mÅ«su klienti. Mēs noskaidrojām, ka, tos iekļaujot tieÅ”i modelÄ«, tika iegÅ«ta autonomāka un stabilāka arhitektÅ«ra, nevis pēcapstrādes darbÄ«ba, lai apstrādātu Å”os Ä«paÅ”os malas gadÄ«jumus. Ņemiet vērā arÄ« to, ka Å”ie noteikumi treniņu laikā ir atspējoti, lai netraucētu slÄ«puma nolaiÅ”anās apmācÄ«bas procesu.

Problēmas

Viens no izaicinājumiem bija augstas kvalitātes, uzticamu datu vākÅ”ana. Modelim ir nepiecieÅ”ama pārliecÄ«ba katrai klasei, lai tā varētu apgÅ«t asociācijas starp objektiem un etiÄ·etēm. IepriekŔējā sadaļā mēs apspriedām datu vākÅ”anas metodes gan sistēmas mērÄ«Å”anai, gan modeļu apmācÄ«bai. AnalÄ«ze parādÄ«ja, ka datu klases, piemēram, kredÄ«tkarÅ”u un bankas kontu numuri, mÅ«su noliktavā nav Ä«paÅ”i izplatÄ«tas. Tas apgrÅ«tina liela apjoma uzticamu datu apkopoÅ”anu modeļu apmācÄ«Å”anai. Lai risinātu Å”o problēmu, esam izstrādājuÅ”i procesus sintētisko pamatpatiesÄ«bas datu iegÅ«Å”anai Ŕīm klasēm. Mēs Ä£enerējam Ŕādus datus sensitÄ«viem veidiem, tostarp SSN, kredÄ«tkarÅ”u numuri Šø IBAN-skaitļi, kurus modelis iepriekÅ” nevarēja paredzēt. Å Ä« pieeja ļauj apstrādāt sensitÄ«vus datu tipus bez privātuma riskiem, kas saistÄ«ti ar faktisko sensitÄ«vo datu slēpÅ”anu.

Papildus pamata patiesÄ«bas jautājumiem ir atklāti arhitektÅ«ras jautājumi, pie kuriem mēs strādājam, piemēram mainÄ«t izolāciju Šø agrā apstāŔanās. Izmaiņu izolācija ir svarÄ«ga, lai nodroÅ”inātu, ka tad, kad dažādās tÄ«kla daļās tiek veiktas dažādas izmaiņas, ietekme tiek izolēta uz konkrētām klasēm un tai nav plaÅ”as ietekmes uz kopējo prognozÄ“Å”anas veiktspēju. AgrÄ«nas apstāŔanās kritēriju uzlaboÅ”ana ir arÄ« ļoti svarÄ«ga, lai mēs varētu apturēt treniņu procesu stabilā punktā visām nodarbÄ«bām, nevis vietā, kur dažas nodarbÄ«bas pārtrenējas, bet citas ne.

Funkcijas nozīme

Kad modelÄ« tiek ieviesta jauna funkcija, mēs vēlamies uzzināt tās kopējo ietekmi uz modeli. Mēs arÄ« vēlamies pārliecināties, ka prognozes ir cilvēkiem saprotamas, lai mēs varētu precÄ«zi saprast, kādas funkcijas tiek izmantotas katram datu veidam. Å im nolÅ«kam esam izstrādājuÅ”i un ieviesuÅ”i pēc klases funkciju nozÄ«me PyTorch modelÄ«. Ņemiet vērā, ka tas atŔķiras no vispārējās funkcijas svarÄ«guma, kas parasti tiek atbalstÄ«ts, jo tas nenorāda, kuras funkcijas ir svarÄ«gas konkrētai klasei. Mēs izmērām objekta svarÄ«gumu, aprēķinot prognozÄ“Å”anas kļūdas pieaugumu pēc objekta pārkārtoÅ”anas. Funkcija ir ā€œsvarÄ«gaā€, ja vērtÄ«bu maiņa palielina modeļa kļūdu, jo Å”ajā gadÄ«jumā modelis paļāvās uz lÄ«dzekli, lai veiktu tās prognozi. Funkcija ir ā€œnesvarÄ«gaā€, ja, sajaucot tās vērtÄ«bas, modeļa kļūda netiek mainÄ«ta, jo Å”ajā gadÄ«jumā modelis to ignorēja [5].

Funkcijas nozīmīgums katrai klasei ļauj mums padarīt modeli interpretējamu, lai mēs varētu redzēt, uz ko modelis skatās, prognozējot etiķeti. Piemēram, kad mēs analizējam ADDR, tad garantējam, ka ar adresi saistītā zīme, piemēram, AddressLinesCount, ieņem augstu vietu katras klases funkciju svarīguma tabulā, lai mūsu cilvēciskā intuīcija labi saskanētu ar modeļa apgūto.

Novērtējums

Ir svarÄ«gi definēt vienu panākumu metriku. Mēs izvēlējāmies F2 - lÄ«dzsvars starp atsaukÅ”anu un precizitāti (atgādināŔanas novirze ir nedaudz lielāka). Privātuma izmantoÅ”anas gadÄ«jumā atsaukÅ”ana ir svarÄ«gāka nekā precizitāte, jo komandai ir ļoti svarÄ«gi nepalaist garām nekādus sensitÄ«vus datus (vienlaikus nodroÅ”inot saprātÄ«gu precizitāti). MÅ«su modeļa faktiskais F2 veiktspējas novērtējums ir ārpus Ŕī raksta darbÄ«bas jomas. Tomēr ar rÅ«pÄ«gu regulÄ“Å”anu mēs varam sasniegt augstus (0,9+) F2 rādÄ«tājus vissvarÄ«gākajām jutÄ«gajām klasēm.

Saistīts darbs

Ir daudz algoritmu nestrukturētu dokumentu automātiskai klasifikācijai, izmantojot dažādas metodes, piemēram, modeļu saskaņoÅ”anu, dokumentu lÄ«dzÄ«bas meklÄ“Å”anu un dažādas maŔīnmācÄ«Å”anās metodes (Bayesian, lēmumu koki, k-tuvākie kaimiņi un daudzas citas) [6]. Jebkuru no tiem var izmantot kā daļu no klasifikācijas. Tomēr problēma ir mērogojamÄ«ba. Klasifikācijas pieeja Å”ajā rakstā ir orientēta uz elastÄ«bu un veiktspēju. Tas ļauj mums turpmāk atbalstÄ«t jaunas klases un saglabāt zemu latentumu.

Ir arÄ« daudz darba pie datu pirkstu nospiedumu noņemÅ”anas. Piemēram, [7] autori aprakstÄ«ja risinājumu, kas koncentrējas uz sensitÄ«vu datu noplÅ«des uztverÅ”anas problēmu. Pamatā tiek pieņemts, ka datiem var noņemt pirkstu nospiedumus, lai tie atbilstu zināmu sensitÄ«vu datu kopai. Autori [8] apraksta lÄ«dzÄ«gu privātuma noplÅ«des problēmu, taču to risinājums ir balstÄ«ts uz Ä«paÅ”u Android arhitektÅ«ru un tiek klasificēts tikai tad, ja lietotāja darbÄ«bu rezultātā tiek kopÄ«gota personiskā informācija vai ja pamatā esoŔā lietojumprogramma nopludina lietotāja datus. Situācija Å”eit ir nedaudz atŔķirÄ«ga, jo lietotāja dati var bÅ«t arÄ« ļoti nestrukturēti. Tāpēc mums ir nepiecieÅ”ama sarežģītāka tehnika nekā pirkstu nospiedumu noņemÅ”ana.

Visbeidzot, lai novērstu datu trÅ«kumu dažu veidu sensitÄ«viem datiem, mēs ieviesām sintētiskos datus. Ir daudz literatÅ«ras par datu palielināŔanu, piemēram, [9] autori pētÄ«ja trokŔņa injekcijas lomu apmācÄ«bas laikā un novēroja pozitÄ«vus rezultātus uzraudzÄ«tā mācÄ«bā. MÅ«su pieeja privātumam ir atŔķirÄ«ga, jo trokŔņainu datu ievieÅ”ana var bÅ«t neproduktÄ«va, un tā vietā mēs koncentrējamies uz augstas kvalitātes sintētiskiem datiem.

Secinājums

Å ajā rakstā mēs iepazÄ«stinājām ar sistēmu, kas var klasificēt datu daļu. Tas ļauj mums izveidot sistēmas, lai Ä«stenotu privātuma un droŔības politikas. Mēs esam parādÄ«juÅ”i, ka mērogojamai infrastruktÅ«rai, nepārtrauktai integrācijai, maŔīnmācÄ«bai un augstas kvalitātes datu nodroÅ”ināŔanai ir galvenā loma daudzu mÅ«su privātuma iniciatÄ«vu panākumos.

Ir daudz virzienu turpmākajam darbam. Tas var ietvert atbalsta nodroÅ”ināŔanu neshēmotiem datiem (failiem), ne tikai datu veida, bet arÄ« jutÄ«guma lÄ«meņa klasificÄ“Å”anu un paÅ”pārraudzÄ«tas mācÄ«Å”anās izmantoÅ”anu apmācÄ«bas laikā, Ä£enerējot precÄ«zus sintētiskos piemērus. Kas, savukārt, palÄ«dzēs modelim samazināt zaudējumus par lielāko summu. Turpmākais darbs varētu bÅ«t vērsts arÄ« uz izmeklÄ“Å”anas darbplÅ«smu, kurā mēs pārsniedzam atklāŔanu un sniedzam dažādu privātuma pārkāpumu pamatcēloņu analÄ«zi. Tas palÄ«dzēs tādos gadÄ«jumos kā jutÄ«guma analÄ«ze (t.i., vai datu veida konfidencialitātes jutÄ«gums ir augsts (piemēram, lietotāja IP) vai zems (piemēram, Facebook iekŔējais IP)).

Bibliogrāfija

  1. Deivids Ben-David, Tamar Domany un Abigail Tarem. Uzņēmuma datu klasifikācija, izmantojot semantiskās tÄ«mekļa tehnoloÄ£ijas. PÄ«ters F. Ć Patels-Å neiders, Jue Pans, Paskāls Hiclers, PÄ«ters Mika, Lei Džans, Džefs Z. Pans, Ians Horokss un Birte Glimma, redaktori, Semantiskais tÄ«meklis ā€” ISWC 2010, 66.ā€“81. lpp., Berlin, 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 un Sanjeev Kumar. f4: Facebook siltā BLOB uzglabāŔanas sistēma. In 11. USENIX simpozijs par operētājsistēmu dizainu un ievieÅ”anu (OSDI 14), 383.ā€“398. lpp., Broomfield, CO, 2014. gada oktobris. USENIX asociācija.
  3. Tomass Mikolovs, Iļja Suckevers, Kajs Čens, Gregs S Korrado un Džefs DÄ«ns. IzplatÄ«tie vārdu un frāžu attēlojumi un to kompozÄ«cija. C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani un K. Q. Weinberger, redaktori, Neironu informācijas apstrādes sistēmu attÄ«stÄ«ba 26, 3111.ā€“3119. lpp. Curran Associates, Inc., 2013. gads.
  4. Sergejs Jofs un Kristians Szegedijs. PakeÅ”u normalizācija: paātrina dziļo tÄ«kla apmācÄ«bu, samazinot iekŔējo kovariātu nobÄ«di. Fransiss Bahs un Deivids Blei, redaktori, 32. starptautiskās maŔīnmācÄ«bas konferences materiāli, 37. sējums no MaŔīnmācÄ«Å”anās pētÄ«jumu materiāli, 448.ā€“456. lpp., Lille, Francija, 07.ā€“09. jÅ«lijs 2015. PMLR.
  5. Leo Breimanis. NejauÅ”i meži. Mačs. Uzziniet., 45(1):5ā€“32, 2001. gada oktobris.
  6. Tair Nu Phyu. Klasifikācijas metožu apsekojums datu ieguvē.
  7. X. Å u, D. Jao un E. Bertino. SensitÄ«vu datu atklāŔana, saglabājot konfidencialitāti. IEEE darÄ«jumi informācijas kriminālistikas un droŔības jomā, 10(5):1092ā€“1103, 2015.
  8. Džemins Jaņs, Mins Jaņs, Juaņs Džans, Guofei Gu, Pens Nins un Sjaojans Vans. Iesniedzējs: sensitÄ«vu datu pārraides analÄ«ze operētājsistēmā Android, lai noteiktu privātuma noplÅ«des. 1043.ā€“1054. lpp., 11. gada 2013. lpp.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong un Quoc V. Le. Neuzraudzīta datu palielināŔana.

Mērogojama datu klasifikācija droŔībai un privātumam
ApgÅ«stot SkillFactory tieÅ”saistes kursus, uzziniet sÄ«kāku informāciju par to, kā iegÅ«t pieprasÄ«tu profesiju no nulles vai iegÅ«t augstāku lÄ«meni prasmju un atalgojuma ziņā:

Vairāk kursu

Avots: www.habr.com

Pievieno komentāru