Škálovateľná klasifikácia údajov pre bezpečnosť a súkromie

Škálovateľná klasifikácia údajov pre bezpečnosť a súkromie

Klasifikácia údajov podľa obsahu je otvorený problém. Tradičné systémy na prevenciu straty údajov (DLP) riešia tento problém odoberaním odtlačkov príslušných údajov a monitorovaním koncových bodov pre snímanie odtlačkov prstov. Vzhľadom na veľké množstvo neustále sa meniacich dátových zdrojov na Facebooku nie je tento prístup nielen škálovateľný, ale aj neúčinný na určenie miesta, kde sa dáta nachádzajú. Tento dokument sa zameriava na komplexný systém vytvorený na zisťovanie citlivých sémantických typov na Facebooku vo veľkom rozsahu a automatické vynucovanie ukladania údajov a riadenia prístupu.

Tu opísaný prístup je náš prvý komplexný systém ochrany osobných údajov, ktorý sa pokúša vyriešiť tento problém začlenením dátových signálov, strojového učenia a tradičných techník snímania odtlačkov prstov na mapovanie a klasifikáciu všetkých údajov na Facebooku. Opísaný systém je prevádzkovaný v produkčnom prostredí a dosahuje priemerné skóre F2 0,9+ naprieč rôznymi triedami ochrany osobných údajov pri spracovaní veľkého množstva dátových zdrojov naprieč desiatkami úložísk. Predstavujeme preklad článku ArXiv od Facebooku o škálovateľnej klasifikácii údajov pre bezpečnosť a súkromie na základe strojového učenia.

Úvod

V súčasnosti organizácie zhromažďujú a ukladajú veľké množstvo údajov v rôznych formátoch a na rôznych miestach [1], potom sa údaje spotrebúvajú na mnohých miestach, niekedy sa viackrát skopírujú alebo ukladajú do vyrovnávacej pamäte, čo vedie k rozptýleniu cenných a citlivých obchodných informácií v mnohých podnikových údajoch. obchodoch. Keď sa od organizácie vyžaduje, aby splnila určité zákonné alebo regulačné požiadavky, ako napríklad dodržiavanie predpisov v občianskoprávnych konaniach, je potrebné zbierať údaje o umiestnení požadovaných údajov. Keď sa v nariadení o ochrane osobných údajov uvádza, že organizácia musí pri zdieľaní osobných údajov s neoprávnenými subjektmi zamaskovať všetky čísla sociálneho zabezpečenia (SSN), prirodzeným prvým krokom je vyhľadať všetky čísla SSN v dátových skladoch organizácie. Za takýchto okolností sa klasifikácia údajov stáva kritickou [1]. Klasifikačný systém umožní organizáciám automaticky presadzovať zásady ochrany osobných údajov a bezpečnosti, ako je umožnenie zásad riadenia prístupu, uchovávanie údajov. Facebook predstavuje systém, ktorý sme vytvorili na Facebooku a ktorý využíva viaceré dátové signály, škálovateľnú systémovú architektúru a strojové učenie na objavovanie citlivých sémantických dátových typov.

Zisťovanie a klasifikácia údajov je proces vyhľadávania a označovania údajov, aby bolo možné v prípade potreby rýchlo a efektívne vyhľadať relevantné informácie. Súčasný proces má skôr manuálny charakter a pozostáva z preskúmania príslušných zákonov alebo nariadení, z určenia, aké typy informácií by sa mali považovať za citlivé a aké sú rôzne úrovne citlivosti, a z následnej konštrukcie tried a klasifikačných politík [1]. Prevencia straty údajov (DLP) potom odoberie údaje a monitoruje koncové body v smere toku, aby získal odtlačky prstov. Pri riešení skladu s množstvom aktív s petabajtmi údajov sa tento prístup jednoducho neškáluje.

Naším cieľom je vybudovať systém klasifikácie údajov, ktorý sa škáluje na robustné aj prechodné používateľské údaje bez akýchkoľvek ďalších obmedzení typu alebo formátu údajov. Je to odvážny cieľ a prirodzene prichádza s výzvami. Daný dátový záznam môže mať tisíce znakov.

Škálovateľná klasifikácia údajov pre bezpečnosť a súkromie
Obrázok 1. Online a offline predpovedné toky

Preto ho musíme efektívne reprezentovať pomocou spoločnej sady funkcií, ktoré možno neskôr kombinovať a ľahko presúvať. Tieto funkcie by mali poskytovať nielen presnú klasifikáciu, ale aj flexibilitu a rozšíriteľnosť na jednoduché pridávanie a objavovanie nových typov údajov v budúcnosti. Po druhé, musíte sa vysporiadať s veľkými offline tabuľkami. Odolné údaje môžu byť uložené v tabuľkách s veľkosťou mnohých petabajtov. Výsledkom môže byť nižšia rýchlosť skenovania. Po tretie, musíme dodržiavať prísnu klasifikáciu SLA pre nestále údaje. To núti systém byť vysoko efektívny, rýchly a presný. Nakoniec musíme poskytnúť klasifikáciu údajov s nízkou latenciou pre nestále údaje na vykonanie klasifikácie v reálnom čase, ako aj pre prípady použitia internetu.

Tento článok popisuje, ako sme sa vysporiadali s vyššie uvedenými výzvami, a predstavuje rýchly a škálovateľný klasifikačný systém, ktorý klasifikuje dátové prvky všetkých typov, formátov a zdrojov na základe spoločného súboru funkcií. Rozšírili sme architektúru systému a vytvorili vlastný model strojového učenia na rýchlu klasifikáciu offline a online údajov. Tento dokument je usporiadaný takto: Časť 2 predstavuje celkový návrh systému. Časť 3 sa zaoberá časťami systému strojového učenia. Časti 4 a 5 zdôrazňujú súvisiacu prácu a načrtávajú budúce smerovanie práce.

architektúra

Aby sme sa vyrovnali s výzvami pretrvávajúcich online údajov na úrovni Facebooku, klasifikačný systém má dva samostatné prúdy, o ktorých budeme podrobne diskutovať.

Udržateľné údaje

Spočiatku sa systém musí dozvedieť o mnohých informačných aktívach Facebooku. Pre každé úložisko sa zhromažďujú niektoré základné informácie, ako napríklad údajové centrum obsahujúce tieto údaje, systém obsahujúci tieto údaje a aktíva umiestnené v špecifickom úložisku údajov. To vytvára katalóg metadát, ktorý umožňuje systému efektívne získavať údaje bez preťaženia klientov a zdrojov používaných inými inžiniermi.

Tento katalóg metadát poskytuje autoritatívny zdroj pre všetky naskenované aktíva a umožňuje vám sledovať stav rôznych aktív. Pomocou týchto informácií je stanovená priorita plánovania na základe zhromaždených údajov a interných informácií zo systému, ako je čas, kedy bolo aktívum naposledy úspešne naskenované a kedy bolo vytvorené, ako aj minulé požiadavky na pamäť a CPU pre dané aktívum, ak už to bolo naskenované. Potom sa pre každý zdroj údajov (keď sa zdroje sprístupnia) zavolá úloha na skutočné skenovanie zdroja.

Každá úloha je skompilovaný binárny súbor, ktorý vykonáva Bernoulliho vzorkovanie na najnovších údajoch dostupných pre každé aktívum. Majetok je rozdelený do jednotlivých stĺpcov, kde je výsledok klasifikácie každého stĺpca spracovaný samostatne. Okrem toho systém vyhľadá všetky nasýtené údaje v stĺpcoch. Skenuje sa JSON, polia, kódované štruktúry, adresy URL, serializované údaje so základňou 64 a ďalšie. To môže výrazne predĺžiť čas vykonania skenovania, pretože jedna tabuľka môže obsahovať tisíce vnorených stĺpcov v blobe json.

Pre každý riadok, ktorý je vybratý v dátovom aktíve, klasifikačný systém extrahuje objekty typu float a text z obsahu a priradí každý objekt späť k stĺpcu, z ktorého bol prevzatý. Výstupom kroku extrakcie prvkov je mapa všetkých prvkov pre každý stĺpec nájdený v dátovom aktíve.

Na čo slúžia znaky?

Kľúčový je koncept atribútov. Namiesto float a textových vlastností môžeme odovzdať surové reťazcové vzorky, ktoré sú priamo extrahované z každého zdroja údajov. Modely strojového učenia sa navyše dajú trénovať priamo na každej vzorke, a nie na stovkách výpočtov funkcií, ktoré sa pokúšajú len aproximovať vzorku. Existuje na to niekoľko dôvodov:

  1. Súkromie na prvom mieste: Najdôležitejšie je, že koncept funkcií nám umožňuje ukladať do pamäte iba tie vzory, ktoré získame. To zaisťuje, že vzorky uchovávame na jeden účel a nikdy ich nezaznamenávame vlastným úsilím. Toto je obzvlášť dôležité pre nestále údaje, pretože služba musí pred poskytnutím predpovede udržiavať určitý stav klasifikácie.
  2. Pamäť: Niektoré vzorky môžu mať tisíce znakov. Ukladanie takýchto údajov a ich prenos do častí systému zbytočne spotrebuje mnoho ďalších bajtov. Tieto dva faktory sa môžu v priebehu času kombinovať, pretože existuje veľa zdrojov údajov s tisíckami stĺpcov.
  3. Agregácia funkcií: Funkcie jasne predstavujú výsledky každého skenovania prostredníctvom súboru funkcií, čo umožňuje systému pohodlne kombinovať výsledky predchádzajúcich skenov toho istého zdroja údajov. To môže byť užitočné pri agregácii výsledkov kontroly z jedného zdroja údajov v rámci viacerých spustení.

Funkcie sa potom odošlú do predikčnej služby, kde používame klasifikáciu založenú na pravidlách a strojové učenie na predpovedanie štítkov údajov každého stĺpca. Služba sa spolieha na klasifikátory pravidiel a strojové učenie a vyberá najlepšiu predpoveď poskytnutú z každého objektu predikcie.

Klasifikátory pravidiel sú manuálne heuristiky, používajú výpočty a koeficienty na normalizáciu objektu na rozsah od 0 do 100. Keď sa takéto počiatočné skóre vygeneruje pre každý typ údajov a názov stĺpca spojeného s týmito údajmi, nie je zahrnuté v žiadnom „zákaze“. zoznamy" ,Klasifikátor pravidiel vyberie najvyššie normalizované skóre spomedzi všetkých typov údajov.

Vzhľadom na zložitosť klasifikácie, spoliehanie sa výlučne na manuálnu heuristiku vedie k nízkej presnosti klasifikácie, najmä v prípade neštruktúrovaných údajov. Z tohto dôvodu sme vyvinuli systém strojového učenia na prácu s klasifikáciou neštruktúrovaných údajov, ako je obsah používateľa a adresa. Strojové učenie umožnilo začať opúšťať manuálnu heuristiku a aplikovať dodatočné dátové signály (napr. názvy stĺpcov, pôvod dát), čím sa výrazne zlepšila presnosť detekcie. Neskôr sa ponoríme hlboko do našej architektúry strojového učenia.

Predikčná služba ukladá výsledky pre každý stĺpec spolu s metadátami týkajúcimi sa času a stavu skenovania. Všetci spotrebitelia a následné procesy, ktoré závisia od týchto údajov, si ich môžu prečítať z denne publikovaného súboru údajov. Táto sada agreguje výsledky všetkých týchto úloh skenovania alebo rozhraní API katalógu údajov v reálnom čase. Publikované prognózy sú základom pre automatické presadzovanie zásad ochrany súkromia a bezpečnosti.

Nakoniec, keď prognostická služba zapíše všetky údaje a všetky predpovede sa uložia, naše rozhranie API katalógu údajov môže vrátiť všetky predpovede typu údajov pre zdroj v reálnom čase. Každý deň systém zverejňuje súbor údajov obsahujúci všetky najnovšie prognózy pre každé aktívum.

Prchavé údaje

Aj keď je vyššie uvedený proces navrhnutý pre trvalé aktíva, netrvalá prevádzka sa tiež považuje za súčasť údajov organizácie a môže byť dôležitá. Z tohto dôvodu systém poskytuje online API na generovanie predpovedí klasifikácie v reálnom čase pre akúkoľvek prerušovanú prevádzku. Systém predpovedí v reálnom čase sa široko používa pri klasifikácii odchádzajúcej návštevnosti, prichádzajúcej návštevnosti do modelov strojového učenia a údajov inzerentov.

Tu má API dva hlavné argumenty: kľúč zoskupenia a nespracované údaje, ktoré sa majú predpovedať. Služba vykonáva rovnaké vyhľadávanie objektov, ako je opísané vyššie, a zoskupuje objekty pre rovnaký kľúč. Tieto funkcie sú tiež podporované vo vyrovnávacej pamäti perzistencie na obnovenie zlyhania. Pre každý kľúč zoskupenia služba zaisťuje, že videla dostatok vzoriek predtým, ako zavolá službu predikcie, podľa postupu opísaného vyššie.

Optimalizácia

Na skenovanie niektorých úložísk používame knižnice a techniky na optimalizáciu čítania z horúceho úložiska [2] a zaisťujeme, že nedochádza k prerušeniu prístupu iných používateľov k rovnakému úložisku.

V prípade extrémne veľkých tabuliek (50+ petabajtov) systém napriek všetkým optimalizáciám a efektivite pamäte pracuje tak, aby všetko skenoval a počítal skôr, než mu dôjde pamäť. Koniec koncov, skenovanie sa počíta výlučne v pamäti a počas skenovania sa neukladá. Ak veľké tabuľky obsahujú tisíce stĺpcov s neštruktúrovanými zhlukmi údajov, úloha môže zlyhať z dôvodu nedostatočných pamäťových prostriedkov pri vykonávaní predpovedí pre celú tabuľku. To bude mať za následok znížené pokrytie. Aby sme tomu zabránili, optimalizovali sme systém tak, aby používal rýchlosť skenovania ako proxy na to, ako dobre systém zvláda aktuálne pracovné zaťaženie. Rýchlosť používame ako prediktívny mechanizmus, aby sme videli problémy s pamäťou a prediktívne vypočítali mapu funkcií. Zároveň využívame menej dát ako zvyčajne.

Dátové signály

Klasifikačný systém je len taký dobrý ako signály z údajov. Tu sa pozrieme na všetky signály používané klasifikačným systémom.

  • Content Based: Samozrejme, prvým a najdôležitejším signálom je obsah. Vzorkovanie Bernoulli sa vykonáva na každom dátovom aktíve, ktoré skenujeme a extrahujeme funkcie na základe obsahu údajov. Mnohé znaky pochádzajú z obsahu. Je možný ľubovoľný počet plávajúcich objektov, ktoré predstavujú výpočty, koľkokrát bol konkrétny typ vzorky videný. Môžeme mať napríklad znaky počtu e-mailov zobrazených vo vzorke alebo znaky počtu emotikonov zobrazených vo vzorke. Tieto výpočty funkcií možno normalizovať a agregovať v rámci rôznych skenov.
  • Pôvod údajov: Dôležitý signál, ktorý môže pomôcť pri zmene obsahu oproti nadradenej tabuľke. Bežným príkladom sú hašované údaje. Keď sú údaje v podradenej tabuľke hašované, často pochádzajú z nadradenej tabuľky, kde zostávajú v prehľade. Údaje o línii pomáhajú klasifikovať určité typy údajov, keď sa nečítajú jasne alebo sú konvertované z upstream tabuľky.
  • Anotácie: Ďalší vysokokvalitný signál, ktorý pomáha pri identifikácii neštruktúrovaných údajov. V skutočnosti môžu anotácie a údaje o pôvode spolupracovať pri šírení atribútov v rôznych dátových aktívach. Anotácie pomáhajú identifikovať zdroj neštruktúrovaných údajov, zatiaľ čo údaje o línii môžu pomôcť sledovať tok týchto údajov v rámci úložiska.
  • Vkladanie dát je technika, pri ktorej sa do známych zdrojov známych dátových typov zámerne vkladajú špeciálne, nečitateľné znaky. Potom, kedykoľvek skenujeme obsah s rovnakou nečitateľnou sekvenciou znakov, môžeme usúdiť, že obsah pochádza z tohto známeho typu údajov. Toto je ďalší kvalitatívny dátový signál podobný anotáciám. Okrem toho, že detekcia založená na obsahu pomáha objaviť zadané údaje.

Meranie metrík

Dôležitou súčasťou je dôsledná metodika merania metrík. Hlavnými metrikami pre iteráciu zlepšenia klasifikácie sú presnosť a zapamätanie každého označenia, pričom skóre F2 je najdôležitejšie.

Na výpočet týchto metrík je potrebná nezávislá metodika označovania dátových aktív, ktorá je nezávislá od samotného systému, ale dá sa použiť na priame porovnanie s ním. Nižšie popisujeme, ako zhromažďujeme základnú pravdu z Facebooku a používame ju na trénovanie nášho klasifikačného systému.

Zber spoľahlivých údajov

Spoľahlivé údaje z každého zdroja uvedeného nižšie zhromažďujeme do vlastnej tabuľky. Každá tabuľka je zodpovedná za agregáciu najnovších pozorovaných hodnôt z konkrétneho zdroja. Každý zdroj má kontroly kvality údajov, aby sa zabezpečilo, že pozorované hodnoty pre každý zdroj sú vysoko kvalitné a obsahujú najnovšie štítky typu údajov.

  • Konfigurácie protokolovacej platformy: Určité polia v podregistrových tabuľkách sú vyplnené údajmi, ktoré sú špecifického typu. Používanie a šírenie týchto údajov slúži ako spoľahlivý zdroj pravdy.
  • Manuálne označovanie: Vývojári udržiavajúci systém, ako aj externí označovači sú vyškolení na označovanie stĺpcov. Vo všeobecnosti to funguje dobre pre všetky typy údajov v sklade a môže to byť primárny zdroj pravdy pre niektoré neštruktúrované údaje, ako sú údaje správ alebo používateľský obsah.
  • Stĺpce z rodičovských tabuliek môžu byť označené alebo anotované ako obsahujúce určité údaje a tieto údaje môžeme sledovať v detských tabuľkách.
  • Načítanie vlákien vykonávania: vlákna vykonávania na Facebooku nesú špecifické typy údajov. Pomocou nášho skenera ako architektúry služby môžeme vzorkovať toky, ktoré majú známe typy údajov, a posielať ich cez systém. Systém sľubuje, že tieto údaje nebude ukladať.
  • Vzorové tabuľky: Veľké úľové tabuľky, o ktorých je známe, že obsahujú celý dátový korpus, možno použiť aj ako trénovacie dáta a preniesť ich cez skener ako službu. To je skvelé pre tabuľky s celým radom typov údajov, takže náhodné vzorkovanie stĺpca je ekvivalentné vzorkovaniu celej množiny daného typu údajov.
  • Syntetické údaje: Môžeme dokonca použiť knižnice, ktoré generujú údaje za behu. Funguje to dobre pre jednoduché typy verejných údajov, ako je adresa alebo GPS.
  • Správcovia údajov: Programy na ochranu osobných údajov zvyčajne používajú správcov údajov na manuálne priraďovanie politík k údajom. Toto slúži ako vysoko presný zdroj pravdy.

Spájame každý hlavný zdroj pravdy do jedného korpusu so všetkými týmito údajmi. Najväčšou výzvou s platnosťou je zabezpečiť, aby bola reprezentatívna pre úložisko údajov. V opačnom prípade sa klasifikačné motory môžu pretrénovať. Na boj proti tomu sa všetky vyššie uvedené zdroje využívajú na zabezpečenie rovnováhy pri trénovaní modelov alebo výpočte metrík. Okrem toho, ľudskí označovači jednotne vzorkujú rôzne stĺpce v úložisku a podľa toho označujú údaje, aby zhromažďovanie základnej pravdy zostalo nezaujaté.

Nepretržitá integrácia

Na zabezpečenie rýchlej iterácie a zlepšovania je dôležité vždy merať výkon systému v reálnom čase. Každé vylepšenie klasifikácie vieme zmerať v porovnaní so systémom už dnes, takže budúce vylepšenia môžeme takticky usmerňovať na základe údajov. Tu sa pozrieme na to, ako systém dokončuje spätnú väzbu, ktorú poskytujú platné údaje.

Keď plánovací systém narazí na aktívum, ktoré má označenie z dôveryhodného zdroja, naplánujeme dve úlohy. Prvý využíva náš produkčný skener a tým aj naše výrobné možnosti. Druhá úloha využíva najnovšiu zostavu skenera s najnovšími funkciami. Každá úloha zapíše svoj výstup do vlastnej tabuľky, pričom označí verzie spolu s výsledkami klasifikácie.

Takto porovnávame výsledky klasifikácie kandidáta na vydanie a produkčného modelu v reálnom čase.

Zatiaľ čo množiny údajov porovnávajú funkcie RC a PROD, zaznamenáva sa mnoho variácií klasifikačného nástroja ML predikčnej služby. Najnovšie vytvorený model strojového učenia, aktuálny model vo výrobe a akékoľvek experimentálne modely. Rovnaký prístup nám umožňuje „rozrezať“ rôzne verzie modelu (agnostické voči našim klasifikátorom pravidiel) a porovnávať metriky v reálnom čase. Vďaka tomu je ľahké určiť, kedy je experiment ML pripravený na uvedenie do výroby.

Každú noc sa RC vlastnosti vypočítané pre daný deň posielajú do tréningového potrubia ML, kde je model trénovaný na najnovších RC funkciách a vyhodnocuje sa jeho výkon v porovnaní so súborom pozemných pravdivých údajov.

Každé ráno model absolvuje tréning a je automaticky publikovaný ako experimentálny model. Automaticky sa zaradí do experimentálneho zoznamu.

Niektoré výsledky

Viac ako 100 rôznych typov údajov je označených s vysokou presnosťou. Dobre štruktúrované typy, ako sú e-maily a telefónne čísla, sú klasifikované so skóre f2 vyšším ako 0,95. Veľmi dobre fungujú aj bezplatné typy údajov, ako je obsah generovaný používateľmi a názov, so skóre F2 vyšším ako 0,85.

Veľký počet jednotlivých stĺpcov perzistentných a nestálych údajov sa denne klasifikuje vo všetkých úložiskách. Denne sa skenuje viac ako 500 terabajtov vo viac ako 10 dátových skladoch. Väčšina z týchto úložísk má viac ako 98% pokrytie.

Postupom času sa klasifikácia stala veľmi efektívnou, pričom klasifikačné úlohy v trvalom offline prúde trvajú v priemere 35 sekúnd od skenovania aktíva po výpočet predpovedí pre každý stĺpec.

Škálovateľná klasifikácia údajov pre bezpečnosť a súkromie
Ryža. 2. Diagram popisujúci kontinuálny integračný tok, aby ste pochopili, ako sa RC objekty generujú a posielajú do modelu.

Škálovateľná klasifikácia údajov pre bezpečnosť a súkromie
Obrázok 3. Vysokoúrovňový diagram komponentu strojového učenia.

Komponent systému strojového učenia

V predchádzajúcej časti sme sa hlboko ponorili do celkovej architektúry systému, pričom sme zdôraznili rozsah, optimalizáciu a offline a online toky údajov. V tejto časti sa pozrieme na prognostickú službu a opíšeme systém strojového učenia, ktorý poháňa prognostickú službu.

S viac ako 100 typmi údajov a niektorým neštruktúrovaným obsahom, ako sú údaje správ a používateľský obsah, výsledkom použitia čisto manuálnej heuristiky je presnosť podparametrickej klasifikácie, najmä v prípade neštruktúrovaných údajov. Z tohto dôvodu sme tiež vyvinuli systém strojového učenia, ktorý si poradí so zložitosťou neštruktúrovaných údajov. Používanie strojového učenia vám umožňuje začať opúšťať manuálnu heuristiku a pracovať s funkciami a dodatočnými dátovými signálmi (napríklad názvy stĺpcov, pôvod dát) na zlepšenie presnosti.

Implementovaný model študuje vektorové reprezentácie [3] nad hustými a riedkymi objektmi oddelene. Tieto sa potom spoja, aby vytvorili vektor, ktorý prechádza sériou normalizácie dávky [4] a krokov nelinearity, aby sa vytvoril konečný výsledok. Konečným výsledkom je číslo s pohyblivou rádovou čiarkou medzi [0-1] pre každé označenie, ktoré označuje pravdepodobnosť, že príklad patrí k danému typu citlivosti. Použitie PyTorch pre model nám umožnilo pohybovať sa rýchlejšie, čo umožnilo vývojárom mimo tímu rýchlo vykonávať a testovať zmeny.

Pri navrhovaní architektúry bolo dôležité modelovať oddelene riedke (napr. textové) a husté (napr. číselné) objekty vzhľadom na ich inherentnú odlišnosť. Pre konečnú architektúru bolo tiež dôležité vykonať analýzu parametrov, aby sa našla optimálna hodnota rýchlosti učenia, veľkosti dávky a iných hyperparametrov. Dôležitým hyperparametrom bol aj výber optimalizátora. Zistili sme, že populárny optimalizátor Adamčasto vedie k nadmernému vybaveniu, zatiaľ čo model s SGD stabilnejší. Boli tam ďalšie nuansy, ktoré sme museli zahrnúť priamo do modelu. Napríklad statické pravidlá, ktoré zabezpečili, že model urobí deterministickú predpoveď, keď má prvok určitú hodnotu. Tieto statické pravidlá definujú naši klienti. Zistili sme, že ich začlenenie priamo do modelu viedlo k samostatnejšej a robustnejšej architektúre, na rozdiel od implementácie kroku následného spracovania na zvládnutie týchto špeciálnych okrajových prípadov. Všimnite si tiež, že tieto pravidlá sú počas tréningu deaktivované, aby nezasahovali do tréningového procesu gradientového zostupu.

Problémy

Jednou z výziev bol zber kvalitných a spoľahlivých údajov. Model potrebuje dôveru pre každú triedu, aby sa mohol naučiť asociácie medzi objektmi a štítkami. V predchádzajúcej časti sme diskutovali o metódach zberu údajov pre meranie systému a trénovanie modelov. Analýza ukázala, že triedy údajov, ako sú čísla kreditných kariet a bankových účtov, nie sú v našom sklade veľmi bežné. To sťažuje zhromažďovanie veľkého množstva spoľahlivých údajov na trénovanie modelov. Na vyriešenie tohto problému sme vyvinuli procesy na získavanie syntetických základných pravdivých údajov pre tieto triedy. Takéto údaje generujeme pre citlivé typy vrátane SSN, čísla kreditných kariet и IBAN-čísla, pre ktoré model predtým nemohol predpovedať. Tento prístup umožňuje spracovávať typy citlivých údajov bez rizika pre súkromie spojeného so skrývaním skutočných citlivých údajov.

Okrem základných otázok pravdy existujú otvorené architektonické problémy, na ktorých pracujeme, ako napr zmena izolácie и skoré zastavenie. Izolácia zmien je dôležitá, aby sa zabezpečilo, že keď sa v rôznych častiach siete vykonajú rôzne zmeny, vplyv bude izolovaný na konkrétne triedy a nebude mať široký vplyv na celkovú výkonnosť prognóz. Zlepšenie kritérií skorého ukončenia je tiež dôležité, aby sme mohli zastaviť tréningový proces v stabilnom bode pre všetky triedy, a nie v bode, keď sa niektoré triedy pretrénujú a iné nie.

Dôležitosť funkcie

Keď sa do modelu zavedie nová funkcia, chceme poznať jej celkový vplyv na model. Chceme sa tiež uistiť, že predpovede sú interpretovateľné človekom, aby sme presne pochopili, aké funkcie sa používajú pre jednotlivé typy údajov. Na tento účel sme vyvinuli a zaviedli podľa triedy dôležitosť funkcií pre model PyTorch. Všimnite si, že sa to líši od celkovej dôležitosti funkcie, ktorá je zvyčajne podporovaná, pretože nám nehovorí, ktoré funkcie sú dôležité pre konkrétnu triedu. Dôležitosť objektu meriame výpočtom nárastu chyby predikcie po preusporiadaní objektu. Funkcia je „dôležitá“, keď zámena hodnôt zvyšuje chybu modelu, pretože v tomto prípade sa model spoliehal na funkciu pri vytváraní predpovede. Funkcia je „nedôležitá“, keď premiešanie jej hodnôt ponechá chybu modelu nezmenenú, pretože v tomto prípade ju model ignoroval [5].

Dôležitosť funkcie pre každú triedu nám umožňuje urobiť model interpretovateľným, aby sme videli, na čo sa model pozerá pri predpovedaní označenia. Napríklad, keď analyzujeme ADDR, potom garantujeme, že znak spojený s adresou, ako napr AddressLinesCount, sa umiestnila na popredných miestach v tabuľke dôležitosti funkcií pre každú triedu, takže naša ľudská intuícia sa dobre zhoduje s tým, čo sa model naučil.

Ohodnotenie

Pre úspech je dôležité definovať jedinú metriku. Vybrali sme F2 - rovnováha medzi vyvolaním a presnosťou (vychýlenie vyvolania je o niečo väčšie). Stiahnutie je dôležitejšie pre prípad použitia ochrany súkromia ako presnosť, pretože je dôležité, aby tím nevynechal žiadne citlivé údaje (pri zabezpečení primeranej presnosti). Skutočné hodnotenie výkonu F2 nášho modelu je nad rámec tohto článku. Pri starostlivom ladení však môžeme dosiahnuť vysoké (0,9+) skóre F2 pre najdôležitejšie citlivé triedy.

Súvisiaca práca

Existuje mnoho algoritmov na automatickú klasifikáciu neštruktúrovaných dokumentov pomocou rôznych metód, ako je porovnávanie vzorov, vyhľadávanie podobnosti dokumentov a rôzne metódy strojového učenia (Bayesian, rozhodovacie stromy, k-najbližší susedia a mnohé ďalšie) [6]. Ktorýkoľvek z nich môže byť použitý ako súčasť klasifikácie. Problémom je však škálovateľnosť. Klasifikačný prístup v tomto článku je zameraný na flexibilitu a výkon. To nám umožňuje podporovať nové triedy v budúcnosti a udržiavať nízku latenciu.

Veľa práce je aj na odtlačkoch dát. Napríklad autori v [7] popísali riešenie, ktoré sa zameriava na problém zachytávania citlivých únikov dát. Základným predpokladom je, že údaje možno odobrať odtlačkom prsta, aby sa zhodovali so súborom známych citlivých údajov. Autori v [8] popisujú podobný problém úniku súkromia, ale ich riešenie je založené na špecifickej architektúre Androidu a je klasifikované len vtedy, ak akcie používateľa vedú k zdieľaniu osobných informácií alebo ak základná aplikácia unikne používateľské údaje. Tu je situácia trochu odlišná, pretože používateľské údaje môžu byť tiež veľmi neštruktúrované. Preto potrebujeme zložitejšiu techniku ​​ako je odoberanie odtlačkov prstov.

Nakoniec, aby sme sa vyrovnali s nedostatkom údajov pre niektoré typy citlivých údajov, zaviedli sme syntetické údaje. Existuje veľké množstvo literatúry o augmentácii údajov, napríklad autori v [9] skúmali úlohu vstrekovania hluku počas tréningu a pozorovali pozitívne výsledky pri učení pod dohľadom. Náš prístup k ochrane osobných údajov je odlišný, pretože zavádzanie hlučných údajov môže byť kontraproduktívne a namiesto toho sa zameriavame na vysokokvalitné syntetické údaje.

Záver

V tomto článku sme predstavili systém, ktorý dokáže klasifikovať časť údajov. To nám umožňuje vytvárať systémy na presadzovanie zásad ochrany súkromia a bezpečnosti. Ukázali sme, že škálovateľná infraštruktúra, nepretržitá integrácia, strojové učenie a vysokokvalitné zabezpečenie údajov zohrávajú kľúčovú úlohu v úspechu mnohých našich iniciatív v oblasti ochrany osobných údajov.

Existuje mnoho smerov pre budúcu prácu. To môže zahŕňať poskytovanie podpory pre neschematizované údaje (súbory), klasifikáciu nielen typu údajov, ale aj úrovne citlivosti a používanie samokontrolovaného učenia počas tréningu generovaním presných syntetických príkladov. Čo zase pomôže modelu znížiť straty o najväčšiu sumu. Budúca práca by sa mohla zamerať aj na pracovný postup vyšetrovania, kde ideme nad rámec detekcie a poskytujeme analýzu základných príčin rôznych porušení ochrany osobných údajov. Pomôže to v prípadoch, ako je analýza citlivosti (t. j. či je citlivosť typu údajov na súkromie vysoká (napr. IP používateľa) alebo nízka (napr. interná IP Facebooku)).

Bibliografia

  1. David Ben-David, Tamar Domany a Abigail Tarem. Klasifikácia podnikových údajov pomocou technológií sémantického webu. V Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks a Birte Glimm, redaktori, Sémantický web – ISWC 2010, strany 66–81, Berlín, 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 a Sanjeev Kumar. f4: Teplý úložný systém BLOB od Facebooku. In 11. sympózium USENIX o návrhu a implementácii operačných systémov (OSDI 14), strany 383–398, Broomfield, CO, október 2014. USENIX Association.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado a Jeff Dean. Distribuované reprezentácie slov a fráz a ich kompozičnosť. V C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani a K. Q. Weinberger, editori, Pokroky v systémoch spracovania neurónových informácií 26, strany 3111-3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe a Christian Szegedy. Dávková normalizácia: Urýchlenie hlbokého sieťového tréningu znížením interného posunu kovariát. Francis Bach a David Blei, redaktori, Zborník príspevkov z 32. medzinárodnej konferencie o strojovom učení, zväzok 37 z Zborník výskumu strojového učenia, strany 448–456, Lille, Francúzsko, 07.–09. júla 2015. PMLR.
  5. Leo Breiman. Náhodné lesy. Mach. Učte sa., 45 (1): 5-32, október 2001.
  6. Thair Nu Phyu. Prehľad klasifikačných techník v data miningu.
  7. X. Shu, D. Yao a E. Bertino. Detekcia vystavenia citlivých údajov na ochranu súkromia. Transakcie IEEE v oblasti informačnej forenznej analýzy a bezpečnosti, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning a Xiaoyang Wang. Appintent: Analýza prenosu citlivých údajov v systéme Android na zistenie úniku súkromia. strany 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong a Quoc V. Le. Rozšírenie údajov bez dozoru.

Škálovateľná klasifikácia údajov pre bezpečnosť a súkromie
Zistite podrobnosti o tom, ako získať žiadanú profesiu od nuly alebo Level Up, pokiaľ ide o zručnosti a plat, absolvovaním online kurzov SkillFactory:

Viac kurzov

Zdroj: hab.com

Pridať komentár