Méretezhető adatosztályozás a biztonság és az adatvédelem érdekében

Méretezhető adatosztályozás a biztonság és az adatvédelem érdekében

A tartalom alapú adatosztályozás nyitott probléma. A hagyományos adatvesztés-megelőzési (DLP) rendszerek ezt a problémát úgy oldják meg, hogy ujjlenyomatokat vesznek a releváns adatokból, és figyelik a végpontokat az ujjlenyomatvételhez. Tekintettel a Facebook állandóan változó adatforrásainak nagy számára, ez a megközelítés nemcsak nem skálázható, de nem is hatékony az adatok helyének meghatározására. Ez a cikk egy olyan végponttól végpontig terjedő rendszerre összpontosít, amely a Facebook érzékeny szemantikai típusainak nagy léptékű észlelésére, valamint az adattárolás és a hozzáférés-szabályozás automatikus érvényesítésére épül.

Az itt leírt megközelítés az első olyan teljes körű adatvédelmi rendszerünk, amely adatjelek, gépi tanulás és hagyományos ujjlenyomat-vételi technikák beépítésével próbálja megoldani ezt a problémát a Facebookon található összes adat feltérképezésére és osztályozására. A leírt rendszer éles környezetben működik, 2+ átlagos F0,9 pontszámot ér el a különböző adatvédelmi osztályokban, miközben nagy mennyiségű adatforrást dolgoz fel több tucat tárolóban. Bemutatjuk a Facebook ArXiv dokumentumának fordítását a gépi tanuláson alapuló, skálázható adatosztályozásról a biztonság és az adatvédelem érdekében.

Bevezetés

Manapság a szervezetek nagy mennyiségű adatot gyűjtenek és tárolnak különféle formátumokban és helyeken [1], majd az adatokat sok helyen felhasználják, néha többször másolják vagy gyorsítótárazzák, ami értékes és kényes üzleti információk szétszóródását eredményezi számos vállalati adat között. üzletek. Amikor egy szervezetnek meg kell felelnie bizonyos jogi vagy szabályozási követelményeknek, például a polgári eljárásban a szabályoknak való megfelelésnek, akkor szükségessé válik a szükséges adatok helyére vonatkozó adatgyűjtés. Amikor egy adatvédelmi szabályozás kimondja, hogy a szervezetnek el kell rejtenie az összes társadalombiztosítási számot (SSN), amikor személyes adatokat oszt meg illetéktelen személyekkel, az első természetes lépés az összes SSN-ben való keresés a szervezet adattáraiban. Ilyen körülmények között az adatok osztályozása kritikussá válik [1]. Az osztályozási rendszer lehetővé teszi a szervezetek számára, hogy automatikusan érvényesítsék az adatvédelmi és biztonsági szabályzatokat, mint például a hozzáférés-szabályozás engedélyezése, az adatmegőrzés. A Facebook egy olyan rendszert vezet be, amelyet a Facebookon építettünk be, amely több adatjelet, méretezhető rendszerarchitektúrát és gépi tanulást használ az érzékeny szemantikai adattípusok felfedezésére.

Az adatok feltárása és osztályozása az adatok megtalálásának és címkézésének folyamata, hogy szükség esetén gyorsan és hatékonyan lehessen visszakeresni a releváns információkat. A jelenlegi folyamat meglehetősen manuális jellegű, és abból áll, hogy megvizsgálják a vonatkozó törvényeket vagy rendeleteket, meghatározzák, hogy milyen típusú információkat kell érzékenynek tekinteni, és melyek az érzékenységi szintek, majd ennek megfelelően osztályokat és besorolási irányelveket alkotnak [1]. Az adatvesztés-megelőzés (DLP) ezután ujjlenyomatokat vesz az adatokból, és nyomon követi a későbbi végpontokat az ujjlenyomatok beszerzéséhez. Ha egy petabájtnyi adatot tartalmazó, eszközigényes raktárral foglalkozik, ez a megközelítés egyszerűen nem skálázódik.

Célunk egy olyan adatosztályozási rendszer kiépítése, amely a robusztus és átmeneti felhasználói adatokra is skálázható, az adattípusra vagy -formátumra vonatkozó további korlátozások nélkül. Ez egy merész cél, és természetesen kihívásokkal is jár. Egy adott adatrekord több ezer karakter hosszú lehet.

Méretezhető adatosztályozás a biztonság és az adatvédelem érdekében
1. ábra Online és offline előrejelzési folyamatok

Ezért hatékonyan kell reprezentálnunk egy közös jellemzőkészlet segítségével, amely később kombinálható és könnyen mozgatható. Ezeknek a szolgáltatásoknak nemcsak pontos osztályozást kell biztosítaniuk, hanem rugalmasságot és bővíthetőséget is kell biztosítaniuk az új adattípusok könnyű hozzáadásához és felfedezéséhez a jövőben. Másodszor, nagy offline asztalokkal kell foglalkoznia. A tartós adatok sok petabájtos méretű táblázatokban tárolhatók. Ez lassabb beolvasási sebességet eredményezhet. Harmadszor, be kell tartanunk az illékony adatok szigorú SLA-besorolását. Ez arra kényszeríti a rendszert, hogy rendkívül hatékony, gyors és pontos legyen. Végül alacsony késleltetésű adatosztályozást kell biztosítanunk az illékony adatokhoz a valós idejű osztályozás végrehajtásához, valamint az internethasználati esetekhez.

Ez a cikk leírja, hogyan kezeltük a fenti kihívásokat, és bemutat egy gyors és méretezhető osztályozási rendszert, amely minden típusú, formátumú és forrású adatelemet osztályoz egy közös jellemzőkészlet alapján. Bővítettük a rendszerarchitektúrát, és létrehoztunk egy egyéni gépi tanulási modellt az offline és online adatok gyors osztályozására. Ez a cikk a következőképpen épül fel: A 2. rész a rendszer általános felépítését mutatja be. A 3. rész a gépi tanulási rendszer részeit tárgyalja. A 4. és 5. szakasz kiemeli a kapcsolódó munkát, és felvázolja a munka jövőbeli irányait.

építészet

A perzisztens és Facebook léptékű online adatok kihívásainak kezelésére az osztályozási rendszernek két külön folyama van, amelyeket részletesen tárgyalunk.

Fenntartható adatok

Kezdetben a rendszernek meg kell tanulnia a Facebook számos információs eszközét. Minden egyes adattárhoz összegyűjtünk néhány alapvető információt, például az adatokat tartalmazó adatközpontot, az adatokat tartalmazó rendszert és az adott adattárban található eszközöket. Ez létrehoz egy metaadat-katalógust, amely lehetővé teszi a rendszer számára az adatok hatékony lekérését anélkül, hogy túlterhelné az ügyfeleket és a más mérnökök által használt erőforrásokat.

Ez a metaadat-katalógus hiteles forrást biztosít az összes beolvasott eszközhöz, és lehetővé teszi a különféle eszközök állapotának nyomon követését. Ezen információk felhasználásával az ütemezési prioritás a rendszerből összegyűjtött adatok és belső információk alapján kerül megállapításra, mint például az eszköz utolsó sikeres vizsgálatának időpontja és létrehozásának időpontja, valamint az adott eszköz múltbeli memória- és CPU-igénye, ha korábban beszkennelték. Ezután minden adatforráshoz (ahogy az erőforrások elérhetővé válnak) egy job kerül meghívásra az erőforrás tényleges vizsgálatához.

Minden feladat egy összeállított bináris fájl, amely Bernoulli-mintavételezést végez az egyes eszközökhöz elérhető legfrissebb adatokon. Az eszköz külön oszlopokra van felosztva, ahol az egyes oszlopok besorolási eredménye egymástól függetlenül kerül feldolgozásra. Ezenkívül a rendszer megkeresi az oszlopokon belüli telített adatokat. A JSON, a tömbök, a kódolt struktúrák, az URL-ek, az alap 64-es soros adatok és egyebek ellenőrzése megtörténik. Ez jelentősen megnövelheti a vizsgálat végrehajtási idejét, mivel egyetlen tábla több ezer beágyazott oszlopot tartalmazhat egy blobban json.

Az adatelemben kiválasztott minden sor esetében az osztályozási rendszer kivonja a lebegő és szöveges objektumokat a tartalomból, és minden objektumot visszarendel ahhoz az oszlophoz, amelyből azokat vették. A jellemző-kinyerési lépés kimenete az adatelemben található egyes oszlopok összes jellemzőjének térképe.

Mire valók a jelek?

Az attribútumok fogalma kulcsfontosságú. Lebegő és szöveges jellemzők helyett nyers karakterlánc-mintákat adhatunk át, amelyeket közvetlenül az egyes adatforrásokból nyerünk ki. Ezenkívül a gépi tanulási modelleket közvetlenül az egyes mintákon lehet betanítani, nem pedig több száz jellemzőszámítást, amelyek csak közelíteni próbálják a mintát. Ennek több oka is van:

  1. Az első az adatvédelem: A legfontosabb, hogy a funkciók koncepciója lehetővé teszi, hogy csak azokat a mintákat tároljuk a memóriában, amelyeket visszakeresünk. Ez biztosítja, hogy a mintákat egyetlen célra tároljuk, és soha ne naplózzuk őket saját erőfeszítéseinkből. Ez különösen fontos az ingadozó adatok esetében, mivel a szolgáltatásnak bizonyos osztályozási állapotot kell fenntartania, mielőtt előrejelzést adna.
  2. Memória: Egyes minták több ezer karakter hosszúak is lehetnek. Az ilyen adatok tárolása és a rendszer egyes részeihez való továbbítása sok további bájtot igényel. A két tényező idővel kombinálódhat, mivel sok adatforrás van több ezer oszlopból.
  3. Funkció-összesítés: A szolgáltatások egyértelműen reprezentálják az egyes vizsgálatok eredményeit egy szolgáltatáskészleten keresztül, lehetővé téve a rendszer számára, hogy kényelmes módon kombinálja ugyanazon adatforrás korábbi vizsgálatainak eredményeit. Ez hasznos lehet egyetlen adatforrásból származó vizsgálati eredmények több futtatás során történő összesítéséhez.

A funkciók ezután egy előrejelzési szolgáltatásba kerülnek, ahol szabályalapú osztályozást és gépi tanulást használunk az egyes oszlopok adatcímkéinek előrejelzésére. A szolgáltatás mind a szabályosztályozókra, mind a gépi tanulásra támaszkodik, és kiválasztja a legjobb előrejelzést minden egyes előrejelzési objektumból.

A szabályosztályozók manuális heurisztika, számításokat és együtthatókat használnak egy objektum 0 és 100 közötti tartományra történő normalizálására. Ha egy ilyen kezdeti pontszámot generálnak minden egyes adattípushoz és az adott adatokhoz társított oszlopnévhez, az nem kerül bele semmilyen tiltásba. listák" ,A szabályosztályozó kiválasztja a legmagasabb normalizált pontszámot az összes adattípus közül.

Az osztályozás összetettsége miatt a kizárólag manuális heurisztikára hagyatkozás alacsony osztályozási pontosságot eredményez, különösen a strukturálatlan adatok esetében. Emiatt kifejlesztettünk egy gépi tanulási rendszert a strukturálatlan adatok, például a felhasználói tartalmak és címek osztályozására. A gépi tanulás lehetővé tette, hogy eltávolodjunk a kézi heurisztikától, és további adatjeleket (pl. oszlopnevek, adatok származása) alkalmazzunk, jelentősen javítva az észlelési pontosságot. Később mélyen elmerülünk gépi tanulási architektúránkba.

Az előrejelzési szolgáltatás az egyes oszlopokhoz tartozó eredményeket a vizsgálat idejére és állapotára vonatkozó metaadatokkal együtt tárolja. Az ezektől az adatoktól függő fogyasztók és későbbi folyamatok kiolvashatják azokat a naponta közzétett adatkészletből. Ez a készlet összesíti az összes ilyen vizsgálati feladat vagy a valós idejű adatkatalógus API-k eredményeit. A közzétett előrejelzések képezik az adatvédelmi és biztonsági szabályzatok automatikus érvényesítésének alapját.

Végül, miután az előrejelzési szolgáltatás megírta az összes adatot, és az összes előrejelzést eltárolták, a Data Catalog API valós időben vissza tudja adni az erőforrás összes adattípus-előrejelzését. A rendszer minden nap közzétesz egy adatkészletet, amely minden eszközre vonatkozóan tartalmazza az összes legfrissebb előrejelzést.

Illékony adatok

Míg a fenti folyamat tartós eszközökhöz készült, a nem állandó forgalom is a szervezet adatainak része, és fontos lehet. Emiatt a rendszer egy online API-t biztosít a valós idejű besorolási előrejelzések generálásához bármely időszakos forgalomhoz. A valós idejű előrejelző rendszert széles körben használják a kimenő forgalom, a bejövő forgalom gépi tanulási modellekbe és a hirdetői adatokba való besorolására.

Itt az API két fő érvet vesz fel: a csoportosítási kulcsot és a megjósolandó nyers adatokat. A szolgáltatás ugyanazt az objektum-lekérést hajtja végre, mint fentebb, és ugyanazon kulcshoz csoportosítja az objektumokat. Ezeket a funkciókat a perzisztencia gyorsítótár is támogatja a hibák helyreállításához. A szolgáltatás minden csoportosítási kulcs esetében biztosítja, hogy elegendő mintát látott-e az előrejelzési szolgáltatás hívása előtt, a fent leírt folyamatot követve.

Optimalizálás

Egyes tárolók vizsgálatához könyvtárakat és technikákat használunk, hogy optimalizáljuk a forró tárolóból való olvasást [2], és biztosítsuk, hogy ne okozzanak fennakadást az ugyanazon tárolóhoz hozzáférő más felhasználók.

Rendkívül nagy táblák (50+ petabájt) esetén az optimalizálás és a memóriahatékonyság ellenére a rendszer mindent megvizsgál és kiszámít, mielőtt kifogyna a memória. Végül is a beolvasás teljes egészében a memóriában kerül kiszámításra, és nem kerül tárolásra a vizsgálat során. Ha a nagy táblák több ezer oszlopot tartalmaznak strukturálatlan adatcsoportokkal, a feladat meghiúsulhat az elégtelen memóriaerőforrás miatt, amikor előrejelzéseket hajt végre a teljes táblán. Ez csökkenti a lefedettséget. Ennek leküzdése érdekében a rendszert úgy optimalizáltuk, hogy a vizsgálati sebességet proxyként használja annak meghatározására, hogy a rendszer mennyire tudja kezelni az aktuális munkaterhelést. A sebességet prediktív mechanizmusként használjuk a memóriaproblémák észlelésére és a jellemzőtérkép prediktív kiszámítására. Ugyanakkor a szokásosnál kevesebb adatot használunk fel.

Adatjelek

Az osztályozási rendszer csak annyira jó, mint az adatokból származó jelek. Itt megvizsgáljuk az osztályozási rendszer által használt összes jelet.

  • Tartalom alapú: Természetesen az első és legfontosabb jelzés a tartalom. A Bernoulli-mintavételezés minden általunk vizsgált adatelemen megtörténik, és az adattartalom alapján kinyerjük a funkciókat. Sok jel a tartalomból származik. Bármilyen számú lebegő objektum lehetséges, amelyek azt a számítást jelentik, hogy egy adott mintatípust hányszor láttak. Lehetnek például jeleink a mintában látható e-mailek számáról, vagy arra, hogy hány hangulatjel látható a mintában. Ezek a jellemzőszámítások normalizálhatók és összesíthetők a különböző vizsgálatok során.
  • Az adatok származása: Fontos jelzés, amely segíthet, ha a tartalom megváltozott a szülőtáblához képest. Gyakori példa a kivonatolt adatok. Amikor egy gyermek tábla adatai kivonatolva vannak, gyakran a szülőtáblából származnak, ahol üresen maradnak. A vonaladatok segítenek bizonyos típusú adatok osztályozásában, ha nem olvashatók egyértelműen, vagy egy upstream táblából konvertálják őket.
  • Megjegyzések: Egy másik kiváló minőségű jel, amely segít a strukturálatlan adatok azonosításában. Valójában a megjegyzések és a származási adatok együtt működhetnek az attribútumok terjesztésében a különböző adatelemek között. A megjegyzések segítenek azonosítani a strukturálatlan adatok forrását, míg a származási adatok nyomon követhetik az adatok áramlását a lerakatban.
  • Az adatbefecskendezés egy olyan technika, ahol speciális, olvashatatlan karaktereket szándékosan bevezetnek ismert adattípusok ismert forrásaiba. Ezután, amikor ugyanazzal az olvashatatlan karaktersorozattal szkennelünk egy tartalmat, arra következtethetünk, hogy a tartalom abból az ismert adattípusból származik. Ez egy másik minőségi adatjel, amely hasonló a megjegyzésekhez. Kivéve, hogy a tartalom alapú észlelés segít felfedezni a bevitt adatokat.

Mérési mérőszámok

Fontos eleme a metrikák mérésének szigorú módszertana. Az osztályozás javításának főbb mérőszámai az egyes címkék pontossága és felidézése, amelyek közül az F2 pontszám a legfontosabb.

E mérőszámok kiszámításához független, a rendszertől független, de azzal közvetlen összehasonlításra alkalmas módszertanra van szükség az adatvagyon címkézésére. Az alábbiakban leírjuk, hogyan gyűjtjük össze az alapigazságot a Facebookról, és hogyan használjuk fel az osztályozási rendszerünk képzésére.

Megbízható adatok gyűjtése

Minden alább felsorolt ​​forrásból megbízható adatokat gyűjtünk a saját táblázatba. Mindegyik táblázat felelős az adott forrásból származó legfrissebb megfigyelt értékek összesítéséért. Minden forrás adatminőség-ellenőrzésekkel rendelkezik, amelyek biztosítják, hogy az egyes forrásoknál megfigyelt értékek jó minőségűek legyenek, és a legújabb adattípus-címkéket tartalmazzák.

  • Naplózási platform konfigurációk: A kaptártáblázatok bizonyos mezői meghatározott típusú adatokkal vannak feltöltve. Ezen adatok felhasználása és terjesztése az igazság megbízható forrásaként szolgál.
  • Kézi címkézés: A rendszert karbantartó fejlesztők, valamint a külső címkézők képzésben részesülnek az oszlopok címkézésére. Ez általában jól működik a raktárban lévő összes adattípusnál, és az igazság elsődleges forrása lehet egyes strukturálatlan adatok, például üzenetadatok vagy felhasználói tartalom esetében.
  • A szülőtáblák oszlopai megjelölhetők vagy megjegyzésekkel elláthatók bizonyos adatokat tartalmazóként, és ezeket az adatokat a gyermektáblázatokban követhetjük nyomon.
  • Végrehajtási szálak lekérése: a Facebook végrehajtási szálai meghatározott típusú adatokat hordoznak. Szkennerünket szolgáltatásarchitektúraként használva mintát vehetünk az ismert adattípusokkal rendelkező folyamokból, és elküldhetjük azokat a rendszeren keresztül. A rendszer megígéri, hogy nem tárolja ezeket az adatokat.
  • Mintatáblázatok: A nagy kaptártáblázatok, amelyekről ismert, hogy a teljes adatkorpuszt tartalmazzák, oktatási adatként is használhatók, és szolgáltatásként továbbíthatók a szkenneren. Ez nagyszerű az adattípusok teljes skáláját tartalmazó táblázatokhoz, így egy oszlop véletlenszerű mintavétele megegyezik az adott adattípus teljes halmazának mintavételével.
  • Szintetikus adatok: Akár olyan könyvtárakat is használhatunk, amelyek menet közben generálnak adatokat. Ez jól működik olyan egyszerű, nyilvános adattípusoknál, mint a cím vagy a GPS.
  • Adatfelügyelők: Az adatvédelmi programok általában adatgondnokokat használnak az adatokhoz házirendek manuális hozzárendeléséhez. Ez az igazság rendkívül pontos forrásaként szolgál.

Az igazság minden fő forrását egyetlen korpuszba egyesítjük az összes adattal. Az érvényességgel kapcsolatos legnagyobb kihívás annak biztosítása, hogy az az adattárat reprezentálja. Ellenkező esetben az osztályozó motorok túledzettek. Ennek leküzdésére a fenti források mindegyikét felhasználják az egyensúly biztosítására a modellek képzése vagy a mérőszámok kiszámítása során. Ezenkívül az emberi címkézők egységesen mintát vesznek az adattár különböző oszlopaiból, és ennek megfelelően címkézik fel az adatokat, hogy az alapigazság gyűjtése elfogulatlan maradjon.

Folyamatos integráció

A gyors iteráció és fejlesztés érdekében fontos, hogy a rendszer teljesítményét mindig valós időben mérjük. Minden besorolási fejlesztést a rendszerhez mérhetünk ma, így az adatok alapján taktikailag irányíthatjuk a jövőbeni fejlesztéseket. Itt azt nézzük meg, hogy a rendszer hogyan fejezi be az érvényes adatok által biztosított visszacsatolási kört.

Amikor az ütemező rendszer olyan eszközzel találkozik, amely megbízható forrásból származó címkével rendelkezik, két feladatot ütemezünk. Az első a mi gyártási szkennerünket és ezáltal a gyártási képességeinket használja. A második feladat a legújabb szkennert használja a legújabb funkciókkal. Minden feladat a saját táblájába írja a kimenetét, címkézve a verziókat az osztályozási eredményekkel együtt.

Így hasonlítjuk össze valós időben a kiadásjelölt és a gyártási modell besorolási eredményeit.

Míg az adatkészletek összehasonlítják az RC és a PROD jellemzőit, az előrejelzési szolgáltatás ML osztályozási motorjának számos változata naplózásra kerül. A legutóbb megépített gépi tanulási modell, a jelenlegi gyártási modell és az összes kísérleti modell. Ugyanez a megközelítés lehetővé teszi a modell különböző verzióinak „szeletelését” (a szabályosztályozóinktól agnosztikusan), és valós időben összehasonlítjuk a mutatókat. Ez megkönnyíti annak meghatározását, hogy egy ML-kísérlet mikor áll készen a termelésbe.

Minden este az adott napra kiszámított RC jellemzők elküldésre kerülnek az ML képzési folyamatba, ahol a modellt betanítják a legújabb RC jellemzőkre, és kiértékeli a teljesítményét az alapigazság adatkészlethez képest.

Minden reggel a modell befejezi a képzést, és automatikusan közzéteszik kísérleti modellként. Automatikusan bekerül a kísérleti listába.

Néhány eredmény

Több mint 100 különböző típusú adat van nagy pontossággal címkézve. A jól strukturált típusok, például az e-mailek és telefonszámok 2-nél nagyobb f0,95-értékkel vannak besorolva. Az ingyenes adattípusok, például a felhasználók által generált tartalom és a név szintén nagyon jól teljesítenek, az F2 pontszáma meghaladja a 0,85-öt.

Az összes adattárban naponta nagyszámú, állandó és ingadozó adatoszlop kerül besorolásra. Naponta több mint 500 terabájtot vizsgálnak át több mint 10 adattárházban. A legtöbb ilyen adattár több mint 98%-os lefedettséggel rendelkezik.

Az idő múlásával az osztályozás nagyon hatékonnyá vált, az osztályozási feladatok egy állandó offline adatfolyamban átlagosan 35 másodpercet vesznek igénybe az eszköz vizsgálatától az egyes oszlopokra vonatkozó előrejelzések kiszámításáig.

Méretezhető adatosztályozás a biztonság és az adatvédelem érdekében
Rizs. 2. A folyamatos integrációs folyamatot leíró diagram annak megértéséhez, hogy az RC objektumok hogyan generálódnak és küldhetők el a modellnek.

Méretezhető adatosztályozás a biztonság és az adatvédelem érdekében
3. ábra Egy gépi tanulási komponens magas szintű diagramja.

Gépi tanulási rendszer komponens

Az előző részben mélyrehatóan belemerültünk a rendszer általános architektúrájába, kiemelve a léptéket, az optimalizálást, valamint az offline és online adatfolyamokat. Ebben a részben megvizsgáljuk az előrejelzési szolgáltatást, és leírjuk az előrejelzési szolgáltatást működtető gépi tanulási rendszert.

Több mint 100 adattípus és néhány strukturálatlan tartalom, például üzenetadatok és felhasználói tartalom miatt a tisztán kézi heurisztika használata szubparametrikus osztályozási pontosságot eredményez, különösen a strukturálatlan adatok esetében. Emiatt gépi tanulási rendszert is kifejlesztettünk a strukturálatlan adatok bonyolultságának kezelésére. A gépi tanulás használata lehetővé teszi, hogy eltávolodjon a kézi heurisztikától, és a pontosság javítása érdekében funkciókkal és további adatjelekkel (például oszlopnevekkel, adat eredetével) dolgozzon.

A megvalósított modell a sűrű és ritka objektumok vektoros reprezentációit [3] külön vizsgálja. Ezeket azután egyesítik, hogy egy vektort képezzenek, amely sorozatos normalizáláson [4] és nemlinearitási lépéseken megy keresztül a végeredmény elkészítéséhez. A végeredmény egy [0-1] közötti lebegőpontos szám minden címkénél, amely jelzi annak valószínűségét, hogy a példa az adott érzékenységi típushoz tartozik. A PyTorch használata a modellben lehetővé tette számunkra, hogy gyorsabban haladjunk, így a csapaton kívüli fejlesztők gyorsan végrehajthatják és tesztelhetik a változtatásokat.

Az architektúra tervezésekor fontos volt a ritka (pl. szöveg) és a sűrű (pl. numerikus) objektumok külön-külön modellezése az eredendő különbségek miatt. A végső architektúra esetében az is fontos volt, hogy a tanulási sebesség, a kötegméret és más hiperparaméterek optimális értékét megtaláljuk a paraméter-sweep-et. Az optimalizáló választása is fontos hiperparaméter volt. Azt találtuk, hogy egy népszerű optimalizáló Ádámgyakran túlillesztéshez vezet, míg a modell a SGD stabilabb. Voltak további árnyalatok, amelyeket közvetlenül a modellbe kellett foglalnunk. Például statikus szabályok, amelyek biztosítják, hogy a modell determinisztikus előrejelzést adjon, ha egy jellemzőnek van bizonyos értéke. Ezeket a statikus szabályokat ügyfeleink határozzák meg. Azt találtuk, hogy ezek közvetlenül a modellbe történő beépítése önállóbb és robusztusabb architektúrát eredményezett, szemben az utófeldolgozási lépés végrehajtásával, amely ezeket a speciális éleseteket kezeli. Vegye figyelembe azt is, hogy ezek a szabályok le vannak tiltva az edzés során, hogy ne zavarják a gradiens süllyedés edzési folyamatát.

Problémák

Az egyik kihívás a jó minőségű, megbízható adatok gyűjtése volt. A modellnek minden osztályhoz bizalomra van szüksége, hogy megtanulja az objektumok és címkék közötti asszociációkat. Az előző részben mind a rendszermérés, mind a modellképzés adatgyűjtési módszereit tárgyaltuk. Az elemzés kimutatta, hogy az olyan adatosztályok, mint a hitelkártya- és bankszámlaszám, nem túl gyakoriak raktárunkban. Ez megnehezíti a nagy mennyiségű megbízható adat összegyűjtését a modellek betanításához. A probléma megoldása érdekében eljárásokat dolgoztunk ki szintetikus alapigazság-adatok beszerzésére ezekhez az osztályokhoz. Ilyen adatokat hozunk létre érzékeny típusokhoz, beleértve SSN, hitelkártyaszámok и IBAN-számok, amelyekre a modell korábban nem tudott előre jelezni. Ez a megközelítés lehetővé teszi érzékeny adattípusok feldolgozását a tényleges érzékeny adatok elrejtésével járó adatvédelmi kockázatok nélkül.

Az alapvető igazságkérdések mellett vannak nyitott építészeti kérdések, amelyeken dolgozunk, mint pl változtassa meg az elszigeteltséget и korai megállás. A változtatások elkülönítése fontos annak biztosítására, hogy amikor a hálózat különböző részein különböző változtatásokat hajtanak végre, a hatás meghatározott osztályokra különül el, és ne legyen széles körű hatása az általános előrejelzési teljesítményre. A korai leállási kritériumok javítása is kritikus fontosságú, hogy az edzési folyamatot minden osztálynál egy stabil ponton leállíthassuk, ne pedig olyan ponton, ahol egyes osztályok túledzettek, mások pedig nem.

Funkció fontossága

Amikor egy új funkciót bevezetünk egy modellbe, tudni akarjuk, hogy ez milyen hatással van a modellre. Gondoskodni szeretnénk arról is, hogy az előrejelzések ember által értelmezhetők legyenek, hogy pontosan megérthessük, milyen funkciókat használunk az egyes adattípusokhoz. Erre a célra fejlesztettük ki és vezettük be osztályonként funkciók fontossága a PyTorch modell számára. Vegye figyelembe, hogy ez eltér a jellemzők általános fontosságától, amely általában támogatott, mivel nem árulja el, hogy egy adott osztály számára mely szolgáltatások fontosak. Egy objektum fontosságát úgy mérjük, hogy kiszámítjuk az objektum átrendezése utáni előrejelzési hiba növekedését. Egy jellemző akkor "fontos", ha az értékek felcserélése növeli a modell hibáját, mivel ebben az esetben a modell a jellemzőre támaszkodott az előrejelzés elkészítéséhez. Egy jellemző „nem fontos”, ha az értékeinek keverése a modellhibát változatlanul hagyja, mivel ebben az esetben a modell figyelmen kívül hagyta [5].

A jellemző fontossága az egyes osztályok számára lehetővé teszi, hogy a modellt értelmezhetővé tegyük, hogy láthassuk, mit néz a modell a címke előrejelzésekor. Például amikor elemezzük CÍM, akkor garantáljuk, hogy a címhez tartozó jel, mint pl AddressLinesCount, előkelő helyet foglal el az egyes osztályok jellemzői fontossági táblázatában, így az emberi megérzésünk jól illeszkedik a modell által tanultakhoz.

Értékelés

Fontos a siker egyetlen mérőszámának meghatározása. Választjuk F2 - egyensúly a visszahívás és a pontosság között (a visszahívási torzítás valamivel nagyobb). A visszahívás fontosabb az adatvédelmi felhasználási eseteknél, mint a pontosság, mert kritikus fontosságú a csapat számára, hogy ne hagyjon ki semmilyen érzékeny adatot (a megfelelő pontosság biztosítása mellett). Modellünk tényleges F2-es teljesítményértékelése túlmutat e cikk keretein. Azonban gondos hangolással magas (0,9+) F2 pontszámot érhetünk el a legfontosabb érzékeny osztályoknál.

Kapcsolódó munka

Számos algoritmus létezik a strukturálatlan dokumentumok automatikus osztályozására különféle módszerekkel, például mintaillesztéssel, dokumentumhasonlóság-kereséssel és különféle gépi tanulási módszerekkel (Bayes-féle, döntési fák, k-közelebbi szomszédok és sok más) [6]. Ezek bármelyike ​​használható az osztályozás részeként. A probléma azonban a méretezhetőség. Ebben a cikkben az osztályozási megközelítés a rugalmasság és a teljesítmény irányába mutat. Ez lehetővé teszi számunkra, hogy a jövőben új osztályokat támogassunk, és alacsonyan tartsuk a késleltetést.

Az adatok ujjlenyomat-vételén is sok munka folyik. Például a [7] szerzői leírtak egy megoldást, amely az érzékeny adatszivárgások rögzítésének problémájára összpontosít. A mögöttes feltételezés az, hogy az adatokból ujjlenyomat vehető, hogy az ismert érzékeny adatokkal párosuljon. A [8] szerzői hasonló adatvédelmi szivárgási problémát írnak le, de megoldásuk egy adott Android-architektúrán alapul, és csak akkor kerül besorolásra, ha a felhasználói műveletek személyes adatok megosztását eredményezik, vagy ha az alapul szolgáló alkalmazás felhasználói adatokat szivárogtat ki. A helyzet itt némileg más, mert a felhasználói adatok is erősen strukturálatlanok lehetnek. Ezért az ujjlenyomatvételnél összetettebb technikára van szükségünk.

Végül, hogy megbirkózzunk bizonyos típusú érzékeny adatokkal kapcsolatos adathiányokkal, szintetikus adatokat vezettünk be. Az adatkiegészítésről nagy mennyiségű irodalom áll rendelkezésre, például a [9] szerzői a zajinjektálás szerepét tárták fel az edzés során, és pozitív eredményeket figyeltek meg a felügyelt tanulásban. Az adatvédelemmel kapcsolatos megközelítésünk más, mivel a zajos adatok bevezetése kontraproduktív lehet, és ehelyett a jó minőségű szintetikus adatokra összpontosítunk.

Következtetés

Ebben a cikkben egy olyan rendszert mutattunk be, amely képes osztályozni egy adatot. Ez lehetővé teszi számunkra, hogy rendszereket hozzunk létre az adatvédelmi és biztonsági szabályzatok érvényesítésére. Megmutattuk, hogy a méretezhető infrastruktúra, a folyamatos integráció, a gépi tanulás és a kiváló minőségű adatbiztosítás kulcsszerepet játszik számos adatvédelmi kezdeményezésünk sikerében.

A jövőbeni munkának sok iránya van. Ez magában foglalhatja a nem sématizált adatok (fájlok) támogatását, nemcsak az adattípus, hanem az érzékenységi szint osztályozását, valamint az önfelügyelt tanulás alkalmazását a képzés során pontos szintetikus példák generálásával. Ez viszont segít a modellnek a legnagyobb mértékben csökkenteni a veszteségeket. A jövőbeni munka a nyomozási munkafolyamatra is összpontosíthat, ahol túllépünk a felderítésen, és a különböző adatvédelmi jogsértések alapvető okainak elemzését végezzük. Ez segít az olyan esetekben, mint az érzékenységelemzés (azaz, hogy egy adattípus adatvédelmi érzékenysége magas-e (pl. felhasználói IP) vagy alacsony (pl. Facebook belső IP-címe)).

Bibliográfia

  1. David Ben-David, Tamar Domany és Abigail Tarem. Vállalati adatok osztályozása szemantikus webes technológiák segítségével. Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks és Birte Glimm szerkesztők, A szemantikus web – ISWC 2010, 66–81. oldal, 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 és Sanjeev Kumar. f4: A Facebook meleg BLOB tárolórendszere. Ban ben 11. USENIX szimpózium az operációs rendszerek tervezéséről és megvalósításáról (OSDI 14), 383–398. oldal, Broomfield, CO, 2014. október. USENIX Association.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado és Jeff Dean. A szavak és kifejezések elosztott reprezentációi és kompozíciójuk. C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani és K. Q. Weinberger szerkesztők, A neurális információfeldolgozó rendszerek fejlődése 26, 3111–3119. oldal. Curran Associates, Inc., 2013.
  4. Sergey Ioffe és Christian Szegedy. Kötegelt normalizálás: A mély hálózati képzés felgyorsítása a belső kovariáns eltolódás csökkentésével. Francis Bach és David Blei szerkesztőkben, A gépi tanulás 32. nemzetközi konferenciájának anyaga, 37. kötet Proceedings of Machine Learning Research, 448–456. oldal, Lille, Franciaország, 07. július 09–2015. PMLR.
  5. Leo Breiman. Véletlen erdők. Mach. Tanul., 45(1):5–32, 2001. október.
  6. Thair Nu Phyu. Osztályozási technikák felmérése az adatbányászatban.
  7. X. Shu, D. Yao és E. Bertino. Az érzékeny adatoknak való kitettség magánélet-megőrző észlelése. IEEE-tranzakciók az információs kriminalisztika és biztonság területén, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning és Xiaoyang Wang. Alkalmazó: Érzékeny adatátvitel elemzése androidban az adatszivárgás észleléséhez. 1043–1054., 11. 2013. oldal.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong és Quoc V. Le. Felügyelet nélküli adatbővítés.

Méretezhető adatosztályozás a biztonság és az adatvédelem érdekében
A SkillFactory online kurzusok elvégzésével megtudhatja, hogyan lehet a semmiből keresett szakmát szerezni, vagy szinttel feljebb lépni a készségek és a fizetés tekintetében:

További tanfolyamok

Forrás: will.com

Hozzászólás