Маштабуемая класіфікацыя дадзеных для бяспекі і прыватнасці

Маштабуемая класіфікацыя дадзеных для бяспекі і прыватнасці

Класіфікацыя дадзеных на аснове кантэнту - гэта адкрытая задача. Традыцыйныя сістэмы прадухілення страты дадзеных (DLP) вырашаюць гэтую праблему шляхам зняцця адбіткаў з адпаведных дадзеных і маніторынгу канчатковых кропак для зняцця адбіткаў. Улічваючы вялікую колькасць увесь час якія змяняюцца рэсурсаў дадзеных у Facebook, гэты падыход не толькі не маштабуецца, але і неэфектыўны для вызначэння таго, дзе знаходзяцца дадзеныя. Гэты артыкул прысвечана скразной сістэме, пабудаванай для выяўлення адчувальных семантычных тыпаў у Facebook у маштабе і аўтаматычнага забеспячэння захоўвання дадзеных і кантролю доступу.

Апісаны тут падыход - гэта наша першая скразная сістэма прыватнасці, якая спрабуе вырашыць гэтую праблему шляхам уключэння сігналаў дадзеных, машыннага навучання і традыцыйных метадаў зняцця адбіткаў для адлюстравання і класіфікацыі ўсіх дадзеных у Facebook. Апісаная сістэма эксплуатуецца ў вытворчым асяроддзі, дасягаючы сярэдняга бала F2 0,9+ па розных класах прыватнасці пры апрацоўцы вялікай колькасці рэсурсаў дадзеных у дзясятках сховішчаў. Прадстаўляем пераклад публікацыі Facebook на ArXiv аб якая маштабуецца класіфікацыі дадзеных для забеспячэння бяспекі і канфідэнцыйнасці на аснове машыннага навучання.

Увядзенне

Сёння арганізацыі збіраюць і захоўваюць вялікія аб'ёмы дадзеных у розных фарматах і месцах [1], затым дадзеныя спажываюцца ў шматлікіх месцах, часам капіююцца ці кэшуюцца некалькі разоў, у выніку чаго каштоўная і канфідэнцыйная дзелавая інфармацыя рассейваецца па шматлікіх карпаратыўных сховішчах дадзеных. Калі ад арганізацыі патрабуецца выканаць пэўныя прававыя або нарматыўныя патрабаванні, напрыклад, выконваць нарматыўныя акты ў ходзе грамадзянскага судаводства, узнікае неабходнасць збору даных аб месцазнаходжанні патрэбных даных. Калі ў пастанове аб канфiдэнцыяльнасцi гаворыцца, што арганізацыя павінна маскіраваць усе нумары сацыяльнага страхавання (SSN) пры перадачы асабістай інфармацыі неаўтарызаваным суб'ектам, натуральным першым крокам з'яўляецца пошук усіх SSN у сховішчах дадзеных усёй арганізацыі. Пры такіх абставінах класіфікацыі дадзеных набывае вырашальнае значэнне [1]. Сістэма класіфікацыі дазволіць арганізацыям аўтаматычна забяспечыць выкананне канфідэнцыйнасці і палітыкі бяспекі, такія як уключэнне палітыкі кіравання доступам, захаванне дадзеных. Facebook уяўляе сістэму, пабудаваную намі ў Facebook, якая выкарыстоўвае мноства сігналаў дадзеных, якая маштабуецца сістэмную архітэктуру і машыннае навучанне для выяўлення адчувальных семантычных тыпаў дадзеных.

Выяўленне і класіфікацыя дадзеных - гэта іх пошук і маркіроўка такім чынам, каб пры неабходнасці можна было хутка і эфектыўна здабываць адпаведную інфармацыю. Цяперашні працэс носіць хутчэй ручны характар ​​і заключаецца ў вывучэнні адпаведных законаў або нарматыўных актаў, вызначэнні таго, якія тыпы інфармацыі трэба лічыць адчувальнымі і якія розныя ўзроўні адчувальнасці, а затым у адпаведнай пабудове класаў і палітыкі класіфікацыі [1]. Пасля сістэмы абароны ад страты дадзеных (DLP) здымаюць адбіткі з дадзеных і адсочваюць канчатковыя кропкі ўніз па струмені для атрымання адбіткаў. Пры працы са сховішчам з вялікай колькасцю актываў і петабайтамі дадзеных такі падыход проста не маштабуецца.

Наша мэта ў тым, каб пабудаваць сістэму класіфікацыі даных, якая маштабуецца як для ўстойлівых, так і для няўстойлівых карыстацкіх даных, без якіх-небудзь дадатковых абмежаванняў на тып або фармат даных. Гэта смелая мэта, і, натуральна, яна спалучана з цяжкасцямі. Якая-небудзь запіс дадзеных можа быць даўжынёй у тысячы сімвалаў.

Маштабуемая класіфікацыя дадзеных для бяспекі і прыватнасці
Малюнак 1. Патокі анлайн і афлайн-прагназавання

Таму мы павінны эфектыўна ўяўляць яе, выкарыстоўваючы агульны набор прыкмет, якія пасля могуць быць аб'яднаны і лёгка перамешчаныя. Гэтыя прыкметы павінны не толькі забяспечваць дакладную класіфікацыю, але і забяспечваць гнуткасць і пашыральнасць для лёгкага дадання і выяўленні новых тыпаў дадзеных у будучыні. Па-другое, трэба мець справу з вялікімі аўтаномнымі табліцамі. Устойлівыя дадзеныя могуць захоўвацца ў табліцах памерам у шмат петабайт. Гэта можа прывесці да зніжэння хуткасці сканавання. Па-трэцяе, мы павінны выконваць строгую класіфікацыю SLA па няўстойлівых дадзеных. Гэта прымушае сістэму быць высокаэфектыўнай, хуткай і дакладнай. Нарэшце, мы павінны забяспечыць класіфікацыю дадзеных з нізкай затрымкай для няўстойлівых даных, каб выконваць класіфікацыю ў рэжыме рэальнага часу, а таксама для выпадкаў выкарыстання ў інтэрнэце.

У гэтым артыкуле апісваецца, як мы спраўляліся з праблемамі вышэй, і ўяўляецца хуткая і якая маштабуецца сістэма класіфікацыі, якая класіфікуе элементы дадзеных усіх тыпаў, фарматаў і крыніц на аснове агульнага набору прыкмет. Мы пашырылі сістэмную архітэктуру і стварылі спецыяльную мадэль машыннага навучання для хуткай класіфікацыі афлайн і анлайн-дадзеных. Гэты артыкул арганізавана наступным чынам: у раздзеле 2 уяўляецца агульны дызайн сістэмы. У раздзеле 3 абмяркоўваюцца часткі сістэмы машыннага навучання. У раздзелах 4 і 5 расказваецца аб звязанай рабоце, намячаецца будучы напрамак работы.

Архітэктура

Каб справіцца з праблемамі ўстойлівых дадзеных і дадзеных анлайну ў маштабе Facebook, сістэма класіфікацыі мае два асобных патоку, якія мы падрабязна абмяркуем.

Устойлівыя дадзеныя

Першапачаткова сістэма павінна даведацца аб мностве інфармацыйных актываў Facebook. Для кожнага сховішчы збіраецца некаторая базавая інфармацыя, такая як цэнтр апрацоўкі дадзеных, які змяшчае гэтыя дадзеныя, сістэма з гэтымі дадзенымі і актывы, размешчаныя ў канкрэтным сховішчы дадзеных. Гэта фармуе каталог метададзеных, які дазваляе сістэме эфектыўна здабываць дадзеныя без перагрузкі кліентаў і рэсурсаў, якія выкарыстоўваюцца іншымі інжынерамі.

Гэты каталог метададзеных забяспечвае дакладную крыніцу для ўсіх сканаваных актываў і дазваляе адсочваць стан розных актываў. З дапамогай гэтай інфармацыі усталёўваецца прыярытэт планавання на аснове сабраных дадзеных і ўнутранай інфармацыі з сістэмы, такі як час апошняга паспяховага сканавання актыву і час яго стварэння, а таксама мінулыя патрабаванні да памяці і працэсару для гэтага актыву, калі ён сканаваўся раней. Затым для кожнага рэсурса даных (па меры таго, як рэсурсы становяцца даступнымі) выклікаецца заданне фактычнага сканіравання рэсурсу.

Кожнае заданне - гэта скампіляваны двайковы файл, які выконвае выбарку Бернулі па апошніх дадзеных, даступным для кожнага актыву. Актыў разбіваецца на асобныя слупкі, дзе вынік класіфікацыі кожнага слупка апрацоўваецца незалежна. Акрамя таго, сістэма скануе любыя насычаныя дадзеныя ўсярэдзіне слупкоў. JSON, масівы, кадаваныя структуры, URL-адрасы, серыялізаваныя дадзеныя base 64 і шматлікае іншае – усё гэта скануецца. Гэта можа значна павялічыць час выканання сканавання, бо адна табліца можа змяшчаць тысячы ўкладзеных слупкоў у вялікім двайковым аб'екце. json.

Для кожнага радка, які абраны ў актыве дадзеных, сістэма класіфікацыі здабывае якія плаваюць і тэкставыя аб'екты з змесціва і звязвае кожны аб'ект зваротна са слупком, з якога ён быў узяты. Вынік этапу вымання аб'ектаў - гэта карта ўсіх аб'ектаў для кожнага знойдзенага ў актыве дадзеных слупка.

Для чаго патрэбны прыкметы?

Паняцце прыкмет - ключавы момант. Замест прыкмет float і text мы можам перадаваць неапрацаваныя ўзоры радкоў, якія наўпрост выняты з кожнага рэсурсу дадзеных. Акрамя таго, мадэлі машыннага навучання могуць вучыцца напрамую на кожнай выбарцы, а не на сотнях разлікаў прыкмет, якія толькі спрабуюць наблізіць выбарку. Гэтаму ёсць некалькі прычын:

  1. Канфідэнцыяльнасць перш за ўсё: самае галоўнае, паняцце прыкмет дазваляе нам захоўваць у памяці толькі тыя ўзоры, якія мы здабываем. Гэта гарантуе, што мы захоўваем узоры для адзінай мэты і ніколі не лагуем іх нашымі ўласнымі намаганнямі. Гэта асабліва важна для няўстойлівых дадзеных, паколькі сэрвіс павінен падтрымліваць некаторы стан класіфікацыі, перш чым прадастаўляць прагноз.
  2. Памяць: некаторыя сэмплы могуць мець даўжыню ў тысячы сімвалаў. Захоўванне такіх дадзеных і перадача іх часткам сістэмы без неабходнасці спажывае шмат дадатковых байтаў. Два фактары могуць аб'яднацца з цягам часу, улічваючы, што існуе шмат рэсурсаў дадзеных з тысячамі слупкоў.
  3. Агрэгаванне прыкмет: з дапамогай прыкмет праз іх набор выразна прадстаўляюцца вынікі кожнага сканавання, што дазваляе сістэме аб'ядноўваць вынікі папярэдніх сканіраванняў аднаго і таго ж рэсурсу дадзеных зручным спосабам. Гэта можа быць карысна для агрэгавання вынікаў сканавання аднаго рэсурсу дадзеных у некалькіх запусках.

Затым прыкметы адпраўляюцца ў сэрвіс прагназавання, дзе мы выкарыстоўваем класіфікацыю на аснове правіл і машыннае навучанне для прагназавання пазнак дадзеных кожнага слупка. Сэрвіс абапіраецца як на класіфікатары правіл, так і на машыннае навучанне і выбірае найлепшы прагноз, дадзены з кожнага аб'екта прагназавання.

Класіфікатары правіл - гэта ручная эўрыстыка, яна выкарыстоўвае разлікі і каэфіцыенты для нармалізацыі аб'екта ў дыяпазоне ад 0 да 100. Як толькі такі пачатковы бал генеруецца для кожнага тыпу дадзеных і імя слупка, звязанага з гэтымі дадзенымі, не трапляе ні ў якія "забараняльныя спісы" , класіфікатар правілаў выбірае самы высокі нармалізаваны бал сярод усіх тыпаў дадзеных.

З-за складанасці класіфікацыі выкарыстанне выключна ручной эўрыстыкі прыводзіць да нізкай дакладнасці класіфікацыі, асабліва для неструктураваных дадзеных. Па гэтай прычыне мы распрацавалі сістэму машыннага навучання для працы з класіфікацыяй неструктураваных дадзеных, такіх як карыстацкі кантэнт і адрас. Машыннае навучанне дазволіла пачаць адыходзіць ад ручной эўрыстыкі і ўжываць дадатковыя сігналы дадзеных (напрыклад, імёны слупкоў, паходжанне дадзеных), значна падвышаючы дакладнасць выяўлення. Мы глыбока пагрузімся ў нашу архітэктуру машыннага навучання пазней.

Служба прагназавання захоўвае вынікі для кожнага слупка разам з метададзенымі, якія тычацца часу і стану сканавання. Любыя спажыўцы і ніжэйстаячыя працэсы, якія залежаць ад гэтых дадзеных, могуць счытваць іх са штодня публікуемага набору дадзеных. Гэты набор агрэгуе вынікі ўсіх гэтых заданняў сканавання, ці API рэальнага часу каталога дадзеных. Апублікаваныя прагнозы - падмурак аўтаматычнага прымянення палітыкі прыватнасці і бяспекі.

Нарэшце, пасля таго як служба прагназавання запісвае ўсе дадзеныя і ўсе прагнозы захоўваюцца, наш API каталога дадзеных можа вяртаць усе прагнозы тыпаў дадзеных для рэсурса ў рэжыме рэальнага часу. Кожны дзень сістэма публікуе набор дадзеных, які змяшчае ўсе апошнія прагнозы для кожнага актыву.

Няўстойлівыя дадзеныя

Хоць апісаны вышэй працэс створаны для захоўваемых актываў, які не захоўваецца трафік таксама лічыцца часткай дадзеных арганізацыі і можа быць важным. Па гэтай прычыне сістэма дае анлайн-API генерацыі прагнозаў класіфікацыі ў рэальным часе для любога няўстойлівага трафіку. Сістэма прагназавання ў рэальным часе шырока выкарыстоўваецца пры класіфікацыі выходнага трафіку, уваходнага трафіку ў мадэлі машыннага навучання і дадзеных рэкламадаўцаў.

Тут API прымае два асноўныя аргументы: ключ групоўкі і неапрацаваныя дадзеныя, якія павінны быць спрагназаваны. Сэрвіс выконвае тое ж выманне аб'ектаў, што апісана вышэй, і групуе аб'екты разам для аднаго і таго ж ключа. Гэтыя прыкметы таксама падтрымліваюцца ў захоўваемым кэшы для аднаўлення пасля адмовы. Кожнаму ключу групоўкі служба гарантуе, што перад выклікам сэрвісу прагназавання яна бачыла дастаткова выбарак у адпаведнасці з працэсам, апісаным вышэй.

Аптымізацыя

Для сканавання некаторых сховішчаў мы выкарыстоўваем бібліятэкі і метады аптымізацыі чытання з гарачага сховішча [2] і гарантуем, што няма ніякіх збояў з боку іншых карыстальнікаў, якія атрымліваюць доступ да таго ж сховішча.

Для надзвычай вялікіх табліц (50 + петабайт), нягледзячы на ​​ўсе аптымізацыі і эфектыўнасць памяці, сістэма працуе над сканаваннем і вылічэннем за ўсё, перш чым скончыцца памяць. У рэшце рэшт, сканаванне цалкам вылічаецца ў памяці і не захоўваецца на працягу сканавання. Калі вялікія табліцы ўтрымоўваюць тысячы слупкоў з неструктураванымі згусткамі дадзеных, заданне можа завяршыцца няўдачай з-за недахопу рэсурсаў памяці пры выкананні прагнозаў для ўсёй табліцы. Гэта прывядзе да памяншэння пакрыцця. Каб дужацца з гэтым, мы аптымізавалі сістэму, каб выкарыстаць хуткасць сканавання ў якасці пасярэдніка ў тым, наколькі добра сістэма спраўляецца з бягучай нагрузкай. Мы выкарыстоўваем хуткасць як прагнастычны механізм, каб бачыць праблемы з памяццю і пры папераджальным разліку карты аб'ектаў. Пры гэтым мы выкарыстоўваем менш дадзеных, чым звычайна.

Сігналы дадзеных

Сістэма класіфікацыі добрая настолькі, наколькі добрыя сігналы ад дадзеных. Тут мы разгледзім усе сігналы, якія выкарыстоўваюцца сістэмай класіфікацыі.

  • На аснове змесціва: вядома, першы і найважны сігнал - гэта змесціва. Выконваецца выбарка Бярнулі па кожным актыве дадзеных, які мы скануем і здабываем прыкметы па змесце дадзеных. Многія прыкметы паходзяць са змесціва. Магчыма любая колькасць плаваюць аб'ектаў, якія прадстаўляюць разлікі таго, колькі разоў быў заўважаны пэўны тып узору. Напрыклад, у нас могуць быць ротзнакі колькасці электронных лістоў, убачаных у выбарцы, або прыкметы таго, колькі смайлікаў заўважана ў выбарцы. Гэтыя разлікі прыкмет можна нармалізаваць і агрэгаваць па розных сканаваннях.
  • Паходжанне дадзеных: важны сігнал, які можа дапамагчы, калі змесціва змянілася з бацькоўскай табліцы. Распаўсюджаны прыклад - хэшаваныя дадзеныя. Калі дадзеныя ў даччынай табліцы хэшуюцца, яны часта паступаюць з бацькоўскай табліцы, дзе застаюцца ў адчыненым выглядзе. Дадзеныя аб паходжанні дапамагаюць класіфікаваць пэўныя тыпы дадзеных, калі яны не чытаюцца выразна або пераўтвораны з табліцы уверх па струмені.
  • Анатацыі: яшчэ адзін высакаякасны сігнал, які дапамагае ў ідэнтыфікацыі неструктураваных дадзеных. Фактычна, анатацыі і дадзеныя паходжання могуць працаваць разам для распаўсюджвання атрыбутаў паміж рознымі актывамі дадзеных. Анатацыі дапамагаюць ідэнтыфікаваць крыніцу неструктураваных дадзеных, у той час як дадзеныя аб паходжанні могуць дапамагчы адсочваць паток гэтых дадзеных па ўсім сховішчы.
  • Ін'екцыя дадзеных - гэта метад, калі наўмысна ўводзяцца спецыяльныя, нечытэльныя сімвалы ў вядомыя крыніцы з вядомымі тыпамі дадзеных. Затым, кожны раз, калі мы скануем змесціва з адной і той жа нечытэльнай паслядоўнасцю сімвалаў, можна зрабіць выснову, што змесціва зыходзіць з гэтага вядомага тыпу дадзеных. Гэта яшчэ адзін якасны сігнал дадзеных, падобны анатацыям. За выключэннем таго, што выяўленне на аснове кантэнту дапамагае выявіць уведзеныя дадзеныя.

Вымярэнне метрык

Важны кампанент - строгая метадалогіі вымярэння метрык. Асноўнымі метрыкамі ітэрацыі паляпшэння класіфікацыі - дакладнасць і водгук кожнай пазнакі, прычым ацэнка F2 - найважнейшая.

Для разліку гэтых паказчыкаў неабходна незалежная метадалогія маркіроўкі актываў дадзеных, якая не залежыць ад самой сістэмы, але можа выкарыстоўвацца для непасрэднага параўнання з ёю. Ніжэй мы апішам, як мы збіраем асноўную ісціну з Facebook і выкарыстоўваем яе для навучання нашай сістэмы класіфікацыі.

Збор дакладных дадзеных

Мы назапашваем дакладныя дадзеныя з кожнай крыніцы, пералічанай ніжэй, у яго ўласную табліцу. Кожная табліца адказвае за агрэгаванне апошніх назіраных значэнняў з гэтай канкрэтнай крыніцы. У кожнай крыніцы ёсць праверка якасці дадзеных, каб гарантаваць, што назіраныя значэнні для кожнай крыніцы высакаякасныя і ўтрымоўваюць апошнія пазнакі тыпаў дадзеных.

  • Канфігурацыі платформы лагіравання: пэўныя палі ў табліцах вулля запаўняюцца дадзенымі, якія адносяцца да пэўнага тыпу. Выкарыстанне і распаўсюджванне гэтых дадзеных служыць надзейнай крыніцай пэўных дадзеных.
  • Ручная маркіроўка: распрацоўшчыкі, якія падтрымліваюць сістэму, а таксама знешнія маркіроўшчыкі навучаны маркіраваць слупкі. Гэта звычайна добра працуе для ўсіх тыпаў дадзеных у сховішча, і можа быць асноўнай крыніцай дакладнасці для некаторых неструктураваных дадзеных, такіх як дадзеныя паведамленняў або карыстацкі кантэнт.
  • Стоўбцы з бацькоўскіх табліц могуць пазначацца або анатавацца як якія змяшчаюць пэўныя дадзеныя, і мы можам адсочваць гэтыя дадзеныя ў ніжэйстаячых табліцах.
  • Выбарка патокаў выканання: патокі выканання ў Facebook нясуць дадзеныя вызначанага тыпу. Выкарыстоўваючы наш сканер у якасці сэрвіснай архітэктуры, мы можам рабіць выбарку патокаў, якія маюць вядомыя тыпы дадзеных, і адпраўляць іх праз сістэму. Сістэма абяцае не захоўваць гэтыя дадзеныя.
  • Табліцы выбаркі: вялікія табліцы вулля, якія, як вядома, утрымоўваюць увесь корпус дадзеных, таксама могуць выкарыстоўвацца ў якасці навучалых дадзеных і перадавацца праз сканер як сэрвіс. Гэта выдатна падыходзіць для табліц з поўным дыяпазонам тыпаў дадзеных, так што выбарка слупка выпадковым чынам эквівалентная выбарцы за ўсё мноства гэтага тыпу дадзеных.
  • Сінтэтычныя дадзеныя: мы можам нават выкарыстоўваць бібліятэкі, якія генеруюць дадзеныя на лета. Гэта добра працуе для простых, агульнадаступных тыпаў дадзеных, такіх як адрас ці GPS.
  • Сцюарды даных: праграмы канфідэнцыйнасці, як правіла, выкарыстоўваюць сцюардаў даных для ручнога замацавання палітык за часткамі даных. Гэта служыць высокадакладнай крыніцай дакладнасці.

Мы аб'ядноўваем кожную асноўную крыніцу дакладных дадзеных у адзін корпус з усімі гэтымі дадзенымі. Самая вялікая праблема з дакладнасцю заключаецца ў тым, каб пераканацца, што яна рэпрэзентатыўна сховішча дадзеных. У адваротным выпадку рухавічкі класіфікацыі могуць перанавучыцца. У барацьбе з гэтым усе вышэйпералічаныя крыніцы ўтылізуюцца, каб забяспечыць баланс пры навучанні мадэляў ці вылічэнні метрык. Акрамя таго, людзі маркіроўшчыкі раўнамерна адбіраюць розныя слупкі ў сховішча і якая адпавядае выявай маркіруюць дадзеныя, каб збор дакладных значэнняў заставаўся бесстароннім.

Бесперапынная інтэграцыя

Каб забяспечыць хуткую ітэрацыю і паляпшэнне, важна заўсёды вымяраць прадукцыйнасць сістэмы ў рэжыме рэальнага часу. Мы можам вымяраць кожнае паляпшэнне класіфікацыі ў параўнанні з сістэмай сёння, таму тактычна можам арыентавацца на дадзеныя ў далейшых паляпшэннях. Тут мы разгледзім, як сістэма завяршае цыкл зваротнай сувязі, які забяспечваецца дакладнымі дадзенымі.

Калі сістэма планавання сутыкаецца з актывам, які мае пазнаку ад дакладнай крыніцы, мы плануем дзве задачы. Першая выкарыстоўвае нашы вытворчыя сканер і, такім чынам, нашы вытворчыя магчымасці. Другая задача выкарыстоўвае сканер апошняй зборкі з апошнімі прыкметамі. Кожная задача піша сваю выснову ва ўласную табліцу, пазначаючы версіі разам з вынікамі класіфікацыі.

Так мы параўноўваем вынікі клясыфікацыі рэліз-кандыдата і вытворчай мадэлі ў рэжыме рэальнага часу.

Пакуль наборы дадзеных параўноўваюць прыкметы RC і PROD, лагуецца мноства варыяцый рухавічка класіфікацыі ML сэрвісу прагназавання. Самая апошняя пабудаваная мадэль машыннага навучання, бягучая мадэль у вытворчасці і любыя эксперыментальныя мадэлі. Той жа самы падыход дазваляе нам "разрэзаць" розныя версіі мадэлі (агностык нашых класіфікатараў правілаў) і параўноўваць метрыкі ў рэжыме рэальнага часу. Так лёгка вызначыць, калі эксперымент з ML гатовы да ўкаранення ў вытворчасць.

Кожную ноч RC-прыкметы, разлічаныя для гэтага дня, адпраўляюцца ў навучальны канвеер ML, дзе мадэль навучаецца на апошніх RC-прыкметах і ацэньвае сваю прадукцыйнасць у параўнанні з пэўным наборам дадзеных.

Кожную раніцу мадэль завяршае навучанне і аўтаматычна публікуецца ў якасці эксперыментальнай. Яна аўтаматычна ўключаецца ў спіс эксперыментальных.

Некаторыя вынікі

Маркіруецца больш за 100 розных тыпаў дадзеных з высокай дакладнасцю. Добра структураваныя тыпы, такія як электронныя лісты і тэлефонныя нумары, класіфікуюцца з ацэнкай f2 больш за 0,95. Свабодныя тыпы дадзеных, такія як карыстацкі кантэнт і імя, таксама працуюць вельмі добра, з F2-баламі больш за 0,85.

Штодня класіфікуецца вялікая колькасць асобных слупкоў устойлівых і няўстойлівых даных ва ўсіх сховішчах. Больш за 500 тэрабайт скануюцца штодня ў больш чым 10 сховішчах даных. Ахоп большасці з гэтых сховішчаў складае больш за 98%.

З часам класіфікацыя стала вельмі эфектыўнай, бо заданні класіфікацыі ў аўтаномным патоку, які захоўваецца, займаюць у сярэднім 35 секунд ад сканавання актыву да вылічэння прагнозаў для кожнага слупка.

Маштабуемая класіфікацыя дадзеных для бяспекі і прыватнасці
Мал. 2. Дыяграма, якая апісвае бесперапынны паток інтэграцыі, каб разумець, як RC-аб'екты генеруюцца і адпраўляюцца ў мадэль.

Маштабуемая класіфікацыя дадзеных для бяспекі і прыватнасці
Малюнак 3. Высокаўзроўневая дыяграма кампанента машыннага навучання.

Кампанент сістэмы машыннага навучання

У папярэдняй частцы мы глыбока пагрузіліся ў архітэктуру ўсёй сістэмы, вылучыўшы маштаб, аптымізацыю і струмені дадзеных у аўтаномным і анлайн-рэжыме. У гэтым раздзеле мы разгледзім сэрвіс прагназавання і апішам сістэму машыннага навучання, якая забяспечвае працу службы прагназавання.

З больш за 100 тыпамі дадзеных і некаторым неструктураваным змесцівам, такім як дадзеныя паведамленняў і карыстацкі кантэнт, выкарыстанне выключна ручной эўрыстыкі прыводзіць да субпараметрычнай дакладнасці класіфікацыі, асабліва для неструктураваных дадзеных. Па гэтай прычыне мы таксама распрацавалі сістэму машыннага навучання для працы са складанасцямі неструктураваных даных. Выкарыстанне машыннага навучання дазваляе пачаць адыходзіць ад ручной эўрыстыкі і працаваць з прыкметамі і дадатковыя сігналамі дадзеных (напрыклад, імёнамі слупкоў, паходжаннем дадзеных) для павышэння дакладнасці.

Рэалізаваная мадэль вывучае вектарныя ўяўленні [3] над шчыльнымі і разрэджанымі аб'ектамі асобна. Затым яны аб'ядноўваюцца, каб сфарміраваць вектар, які праходзіць праз серыю этапаў пакетнай нармалізацыі [4] і нелінейнасці для атрымання канчатковага выніку. Канчатковы вынік - лік з якая плавае кропкай паміж [0-1] для кожнай пазнакі, які паказвае верагоднасць таго, што прыклад належыць дадзенаму тыпу адчувальнасці. Выкарыстанне PyTorch для мадэлі дазволіла нам рухацца хутчэй, даўшы магчымасць распрацоўнікам па-за камандай хутка ўносіць і тэставаць змены.

Пры праектаванні архітэктуры было важна мадэляваць разрэджаныя (напрыклад, тэкставыя) і шчыльныя (напрыклад, лікавыя) аб'екты асобна з-за іх унутранага адрознення. Для канчатковай архітэктуры таксама было важна выканаць разгортку параметраў, каб знайсці аптымальнае значэнне хуткасці навучання, памеру пакета і іншых гіперпараметраў. Выбар аптымізатара таксама быў важным гіперпараметрам. Мы выявілі, што папулярны аптымізатар Адамчаста прыводзіць да перанавучання, тады як мадэль з SGD стабільней. Былі дадатковыя нюансы, якія мы мусілі ўключыць непасрэдна ў мадэль. Напрыклад, статычныя правілы, якія гарантавалі, што мадэль робіць дэтэрмінаваных прагноз, калі прыкмета мае пэўнае значэнне. Гэтыя статычныя правілы вызначаны нашымі кліентамі. Мы выявілі, што ўключэнне іх непасрэдна ў мадэль прывяло да стварэння больш самадастатковай і надзейнай архітэктуры, у адрозненне ад рэалізацыі этапа постапрацоўкі для апрацоўкі гэтых спецыяльных межавых выпадкаў. Таксама звярніце ўвагу, што падчас трэніроўкі гэтыя правілы адключаныя, каб не перашкаджаць трэніровачнаму працэсу градыентнага спуску.

Праблемы

Адной з праблем быў збор высакаякасных дакладных звестак. Мадэль мае патрэбу ў дакладнасці для кожнага класа, каб яна магла вывучаць асацыяцыі паміж аб'ектамі і пазнакамі. У папярэднім раздзеле мы абмяркоўвалі метады збору даных як для вымярэння сістэмы, так і для навучання мадэлей. Аналіз паказаў, што такія класы дадзеных, як нумары крэдытных карт і банкаўскіх рахункаў не вельмі распаўсюджаны ў нашым сховішчы. Гэта абцяжарвае збор вялікіх аб'ёмаў дакладных дадзеных для навучання мадэляў. Каб вырашыць гэтую праблему, мы распрацавалі працэсы атрымання сінтэтычных дакладных дадзеных для гэтых класаў. Мы генеруем такія дадзеныя для адчувальных тыпаў, у тым ліку Пла, нумары крэдытных карт и IBAN-нумары, для якіх мадэль не магла прагназаваць раней. Гэты падыход дазваляе апрацоўваць канфідэнцыйныя тыпы дадзеных без рызыкі прыватнасці, звязанага з укрывальніцтвам рэальных канфідэнцыйных дадзеных.

Апроч праблем дакладных дадзеных, ёсць адчыненыя архітэктурныя праблемы, над якімі мы працуем, такія як ізаляцыя змен и ранні прыпынак. Ізаляцыя змен важная для таго, каб пры занясенні розных змен у розныя часткі сеткі ўздзеянне было ізаляванае ад пэўных класаў і не аказвала шырокага ўплыву на агульную прадукцыйнасць прагназавання. Паляпшэнне крытэрыяў ранняга прыпынку таксама мае вырашальнае значэнне для таго, каб мы маглі спыніць трэніровачны працэс у стабільнай кропцы для ўсіх класаў, а не ў той кропцы, дзе некаторыя класы перанавучаюцца, а іншыя не.

Важнасць прыкметы

Калі ў мадэль уводзіцца новая прыкмета, мы жадаем шляхту яго агульны ўплыў на мадэль. Мы таксама хочам пераканацца, што прагнозы інтэрпрэтаваны чалавекам, каб можна было дакладна зразумець, якія прыкметы выкарыстоўваюцца для кожнага тыпу дадзеных. Для гэтага мы распрацавалі і ўвялі пакласавую важнасць прыкмет для мадэлі PyTorch. Звярніце ўвагу, што гэта адрозніваецца ад агульнай важнасці прыкметы, якая звычайна падтрымліваецца, таму што яна не гаворыць нам, якія прыкметы важныя для пэўнага класа. Мы вымяраем важнасць аб'екта, вылічаючы павелічэнне памылкі прагнозу пасля перастаноўкі аб'екта. Прыкмета з'яўляецца важным, калі перастаноўка значэнняў павялічвае памылку мадэлі, паколькі ў гэтым выпадку мадэль належыла на прыкмету ў прагназаванні. Прыкмета "няважны", калі ператасоўка яго значэнняў пакідае памылку мадэлі нязменнай, паколькі ў гэтым выпадку мадэль ігнаравала яго [5].

Важнасць прыкметы для кожнага класа дазваляе зрабіць мадэль інтэрпрэтаванай, каб мы маглі бачыць, на што мадэль зважае пры прагназаванні пазнакі. Напрыклад, калі мы аналізуем АДР, то гарантуем, што звязаны з адрасам прыкмета, такі як AddressLinesCount, Займае высокае месца ў табліцы важнасці прыкмет для кожнага класа, каб наша чалавечая інтуіцыя добра ўзгаднялася з тым, што вывучыла мадэль.

Ацэнка

Важна вызначыць адзіную метрыку поспеху. Мы выбралі F2 — баланс паміж водгукам і дакладнасцю (зрушэнне водгуку крыху больш). Водгук важней для выпадку выкарыстання прыватнасці, чым дакладнасць, таму што для каманды вельмі важна не прапусціць ніякіх канфідэнцыйных дадзеных (забяспечваючы пры гэтым разумную дакладнасць). Фактычныя дадзеныя адзнакі прадукцыйнасці F2 нашай мадэлі выходзяць за рамкі дадзенага артыкула. Тым не менш, пры дбайнай наладзе мы можам дасягнуць высокага (0,9+) бала F2 для найболей важных адчувальных класаў.

Звязаная праца

Існуе мноства алгарытмаў аўтаматычнай класіфікацыі неструктураваных дакументаў з выкарыстаннем розных метадаў, такіх як супастаўленне шаблонаў, пошук падабенства дакументаў і розныя метады машыннага навучання (байесаўскія, дрэвы рашэнняў, k-бліжэйшых суседзяў і многія іншыя) [6]. Любы з іх можа выкарыстоўвацца як частка класіфікацыі. Аднак праблема ў маштабаванасці. Падыход да класіфікацыі ў гэтым артыкуле зрушаны ў бок гнуткасці і прадукцыйнасці. Гэта дазваляе нам падтрымліваць новыя класы ў будучыні і падтрымліваць нізкую затрымку.

Існуе таксама маса прац па зняцці адбіткаў з дадзеных. Напрыклад, аўтары ў [7] апісалі рашэнне, якое факусуюць на праблеме ўлоўлівання ўцечак канфідэнцыйных дадзеных. Асноўная здагадка заключаецца ў магчымасці адбітка з дадзеных, каб супаставіць яго з наборам вядомых канфідэнцыйных дадзеных. Аўтары ў [8] апісваюць аналагічную праблему ўцечкі прыватнасці, але іх рашэнне заснавана на канкрэтнай архітэктуры Android і класіфікуецца толькі ў тым выпадку, калі дзеянні карыстальніка прывялі да адпраўкі асабістай інфармацыі або калі ў базавым дадатку ўцечка карыстацкіх дадзеных. Сітуацыя тут некалькі адрозніваецца, паколькі карыстацкія дадзеныя таксама могуць быць моцна неструктураваны. Таму нам патрэбна больш складаная тэхніка, чым зняцце адбіткаў.

Нарэшце, каб зладзіцца з недахопам дадзеных для некаторых тыпаў канфідэнцыйных дадзеных, мы ўвялі сінтэтычныя дадзеныя. Існуе вялікі аб'ём літаратуры па аугментацыі дадзеных, напрыклад, аўтары ў [9] даследавалі ролю ін'екцыі шуму падчас навучання і назіралі станоўчыя вынікі ў кантраляваным навучанні. Наш падыход да канфідэнцыйнасці адрозніваецца, таму што ўвядзенне зашумленых дадзеных можа быць контрпрадуктыўным, і замест гэтага мы факусуемся на высакаякасных сінтэтычных дадзеных.

Заключэнне

У гэтым артыкуле мы прадставілі сістэму, якая можа класіфікаваць фрагмент даных. Гэта дазваляе нам ствараць сістэмы забеспячэння захавання палітык прыватнасці і бяспекі. Мы паказалі, што якая маштабуецца інфраструктура, бесперапынная інтэграцыя, машыннае навучанне і высакаякасныя дадзеныя аб дакладнасці дадзеных гуляюць ключавую ролю ў поспеху шматлікіх нашых ініцыятыў у вобласці канфідэнцыйнасці.

Ёсць шмат напрамкаў будучай працы. Яна можа ўключаць забеспячэнне падтрымкі несхематизированных дадзеных (файлаў), класіфікацыю не толькі тыпу дадзеных, але і ўзроўню адчувальнасці, а таксама выкарыстанне самакантраляванага навучання непасрэдна падчас навучання шляхам генерацыі дакладных сінтэтычных прыкладаў. Якія, у сваю чаргу дапамогуць мадэлі паменшыць страты на найвялікую велічыню. Будучая праца можа таксама засяродзіцца на працоўным працэсе расследавання, дзе мы выходзім за рамкі выяўлення і даем аналіз першапрычын розных парушэнняў прыватнасці. Гэта дапаможа ў такіх выпадках, як аналіз адчувальнасці (г.зн. ці з'яўляецца адчувальнасць прыватнасці тыпу дадзеных высокай (напрыклад, IP карыстальніка) або нізкай (напрыклад, унутраны IP Facebook)).

Бібліяграфія

  1. David Ben-David, Tamar Domany, і Abigail Tarem. Enterprise data clasification using semantic web тэхналогіяў. У Пётр Ф. І. Патель-Шнейдер, Юэ Пан, Паскаль Хітлер, Пётр Міка, Лей Жан, Джаф З. Пан, Іан Хорракс, і Біртэ Глімм, editors, The Semantic Web - ISWC 2010, pages 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, і Sanjeev Kumar. f4: Facebook's warm BLOB storage system. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), pages 383–398, Broomfield, CO, October 2014. USENIX Association.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, і Jeff Dean. Пашыраныя representations of words and phrases and their compositionality. У CJC Burges, L. Bottou, M. Welling, Z. Ghahramani, і KQ Weinberger, editors, Advances in Neural Information Processing Systems 26, pages 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe і Christian Szegedy. Batch normalization: Выкарыстоўваць ветлівую сетку трэніроўкі па змене international covariate shift. У Францыі Бах і Дэвід Блей, editors, Працысаванне 32-й міжнароднай канферэнцыі на machine learning, volume 37 of Proceedings of Machine Learning Research, pages 448–456, Lille, France, 07–09 Jul 2015. PMLR.
  5. Leo Breiman. Random forests. Mach. Learn., 45(1):5–32, October 2001.
  6. Thair Nu Phyu. Survey of classification techniques у data mining.
  7. X. Shu, D. Yao, and E. Bertino. Privacy-preserving вызначэнне sensitive data exposure. IEEE Transactions on Information Forensics and Security, 10(5):1092–1103, 2015.
  8. Чжэмін Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning, і Xiaoyang Wang. Appintent: Analyzing sensitive data transmission in android for privacy leakage detection. pages 1043-1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong, і Quoc V. Le. Unsupervised data augmentation.

Маштабуемая класіфікацыя дадзеных для бяспекі і прыватнасці
Даведайцеся падрабязнасці, як атрымаць запатрабаваную прафесію з нуля або Level Up па навыках і зарплаце, прайшоўшы анлайн-курсы SkillFactory:

Яшчэ курсы

Крыніца: habr.com

Дадаць каментар