Skaalautuva tietojen luokitus turvallisuuden ja yksityisyyden takaamiseksi

Skaalautuva tietojen luokitus turvallisuuden ja yksityisyyden takaamiseksi

Sisältöpohjainen tietojen luokittelu on avoin ongelma. Perinteiset tietojen katoamisen estojärjestelmät (DLP) ratkaisevat tämän ongelman ottamalla sormenjäljet ​​asiaankuuluvista tiedoista ja valvomalla päätepisteitä sormenjälkiä varten. Koska Facebookissa on suuri määrä jatkuvasti muuttuvia tietoresursseja, tämä lähestymistapa ei ole vain skaalautuva, vaan se ei myöskään ole tehokas määritettäessä, missä tiedot sijaitsevat. Tässä artikkelissa keskitytään päästä päähän -järjestelmään, joka on rakennettu tunnistamaan herkät semanttiset tyypit Facebookissa laajassa mittakaavassa ja valvomaan automaattisesti tietojen tallennusta ja kulunvalvontaa.

Tässä kuvattu lähestymistapa on ensimmäinen päästä päähän -tietosuojajärjestelmämme, joka yrittää ratkaista tämän ongelman sisällyttämällä datasignaaleja, koneoppimista ja perinteisiä sormenjälkitekniikoita kartoittamaan ja luokittelemaan kaiken Facebookin datan. Kuvattua järjestelmää käytetään tuotantoympäristössä, ja se saavuttaa keskimääräisen F2-pisteen 0,9+ eri tietosuojaluokissa ja käsittelee suuria tietoresursseja kymmenissä arkistoissa. Esittelyssä käännös Facebookin ArXiv-paperista koneoppimiseen perustuvasta skaalautuvasta tietojen luokittelusta turvallisuuden ja yksityisyyden takaamiseksi.

Esittely

Nykyään organisaatiot keräävät ja tallentavat suuria tietomääriä useissa eri muodoissa ja paikoissa [1], minkä jälkeen tietoja kulutetaan monissa paikoissa, toisinaan kopioidaan tai tallennetaan välimuistiin useita kertoja, jolloin arvokasta ja arkaluontoista yritystietoa hajallaan moniin yritystietoihin. myymälöissä. Kun organisaation on täytettävä tietyt lakisääteiset vaatimukset, kuten siviilioikeudenkäyntimääräysten noudattaminen, tulee tarpeelliseksi kerätä tietoja vaadittujen tietojen sijainnista. Kun tietosuojasäännöstössä todetaan, että organisaation on piilotettava kaikki sosiaaliturvatunnukset (SSN) jaettaessa henkilökohtaisia ​​tietoja luvattomien tahojen kanssa, luonnollinen ensimmäinen askel on etsiä kaikista SSN-numeroista organisaation tietovarastoista. Tällaisissa olosuhteissa tietojen luokittelusta tulee kriittinen [1]. Luokittelujärjestelmän avulla organisaatiot voivat automaattisesti valvoa tietosuoja- ja turvallisuuskäytäntöjä, kuten sallia kulunvalvontakäytännöt ja tietojen säilyttämisen. Facebook esittelee Facebookissa rakentamamme järjestelmän, joka käyttää useita datasignaaleja, skaalautuvaa järjestelmäarkkitehtuuria ja koneoppimista löytääkseen arkaluonteisia semanttisia tietotyyppejä.

Tietojen etsiminen ja luokittelu on prosessi, jossa etsitään ja merkitään tietoja, jotta asiaankuuluvat tiedot voidaan hakea nopeasti ja tehokkaasti tarvittaessa. Nykyinen prosessi on luonteeltaan melko manuaalinen, ja se koostuu asiaankuuluvien lakien tai määräysten tutkimisesta, sen määrittämisestä, minkä tyyppisiä tietoja pitäisi pitää arkaluonteisina ja mitkä ovat eri herkkyystasot, ja sitten luokkien ja luokituskäytäntöjen rakentamisesta sen mukaisesti [1]. Tietojen häviämisen esto (DLP) ottaa sitten datasta sormenjäljet ​​ja tarkkailee loppupäätepisteitä sormenjälkien saamiseksi. Tämä lähestymistapa ei yksinkertaisesti skaalaudu, kun käsitellään omaisuutta vaativaa varastoa, jossa on petatavuja tietoa.

Tavoitteenamme on rakentaa tiedon luokitusjärjestelmä, joka skaalautuu sekä vankoihin että ohimeneviin käyttäjätietoihin ilman lisärajoituksia tietotyypeille tai -muodoille. Tämä on rohkea tavoite, ja siihen liittyy luonnollisesti haasteita. Tietty tietue voi olla tuhansia merkkejä pitkä.

Skaalautuva tietojen luokitus turvallisuuden ja yksityisyyden takaamiseksi
Kuva 1. Online- ja offline-ennustevirrat

Siksi meidän on esitettävä se tehokkaasti käyttämällä yhteisiä ominaisuuksia, joita voidaan myöhemmin yhdistää ja helposti siirtää. Näiden ominaisuuksien ei pitäisi vain tarjota tarkkaa luokittelua, vaan tarjota myös joustavuutta ja laajennettavuutta uusien tietotyyppien lisäämiseen ja löytämiseen tulevaisuudessa. Toiseksi sinun on käsiteltävä suuria offline-pöytiä. Pysyvää tietoa voidaan tallentaa useiden petatavujen kokoisiin taulukoihin. Tämä saattaa hidastaa skannausnopeuksia. Kolmanneksi meidän on noudatettava haihtuvien tietojen tiukkaa SLA-luokitusta. Tämä pakottaa järjestelmän olemaan erittäin tehokas, nopea ja tarkka. Lopuksi meidän on tarjottava matalan viiveen dataluokitus haihtuville tiedoille reaaliaikaisen luokituksen suorittamiseksi sekä Internetin käyttötapauksissa.

Tässä artikkelissa kuvataan, kuinka selvisimme yllä olevista haasteista, ja esitellään nopea ja skaalautuva luokitusjärjestelmä, joka luokittelee kaikentyyppiset, -muotoiset ja -lähteet tietoelementit yhteisten ominaisuuksien perusteella. Laajensimme järjestelmäarkkitehtuuria ja loimme mukautetun koneoppimismallin offline- ja online-tietojen nopeaan luokitteluun. Tämä artikkeli on järjestetty seuraavasti: Osassa 2 esitetään järjestelmän yleinen rakenne. Osassa 3 käsitellään koneoppimisjärjestelmän osia. Kohdissa 4 ja 5 korostetaan asiaan liittyvää työtä ja hahmotellaan tulevaisuuden työsuuntia.

Arkkitehtuuri

Pysyvän ja Facebookin mittakaavan verkkotiedon haasteisiin vastaamiseksi luokitusjärjestelmässä on kaksi erillistä virtaa, joista keskustelemme tarkemmin.

Kestävä data

Aluksi järjestelmän on opittava Facebookin monista tietoresursseista. Jokaisesta arkistosta kerätään joitain perustietoja, kuten kyseiset tiedot sisältävä tietokeskus, tiedot sisältävä järjestelmä ja tietyssä tietovarastossa sijaitsevat resurssit. Tämä luo metatietoluettelon, jonka avulla järjestelmä voi noutaa tiedot tehokkaasti ylikuormittamatta asiakkaita ja muiden suunnittelijoiden käyttämiä resursseja.

Tämä metatietoluettelo tarjoaa luotettavan lähteen kaikille skannatuille resursseille ja antaa sinun seurata eri resurssien tilaa. Näitä tietoja käyttämällä määritetään ajoitusprioriteetti järjestelmästä kerättyjen tietojen ja sisäisten tietojen perusteella, kuten aika, jolloin resurssi on viimeksi skannattu onnistuneesti ja aika, jolloin se luotiin, sekä kyseisen omaisuuden aiemmat muisti- ja suoritinvaatimukset, jos se on skannattu ennenkin. Sitten kullekin tietoresurssille (kun resurssit tulevat saataville) kutsutaan työ resurssin skannaamiseksi.

Jokainen työ on käännetty binääritiedosto, joka suorittaa Bernoulli-näytteen kunkin omaisuuden uusimmista saatavilla olevista tiedoista. Omaisuus on jaettu yksittäisiin sarakkeisiin, joissa kunkin sarakkeen luokittelutulos käsitellään itsenäisesti. Lisäksi järjestelmä etsii sarakkeiden sisältämiä kyllästyneitä tietoja. JSON, taulukot, koodatut rakenteet, URL-osoitteet, 64 sarjoitetut perustiedot ja paljon muuta tarkistetaan. Tämä voi pidentää merkittävästi tarkistuksen suoritusaikaa, koska yksi taulukko voi sisältää tuhansia sisäkkäisiä sarakkeita blobissa json.

Jokaisen tietoresurssissa valitun rivin kohdalla luokitusjärjestelmä poimii float- ja tekstiobjektit sisällöstä ja liittää jokaisen objektin takaisin sarakkeeseen, josta se on otettu. Ominaisuuden poimintavaiheen tulos on kartta kaikista ominaisuuksista jokaiselle tietoresurssista löytyvälle sarakkeelle.

Mitä varten merkit ovat?

Attribuuttien käsite on avainasemassa. Kelluvien ja tekstiominaisuuksien sijaan voimme välittää raakamerkkijononäytteitä, jotka poimitaan suoraan kustakin tietoresurssista. Lisäksi koneoppimismalleja voidaan kouluttaa suoraan jokaiselle näytteelle sen sijaan, että tehdään satoja ominaisuuslaskelmia, jotka yrittävät vain arvioida näytettä. Tähän on useita syitä:

  1. Yksityisyys ensin: Mikä tärkeintä, ominaisuuksien käsite antaa meille mahdollisuuden tallentaa muistiin vain ne kuviot, jotka haemme. Tämä varmistaa, että säilytämme näytteitä yhtä tarkoitusta varten emmekä koskaan kirjaa niitä omin voimin. Tämä on erityisen tärkeää epävakaalle datalle, koska palvelun on säilytettävä jokin luokittelutila ennen ennusteen antamista.
  2. Muisti: Jotkut näytteet voivat olla tuhansia merkkejä pitkiä. Tällaisten tietojen tallentaminen ja välittäminen järjestelmän osiin kuluttaa tarpeettomasti monia lisätavuja. Nämä kaksi tekijää voivat yhdistyä ajan myötä, koska on olemassa monia tietoresursseja, joissa on tuhansia sarakkeita.
  3. Ominaisuuksien yhdistäminen: Ominaisuudet edustavat selkeästi jokaisen tarkistuksen tuloksia ominaisuusjoukon kautta, jolloin järjestelmä voi yhdistää saman tietoresurssin aikaisempien tarkistusten tulokset kätevällä tavalla. Tämä voi olla hyödyllistä kootattaessa skannaustuloksia yhdestä tietoresurssista useille suorituksille.

Ominaisuudet lähetetään sitten ennustepalveluun, jossa käytämme sääntöpohjaista luokittelua ja koneoppimista ennustaaksemme kunkin sarakkeen tietotunnisteet. Palvelu luottaa sekä sääntöluokittajiin että koneoppimiseen ja valitsee parhaan ennusteen jokaisesta ennusteobjektista.

Sääntöluokittimet ovat manuaalisia heuristioita, ne käyttävät laskelmia ja kertoimia normalisoimaan objektin alueelle 0–100. Kun tällainen alkuperäinen pistemäärä on luotu kullekin tietotyypille ja sarakkeen nimelle, joka liittyy näihin tietoihin, sitä ei sisällytetä mihinkään "kieltoon". luettelot" ,Sääntöluokitus valitsee korkeimman normalisoidun pistemäärän kaikista tietotyypeistä.

Luokituksen monimutkaisuudesta johtuen pelkkä manuaaliseen heuristiikkaan luottaminen johtaa alhaiseen luokittelutarkkuuteen, erityisesti strukturoimattomien tietojen osalta. Tästä syystä kehitimme koneoppimisjärjestelmän, joka toimii strukturoimattoman datan, kuten käyttäjäsisällön ja osoitteen, luokittelussa. Koneoppiminen on mahdollistanut siirtymisen pois manuaalisesta heuristiikasta ja lisätietosignaalien (esim. sarakkeiden nimet, datan alkuperä) soveltamisen, mikä parantaa merkittävästi havaitsemisen tarkkuutta. Sukellaan syvälle koneoppimisarkkitehtuuriimme myöhemmin.

Ennustepalvelu tallentaa kunkin sarakkeen tulokset sekä tarkistuksen aikaa ja tilaa koskevat metatiedot. Kaikki näistä tiedoista riippuvat kuluttajat ja jatkoprosessit voivat lukea ne päivittäin julkaistavasta tietojoukosta. Tämä joukko yhdistää kaikkien näiden skannaustöiden tai reaaliaikaisten tietoluetteloiden sovellusliittymien tulokset. Julkaistut ennusteet ovat perusta tietosuoja- ja turvallisuuskäytäntöjen automaattiselle toimeenpanolle.

Lopuksi, kun ennustepalvelu on kirjoittanut kaikki tiedot ja kaikki ennusteet on tallennettu, Data Catalog API voi palauttaa kaikki tietotyyppien ennusteet resurssille reaaliajassa. Järjestelmä julkaisee joka päivä tietojoukon, joka sisältää kaikki viimeisimmät ennusteet kullekin omaisuudelle.

Haihtuvaa dataa

Vaikka yllä oleva prosessi on suunniteltu pysyvälle omaisuudelle, myös pysyvää liikennettä pidetään osana organisaation tietoja ja se voi olla tärkeää. Tästä syystä järjestelmä tarjoaa online-sovellusliittymän reaaliaikaisten luokitusennusteiden luomiseen katkonaiselle liikenteelle. Reaaliaikaista ennustejärjestelmää käytetään laajalti luokittelemaan lähtevää liikennettä, saapuvaa liikennettä koneoppimismalleihin ja mainostajatietoihin.

Tässä API käyttää kahta pääargumenttia: ryhmittelyavaimen ja ennustettavan raakadatan. Palvelu suorittaa saman objektin haun kuin edellä on kuvattu ja ryhmittelee objektit samalle avaimelle. Näitä ominaisuuksia tuetaan myös pysyvyysvälimuistissa vikojen palauttamiseksi. Palvelu varmistaa jokaisen ryhmittelyavaimen kohdalla, että se on nähnyt tarpeeksi näytteitä ennen kuin se soittaa ennustepalveluun edellä kuvatulla tavalla.

optimointi

Joidenkin tallennustilojen skannaamiseen käytämme kirjastoja ja tekniikoita, joilla optimoimme lukemisen kuumasta tallennustilasta [2] ja varmistamme, että muut käyttäjät, jotka käyttävät samaa tallennustilaa, eivät aiheuta häiriöitä.

Äärimmäisen suurille taulukoille (50+ petabyyttiä) kaikista optimoinneista ja muistin tehokkuudesta huolimatta järjestelmä skannaa ja laskee kaiken ennen kuin muisti loppuu. Loppujen lopuksi skannaus lasketaan kokonaan muistiin, eikä sitä tallenneta tarkistuksen aikana. Jos suuret taulukot sisältävät tuhansia sarakkeita, joissa on strukturoimattomia tietoryhmiä, työ voi epäonnistua riittämättömien muistiresurssien vuoksi suoritettaessa ennusteita koko taulukolle. Tämä vähentää kattavuutta. Tämän torjumiseksi optimoimme järjestelmän käyttämään skannausnopeutta välityspalvelimena sen selvittämiseksi, kuinka hyvin järjestelmä käsittelee nykyistä työtaakkaa. Käytämme nopeutta ennakoivana mekanismina nähdäksemme muistiongelmia ja laskeaksemme ominaisuuskartan ennakoivasti. Samaan aikaan käytämme tavallista vähemmän dataa.

Datasignaalit

Luokittelujärjestelmä on vain niin hyvä kuin datasta tulevat signaalit. Tässä tarkastellaan kaikkia luokitusjärjestelmän käyttämiä signaaleja.

  • Sisältöperusteinen: Tietenkin ensimmäinen ja tärkein signaali on sisältö. Bernoulli-näytteenotto suoritetaan jokaiselle skannaamalle tietosisällölle ja poimitaan ominaisuuksia tietosisällön perusteella. Monet merkit tulevat sisällöstä. Mikä tahansa määrä kelluvia objekteja on mahdollista, mikä edustaa laskelmia siitä, kuinka monta kertaa tietty näytetyyppi on nähty. Meillä voi esimerkiksi olla merkkejä näytteessä näkyvien sähköpostien määrästä tai merkkejä siitä, kuinka monta emojia näytteessä näkyy. Nämä ominaisuuslaskelmat voidaan normalisoida ja koota eri skannauksilla.
  • Tietojen alkuperä: Tärkeä signaali, joka voi auttaa, kun sisältö on muuttunut ylätason taulukosta. Yleinen esimerkki on hajautettu data. Kun alitaulukon tiedot tiivistetään, se tulee usein päätaulukosta, jossa se pysyy tyhjinä. Lineage-tiedot auttavat luokittelemaan tietyntyyppiset tiedot, kun niitä ei lueta selvästi tai ne muunnetaan ylävirran taulukosta.
  • Huomautukset: Toinen korkealaatuinen signaali, joka auttaa tunnistamaan jäsentämätöntä dataa. Itse asiassa merkinnät ja alkuperätiedot voivat työskennellä yhdessä attribuuttien levittämiseksi eri tietoresursseihin. Merkinnät auttavat tunnistamaan jäsentämättömän tiedon lähteen, kun taas sukulinjatiedot voivat auttaa seuraamaan kyseisten tietojen kulkua koko arkistossa.
  • Tietojen lisääminen on tekniikka, jossa erityisiä, lukukelvottomia merkkejä lisätään tarkoituksella tunnettujen tietotyyppien tunnettuihin lähteisiin. Sitten aina kun skannaamme sisältöä, jossa on sama lukukelvoton merkkijono, voimme päätellä, että sisältö tulee kyseisestä tunnetusta tietotyypistä. Tämä on toinen laadullinen datasignaali, joka muistuttaa huomautuksia. Paitsi että sisältöön perustuva tunnistus auttaa löytämään syötetyt tiedot.

Mittausmittarit

Tärkeä osa on tiukka mittausmenetelmä. Luokituksen parantamisen iteroinnin tärkeimmät mittarit ovat tarkkuus ja kunkin etiketin muistaminen, joista F2-pistemäärä on tärkein.

Näiden mittareiden laskemiseen tarvitaan itsenäinen menetelmä tietovarojen merkitsemiseksi, joka on riippumaton järjestelmästä itsestään, mutta jota voidaan käyttää suoraan vertailuun sen kanssa. Alla kuvataan, kuinka keräämme pohjatotuutta Facebookista ja käytämme sitä luokitusjärjestelmämme kouluttamiseen.

Luotettavan tiedon kerääminen

Keräämme luotettavaa tietoa jokaisesta alla luetellusta lähteestä omaan taulukkoonsa. Jokainen taulukko vastaa viimeisimpien havaittujen arvojen yhdistämisestä kyseisestä lähteestä. Jokaisella lähteellä on tietojen laadun tarkistukset sen varmistamiseksi, että kunkin lähteen havaitut arvot ovat korkealaatuisia ja sisältävät uusimmat tietotyyppitunnisteet.

  • Kirjausalustamääritykset: Tietyt kentät pesätaulukoissa on täytetty tietyn tyyppisillä tiedoilla. Näiden tietojen käyttö ja levittäminen toimii luotettavana totuuden lähteenä.
  • Manuaalinen merkitseminen: Järjestelmää ylläpitävät kehittäjät sekä ulkoiset merkinnät on koulutettu merkitsemään sarakkeita. Tämä toimii yleensä hyvin kaikentyyppisille varaston tiedoille ja voi olla ensisijainen totuuden lähde joillekin jäsentämättömille tiedoille, kuten viestidatalle tai käyttäjäsisällölle.
  • Päätaulukoiden sarakkeet voidaan merkitä tai merkitä sisältämään tiettyjä tietoja, ja voimme seurata näitä tietoja alataulukoissa.
  • Suoritussäikeiden hakeminen: Facebookin suoritussäikeet sisältävät tietyntyyppistä dataa. Käyttämällä skanneriamme palveluarkkitehtuurina voimme ottaa näytteitä virroista, joilla on tunnetut tietotyypit, ja lähettää ne järjestelmän kautta. Järjestelmä lupaa olla tallentamatta näitä tietoja.
  • Esimerkkitaulukot: Isoja pesätaulukoita, joiden tiedetään sisältävän koko tietokorpuksen, voidaan käyttää myös harjoitustietona ja välittää skannerin kautta palveluna. Tämä sopii erinomaisesti taulukoille, joissa on täysi valikoima tietotyyppejä, joten sarakkeen satunnainen otanta vastaa kyseisen tietotyypin koko joukon otantaa.
  • Synteettinen data: Voimme jopa käyttää kirjastoja, jotka luovat dataa lennossa. Tämä toimii hyvin yksinkertaisissa julkisissa tietotyypeissä, kuten osoite tai GPS.
  • Tietosuojaohjelmat: Tietosuojaohjelmat käyttävät yleensä tietojen valvojia käytäntöjen määrittämiseen tiedoille manuaalisesti. Tämä toimii erittäin tarkana totuuden lähteenä.

Yhdistämme kaikki suuret totuuden lähteet yhdeksi aineistoksi, jossa on kaikki tiedot. Suurin haaste validiteetissa on varmistaa, että se edustaa tietovarastoa. Muuten luokitusmoottorit voivat harjoitella yli. Tämän torjumiseksi hyödynnetään kaikkia yllä olevia lähteitä tasapainon varmistamiseksi malleja harjoitettaessa tai mittareita laskettaessa. Lisäksi ihmisleimaajat ottavat yhtenäisesti näytteitä arkiston eri sarakkeista ja merkitsevät tiedot sen mukaisesti, jotta perustotuuden kerääminen pysyy puolueettomana.

Jatkuva integraatio

Nopean iteroinnin ja parantamisen varmistamiseksi on tärkeää mitata järjestelmän suorituskykyä aina reaaliajassa. Voimme mitata jokaisen luokituksen parannukset tämän päivän järjestelmään verrattuna, jotta voimme ohjata taktisesti tulevia parannuksia datan perusteella. Tässä tarkastellaan, kuinka järjestelmä täydentää kelvollisten tietojen tarjoaman palautesilmukan.

Kun ajoitusjärjestelmä kohtaa resurssin, jonka tunniste on peräisin luotetusta lähteestä, ajoitamme kaksi tehtävää. Ensimmäinen käyttää tuotantoskanneriamme ja siten tuotantokykyämme. Toisessa tehtävässä käytetään uusinta koontiskanneria uusimmilla ominaisuuksilla. Jokainen tehtävä kirjoittaa tulostensa omaan taulukkoonsa ja merkitsee versiot luokittelutulosten mukana.

Näin vertaamme reaaliajassa julkaisuehdokkaan ja tuotantomallin luokittelutuloksia.

Vaikka tietojoukot vertaavat RC- ja PROD-ominaisuuksia, monet ennustuspalvelun ML-luokitusmoottorin muunnelmat kirjataan lokiin. Viimeksi rakennettu koneoppimismalli, nykyinen tuotannossa oleva malli ja kaikki kokeelliset mallit. Sama lähestymistapa antaa meille mahdollisuuden "viipaloida" mallin eri versioita (agnostikko sääntöluokittelijoillemme) ja vertailla mittareita reaaliajassa. Näin on helppo määrittää, milloin ML-kokeilu on valmis tuotantoon.

Joka ilta tälle päivälle lasketut RC-ominaisuudet lähetetään ML-harjoitusputkeen, jossa mallille opetetaan uusimmat RC-ominaisuudet ja se arvioi sen suorituskykyä pohjatotuustietojoukon perusteella.

Joka aamu malli suorittaa harjoittelun ja julkaistaan ​​automaattisesti kokeellisena mallina. Se sisällytetään automaattisesti kokeelliseen luetteloon.

Joitakin tuloksia

Yli 100 erilaista dataa on merkitty erittäin tarkasti. Hyvin jäsennellyt tyypit, kuten sähköpostit ja puhelinnumerot, luokitellaan arvolla f2, joka on suurempi kuin 0,95. Ilmaiset tietotyypit, kuten käyttäjien luoma sisältö ja nimi, toimivat myös erittäin hyvin, ja F2-pisteet ovat yli 0,85.

Suuri määrä yksittäisiä pysyviä ja haihtuvia tietoja sisältävää saraketta luokitellaan päivittäin kaikista arkistoista. Yli 500 teratavua skannataan päivittäin yli 10 tietovarastossa. Suurin osa näistä arkistoista kattaa yli 98 %.

Ajan myötä luokittelusta on tullut erittäin tehokasta, ja jatkuvassa offline-virrassa luokittelutyöt vievät keskimäärin 35 sekuntia sisällön skannaamisesta kunkin sarakkeen ennusteiden laskemiseen.

Skaalautuva tietojen luokitus turvallisuuden ja yksityisyyden takaamiseksi
Riisi. 2. Kaavio, joka kuvaa jatkuvan integroinnin kulkua ymmärtääksesi kuinka RC-objektit luodaan ja lähetetään malliin.

Skaalautuva tietojen luokitus turvallisuuden ja yksityisyyden takaamiseksi
Kuva 3. Koneoppimiskomponentin korkean tason kaavio.

Koneoppimisjärjestelmän komponentti

Edellisessä osiossa sukelsimme syvälle järjestelmän yleiseen arkkitehtuuriin korostaen mittakaavaa, optimointia sekä offline- ja online-tietovirtoja. Tässä osiossa tarkastellaan ennustepalvelua ja kuvataan koneoppimisjärjestelmä, joka käyttää ennustepalvelua.

Yli 100 tietotyypin ja osan jäsentämättömän sisällön, kuten viestidatan ja käyttäjäsisällön, ansiosta puhtaasti manuaalisen heuristiikan käyttö johtaa aliparametrisen luokittelun tarkkuuteen, erityisesti jäsentämättömälle tiedolle. Tästä syystä olemme myös kehittäneet koneoppimisjärjestelmän käsittelemään jäsentämättömän datan monimutkaisuutta. Koneoppimisen avulla voit siirtyä pois manuaalisesta heuristiikasta ja työskennellä ominaisuuksien ja lisätietosignaalien (esimerkiksi sarakkeiden nimet, tiedon alkuperä) kanssa tarkkuuden parantamiseksi.

Toteutettu malli tutkii vektorirepresentaatioita [3] tiheiden ja harvojen kohteiden yli erikseen. Nämä yhdistetään sitten vektoriksi, joka käy läpi sarjan eränormalisointia [4] ja epälineaarisuusvaiheita lopullisen tuloksen saamiseksi. Lopputuloksena on liukuluku luku välillä [0-1] jokaiselle tarralle, mikä osoittaa todennäköisyyden, että esimerkki kuuluu kyseiseen herkkyystyyppiin. PyTorchin käyttäminen mallissa antoi meille mahdollisuuden edetä nopeammin, mikä antoi tiimin ulkopuolisille kehittäjille mahdollisuuden tehdä ja testata muutoksia nopeasti.

Arkkitehtuuria suunniteltaessa oli tärkeää mallintaa harvat (esim. teksti) ja tiheät (esim. numeeriset) objektit erikseen niiden luontaisten erojen vuoksi. Lopullista arkkitehtuuria varten oli myös tärkeää suorittaa parametrien pyyhkäisy optimaalisen arvon löytämiseksi oppimisnopeudelle, eräkokolle ja muille hyperparametreille. Optimoijan valinta oli myös tärkeä hyperparametri. Löysimme, että suosittu optimoija Aatamijohtaa usein ylisovitukseen, kun taas malli, jossa on SGD vakaampi. Oli lisäviiveitä, jotka meidän piti sisällyttää suoraan malliin. Esimerkiksi staattiset säännöt, jotka varmistavat, että malli tekee deterministisen ennusteen, kun ominaisuudella on tietty arvo. Nämä staattiset säännöt ovat asiakkaamme määrittelemiä. Huomasimme, että niiden sisällyttäminen suoraan malliin johti itsenäisempään ja kestävämpään arkkitehtuuriin, toisin kuin jälkikäsittelyvaiheen toteuttaminen näiden erityisten reunatapausten käsittelemiseksi. Huomaa myös, että nämä säännöt ovat poissa käytöstä harjoituksen aikana, jotta ne eivät häiritse kaltevuuslaskuharjoitteluprosessia.

Ongelmat

Yksi haasteista oli laadukkaan ja luotettavan tiedon kerääminen. Malli tarvitsee luottamusta jokaiselle luokalle, jotta se voi oppia assosiaatioita objektien ja tarrojen välillä. Edellisessä osiossa käsittelimme tiedonkeruumenetelmiä sekä järjestelmän mittaamiseen että mallikoulutukseen. Analyysi osoitti, että tietoluokat, kuten luottokortti- ja pankkitilinumerot, eivät ole kovin yleisiä varastossamme. Tämä tekee vaikeaksi kerätä suuria määriä luotettavaa dataa mallien kouluttamiseksi. Tämän ongelman ratkaisemiseksi olemme kehittäneet prosesseja synteettisen perustotuusdatan hankkimiseksi näille luokille. Luomme tällaisia ​​tietoja arkaluonteisille tyypeille, mukaan lukien SSN, luottokorttien numerot и IBAN-luvut, joita malli ei voinut ennustaa aiemmin. Tämä lähestymistapa mahdollistaa arkaluonteisten tietotyyppien käsittelyn ilman todellisten arkaluonteisten tietojen piilottamiseen liittyviä tietosuojariskejä.

Totuusasioiden lisäksi meillä on avoimia arkkitehtonisia kysymyksiä, joiden parissa työskentelemme, kuten muuttaa eristystä и aikainen pysähdys. Muutosten eristäminen on tärkeää sen varmistamiseksi, että kun verkon eri osiin tehdään erilaisia ​​muutoksia, vaikutus eristetään tiettyihin luokkiin eikä sillä ole laajaa vaikutusta yleiseen ennusteen suorituskykyyn. Varhaispysäytyskriteerien parantaminen on myös kriittistä, jotta voimme pysäyttää harjoitteluprosessin vakaaseen pisteeseen kaikilla luokilla, sen sijaan, että jotkin luokat ylikuntoilevat ja toiset eivät.

Ominaisuuden tärkeys

Kun malliin tuodaan uusi ominaisuus, haluamme tietää sen kokonaisvaikutuksen malliin. Haluamme myös varmistaa, että ennusteet ovat ihmisten tulkittavissa, jotta voimme ymmärtää tarkalleen, mitä ominaisuuksia kullakin datatyypillä käytetään. Tätä tarkoitusta varten olemme kehittäneet ja ottaneet käyttöön luokan mukaan ominaisuuksien merkitys PyTorch-mallille. Huomaa, että tämä eroaa yleisestä ominaisuuden tärkeydestä, jota yleensä tuetaan, koska se ei kerro meille, mitkä ominaisuudet ovat tärkeitä tietylle luokalle. Mittaamme kohteen tärkeyden laskemalla ennustevirheen kasvun kohteen uudelleenjärjestelyn jälkeen. Ominaisuus on "tärkeä", kun arvojen vaihtaminen lisää mallin virhettä, koska tässä tapauksessa malli luotti ominaisuuteen ennusteessaan. Ominaisuus on "tärkeä", kun sen arvojen sekoittaminen jättää mallivirheen ennalleen, koska tässä tapauksessa malli jätti sen huomiotta [5].

Ominaisuuden tärkeys kullekin luokalle mahdollistaa mallin tekemisen tulkittavaksi, jotta voimme nähdä, mitä malli katsoo ennustettaessa tarraa. Esimerkiksi kun analysoimme OSOITE, takaamme, että osoitteeseen liittyvä kyltti, kuten AddressLinesCount, sijoittuu korkealle kunkin luokan ominaisuuden tärkeystaulukossa, jotta inhimillinen intuitiomme vastaa hyvin mallin oppimia asioita.

Arviointi

On tärkeää määrittää yksi menestysmittari. Me valitsemme F2 - tasapaino palauttamisen ja tarkkuuden välillä (muistutusharha on hieman suurempi). Palauttaminen on tärkeämpää yksityisyyden suojan käyttötapauksessa kuin tarkkuus, koska on tärkeää, että tiimi ei menetä mitään arkaluonteisia tietoja (samalla kun varmistetaan kohtuullinen tarkkuus). Varsinainen mallimme F2-suorituskyvyn arviointi ei kuulu tämän artikkelin piiriin. Huolellisella virityksellä voimme kuitenkin saavuttaa korkeita (0,9+) F2-pisteitä tärkeimmissä herkissä luokissa.

Liittyvä työ

Strukturoimattomien asiakirjojen automaattiseen luokitteluun on olemassa monia algoritmeja erilaisilla menetelmillä, kuten mallin täsmäytys, dokumenttien samankaltaisuushaku ja erilaisia ​​koneoppimismenetelmiä (Bayesian, päätöspuut, k-lähimmät naapurit ja monet muut) [6]. Mitä tahansa näistä voidaan käyttää osana luokittelua. Ongelmana on kuitenkin skaalautuvuus. Tässä artikkelissa käytetty luokittelutapa on suuntautunut joustavuuteen ja suorituskykyyn. Näin voimme tukea uusia luokkia tulevaisuudessa ja pitää latenssin alhaisena.

Myös tietojen sormenjälkien ottamisessa on paljon työtä. Esimerkiksi julkaisun [7] kirjoittajat kuvasivat ratkaisua, joka keskittyy arkaluonteisten tietovuotojen sieppaamiseen. Taustalla on oletus, että tiedoista voidaan ottaa sormenjäljet, jotta ne yhdistetään tunnettujen arkaluonteisten tietojen joukkoon. [8]:n kirjoittajat kuvaavat samanlaista tietosuojavuotoongelmaa, mutta heidän ratkaisunsa perustuu tiettyyn Android-arkkitehtuuriin ja luokitellaan vain, jos käyttäjän toimet johtavat henkilötietojen jakamiseen tai jos taustalla oleva sovellus vuotaa käyttäjätietoja. Tilanne on tässä hieman erilainen, koska käyttäjätiedot voivat olla myös erittäin jäsentämättömiä. Siksi tarvitsemme monimutkaisempaa tekniikkaa kuin sormenjälkien otto.

Lopuksi otimme käyttöön synteettiset tiedot, jotta selviytyisimme tietyntyyppisten arkaluonteisten tietojen puutteesta. Tietojen lisäämisestä on olemassa suuri määrä kirjallisuutta, esimerkiksi artikkelin [9] kirjoittajat tutkivat melun injektion roolia harjoituksen aikana ja havaitsivat positiivisia tuloksia ohjatussa oppimisessa. Lähestymistapamme yksityisyyteen on erilainen, koska meluisan datan lisääminen voi olla haitallista, ja sen sijaan keskitymme korkealaatuiseen synteettiseen dataan.

Johtopäätös

Tässä artikkelissa esittelimme järjestelmän, joka voi luokitella datan. Tämä antaa meille mahdollisuuden luoda järjestelmiä tietosuoja- ja turvallisuuskäytäntöjen noudattamiseksi. Olemme osoittaneet, että skaalautuva infrastruktuuri, jatkuva integraatio, koneoppiminen ja korkealaatuinen tiedonvarmistus ovat avainasemassa monien tietosuoja-aloitteidemme onnistumisessa.

Tulevaisuuden työhön on monta suuntaa. Tämä voi sisältää tuen tarjoamisen skemaattisille tiedoille (tiedostoille), tietotyypin luokittelun lisäksi herkkyystason ja itseohjatun oppimisen käyttämisen harjoituksen aikana luomalla tarkkoja synteettisiä esimerkkejä. Mikä puolestaan ​​​​auttaa mallia vähentämään tappioita suurimmalla määrällä. Jatkossa työskentely voisi keskittyä myös tutkinnan työnkulkuun, jossa menemme havaitsemista pidemmälle ja tarjoamme erilaisten tietosuojaloukkausten perussyyanalyysin. Tämä auttaa esimerkiksi herkkyysanalyysissä (eli onko tietotyypin yksityisyyden herkkyys korkea (esim. käyttäjän IP) vai alhainen (esim. Facebookin sisäinen IP)).

bibliografia

  1. David Ben-David, Tamar Domany ja Abigail Tarem. Yritystietojen luokittelu semanttisten verkkotekniikoiden avulla. Toimittajat: Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks ja Birte Glimm, Semanttinen verkko – ISWC 2010, sivut 66–81, 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 ja Sanjeev Kumar. f4: Facebookin lämmin BLOB-säilytysjärjestelmä. Sisään 11. USENIX-symposium käyttöjärjestelmien suunnittelusta ja toteutuksesta (OSDI 14), sivut 383–398, Broomfield, CO, lokakuu 2014. USENIX Association.
  3. Tomas Mikolov, Ilja Sutskever, Kai Chen, Greg S Corrado ja Jeff Dean. Sanojen ja lauseiden hajautetut esitykset ja niiden sommittelu. Julkaisussa C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani ja K. Q. Weinberger, toimittajat, Neuraalisten tietojenkäsittelyjärjestelmien kehitys 26, sivut 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioff ja Christian Szegedy. Eränormalisointi: Nopeuttaa syväverkkokoulutusta vähentämällä sisäistä kovariaattisiirtymää. Toimittajat Francis Bach ja David Blei, 32. kansainvälisen koneoppimiskonferenssin julkaisuja, tilavuus 37 / Proceedings of Machine Learning Research, sivut 448–456, Lille, Ranska, 07.–09. heinäkuuta 2015. PMLR.
  5. Leo Breiman. Satunnaisia ​​metsiä. Mach. Oppia., 45(1):5–32, lokakuu 2001.
  6. Thair Nu Phyu. Tietojen louhinnan luokittelutekniikoiden selvitys.
  7. X. Shu, D. Yao ja E. Bertino. Yksityisyyttä suojeleva arkaluonteisten tietojen altistumisen havaitseminen. IEEE-transaktiot informaatiotutkinnoista ja tietoturvasta, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning ja Xiaoyang Wang. Hakija: Analysoi arkaluonteista tiedonsiirtoa Androidissa yksityisyyden vuotojen havaitsemiseksi. sivut 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong ja Quoc V. Le. Valvomaton tietojen lisäys.

Skaalautuva tietojen luokitus turvallisuuden ja yksityisyyden takaamiseksi
Tutustu SkillFactory-verkkokursseille, kuinka saat halutun ammatin tyhjästä tai Level Up -tason osaamisen ja palkan suhteen:

Lisää kursseja

Lähde: will.com

Lisää kommentti