MÄrogojama datu klasifikÄcija droŔībai un privÄtumam
Uz saturu balstÄ«ta datu klasifikÄcija ir atklÄta problÄma. TradicionÄlÄs datu zudumu novÄrÅ”anas (DLP) sistÄmas atrisina Å”o problÄmu, noÅemot attiecÄ«gos datus un uzraugot galapunktus pirkstu nospiedumu noÅemÅ”anai. Å emot vÄrÄ lielo Facebook pastÄvÄ«gi mainÄ«go datu resursu skaitu, Ŕī pieeja ne tikai nav mÄrogojama, bet arÄ« neefektÄ«va, lai noteiktu, kur dati atrodas. Å ajÄ rakstÄ galvenÄ uzmanÄ«ba pievÄrsta pilnÄ«gai sistÄmai, kas izveidota, lai atklÄtu sensitÄ«vus semantiskos tipus pakalpojumÄ Facebook un automÄtiski nodroÅ”inÄtu datu glabÄÅ”anu un piekļuves kontroli.
Å eit aprakstÄ«tÄ pieeja ir mÅ«su pirmÄ pilnÄ«ga privÄtuma sistÄma, kas mÄÄ£ina atrisinÄt Å”o problÄmu, iekļaujot datu signÄlus, maŔīnmÄcÄ«Å”anos un tradicionÄlÄs pirkstu nospiedumu noÅemÅ”anas metodes, lai kartÄtu un klasificÄtu visus Facebook datus. AprakstÄ«tÄ sistÄma tiek darbinÄta ražoÅ”anas vidÄ, sasniedzot vidÄjo F2 punktu skaitu 0,9+ dažÄdÄs privÄtuma klasÄs, vienlaikus apstrÄdÄjot lielus datu resursu apjomus desmitiem repozitoriju. IepazÄ«stinÄm ar Facebook ArXiv dokumenta tulkojumu par mÄrogojamu datu klasifikÄciju droŔībai un privÄtumam, pamatojoties uz maŔīnmÄcÄ«Å”anos.
Ievads
MÅ«sdienÄs organizÄcijas vÄc un glabÄ lielus datu apjomus dažÄdos formÄtos un vietÄs [1], pÄc tam dati tiek patÄrÄti daudzÄs vietÄs, dažkÄrt tiek kopÄti vai saglabÄti keÅ”atmiÅÄ vairÄkas reizes, kÄ rezultÄtÄ vÄrtÄ«ga un sensitÄ«va biznesa informÄcija tiek izkaisÄ«ta starp daudziem uzÅÄmuma datiem. veikalos. Kad organizÄcijai ir jÄizpilda noteiktas juridiskas vai reglamentÄjoÅ”as prasÄ«bas, piemÄram, atbilstÄ«ba normatÄ«vajiem aktiem civilprocesÄ, rodas nepiecieÅ”amÄ«ba apkopot datus par nepiecieÅ”amo datu atraÅ”anÄs vietu. Ja privÄtuma noteikumos ir noteikts, ka organizÄcijai ir jÄslÄpj visi sociÄlÄs apdroÅ”inÄÅ”anas numuri (SSN), kopÄ«gojot personas informÄciju ar neautorizÄtÄm personÄm, pirmais dabiskais solis ir meklÄt visos SSN organizÄcijas datu krÄtuvÄs. Å Ädos apstÄkļos datu klasifikÄcija kļūst kritiska [1]. KlasifikÄcijas sistÄma ļaus organizÄcijÄm automÄtiski ieviest privÄtuma un droŔības politikas, piemÄram, iespÄjot piekļuves kontroles politikas, datu saglabÄÅ”anu. Facebook ievieÅ” sistÄmu, ko esam izveidojuÅ”i Facebook un kas izmanto vairÄkus datu signÄlus, mÄrogojamu sistÄmas arhitektÅ«ru un maŔīnmÄcÄ«Å”anos, lai atklÄtu sensitÄ«vus semantisko datu tipus.
Datu atklÄÅ”ana un klasificÄÅ”ana ir datu atraÅ”anas un marÄ·ÄÅ”anas process, lai vajadzÄ«bas gadÄ«jumÄ varÄtu Ätri un efektÄ«vi izgÅ«t attiecÄ«go informÄciju. PaÅ”reizÄjais process ir diezgan manuÄls, un tas sastÄv no attiecÄ«go likumu vai noteikumu izskatÄ«Å”anas, nosakot, kÄda veida informÄcija ir uzskatÄma par sensitÄ«vu un kÄdi ir dažÄdi jutÄ«guma lÄ«meÅi, un pÄc tam attiecÄ«gi konstruÄjot klases un klasifikÄcijas politikas [1]. Datu zuduma novÄrÅ”ana (DLP) pÄc tam noÅem datu pirkstu nospiedumus un izseko pakÄrtotos galapunktus, lai iegÅ«tu pirkstu nospiedumus. StrÄdÄjot ar aktÄ«vu noliktavu ar datu petabaitiem, Ŕī pieeja vienkÄrÅ”i netiek mÄrogota.
MÅ«su mÄrÄ·is ir izveidot datu klasifikÄcijas sistÄmu, kas pielÄgota gan stabiliem, gan Ä«slaicÄ«giem lietotÄju datiem, bez papildu ierobežojumiem attiecÄ«bÄ uz datu tipu vai formÄtu. Tas ir pÄrdroÅ”s mÄrÄ·is, un, protams, tas ir saistÄ«ts ar izaicinÄjumiem. Dotais datu ieraksts var bÅ«t tÅ«kstoÅ”iem rakstzÄ«mju garÅ”.
1. attÄls. TieÅ”saistes un bezsaistes prognozÄÅ”anas plÅ«smas
TÄpÄc mums tas ir efektÄ«vi jÄattÄlo, izmantojot kopÄ«gu funkciju kopumu, ko vÄlÄk var apvienot un viegli pÄrvietot. Å Ä«m funkcijÄm ir jÄnodroÅ”ina ne tikai precÄ«za klasifikÄcija, bet arÄ« elastÄ«ba un paplaÅ”inÄmÄ«ba, lai nÄkotnÄ varÄtu viegli pievienot un atklÄt jaunus datu tipus. OtrkÄrt, jums jÄtiek galÄ ar lieliem bezsaistes galdiem. IlgstoÅ”us datus var glabÄt daudzu petabaitu lielumÄ tabulÄs. Tas var izraisÄ«t lÄnÄku skenÄÅ”anas Ätrumu. TreÅ”kÄrt, mums ir jÄievÄro stingra SLA klasifikÄcija attiecÄ«bÄ uz nepastÄvÄ«giem datiem. Tas liek sistÄmai bÅ«t ļoti efektÄ«vai, Ätrai un precÄ«zai. Visbeidzot, mums ir jÄnodroÅ”ina zema latentuma datu klasifikÄcija nepastÄvÄ«giem datiem, lai veiktu klasifikÄciju reÄllaikÄ, kÄ arÄ« interneta lietoÅ”anas gadÄ«jumiem.
Å ajÄ rakstÄ ir aprakstÄ«ts, kÄ mÄs risinÄjÄm iepriekÅ” minÄtÄs problÄmas, un ir parÄdÄ«ta Ätra un mÄrogojama klasifikÄcijas sistÄma, kas klasificÄ visu veidu, formÄtu un avotu datu elementus, pamatojoties uz kopÄ«gu funkciju kopu. MÄs paplaÅ”inÄjÄm sistÄmas arhitektÅ«ru un izveidojÄm pielÄgotu maŔīnmÄcÄ«Å”anÄs modeli, lai Ätri klasificÄtu bezsaistes un tieÅ”saistes datus. Å is raksts ir sakÄrtots Å”Ädi: 2. sadaÄ¼Ä ir parÄdÄ«ts sistÄmas vispÄrÄjais dizains. 3. sadaÄ¼Ä ir apskatÄ«tas maŔīnmÄcÄ«Å”anÄs sistÄmas daļas. 4. un 5. sadaÄ¼Ä ir izcelts saistÄ«tais darbs un izklÄstÄ«ti turpmÄkie darba virzieni.
Arhitektūra
Lai risinÄtu problÄmas, kas saistÄ«tas ar pastÄvÄ«giem un Facebook mÄroga tieÅ”saistes datiem, klasifikÄcijas sistÄmai ir divas atseviŔķas plÅ«smas, kuras mÄs detalizÄti apspriedÄ«sim.
IlgtspÄjÄ«gi dati
SÄkotnÄji sistÄmai ir jÄiemÄcÄs par Facebook daudzajiem informÄcijas lÄ«dzekļiem. Par katru repozitoriju tiek apkopota noteikta pamatinformÄcija, piemÄram, datu centrs, kurÄ ir Å”ie dati, sistÄma, kurÄ ir Å”ie dati, un Ä«paÅ”umi, kas atrodas konkrÄtajÄ datu krÄtuvÄ. TÄdÄjÄdi tiek izveidots metadatu katalogs, kas ļauj sistÄmai efektÄ«vi izgÅ«t datus, nepÄrslogojot klientus un citu inženieru izmantotos resursus.
Å is metadatu katalogs nodroÅ”ina autoritatÄ«vu avotu visiem skenÄtajiem lÄ«dzekļiem un ļauj izsekot dažÄdu lÄ«dzekļu statusam. Izmantojot Å”o informÄciju, plÄnoÅ”anas prioritÄte tiek noteikta, pamatojoties uz savÄktajiem datiem un iekÅ”Äjo informÄciju no sistÄmas, piemÄram, laiku, kad lÄ«dzeklis pÄdÄjo reizi veiksmÄ«gi skenÄts, un laiku, kad tas tika izveidots, kÄ arÄ« iepriekÅ”ÄjÄs atmiÅas un CPU prasÄ«bÄm Å”im Ä«paÅ”umam, ja tas ir iepriekÅ” skenÄts. PÄc tam katram datu resursam (kad resursi kļūst pieejami) tiek izsaukts darbs, lai faktiski skenÄtu resursu.
Katrs darbs ir apkopots binÄrs fails, kas veic Bernulli izlasi, izmantojot jaunÄkos pieejamos datus par katru lÄ«dzekli. AktÄ«vs tiek sadalÄ«ts atseviŔķÄs kolonnÄs, kur katras kolonnas klasifikÄcijas rezultÄts tiek apstrÄdÄts neatkarÄ«gi. TurklÄt sistÄma skenÄ visus piesÄtinÄtos datus kolonnÄs. Tiek skenÄti JSON, masÄ«vi, kodÄtas struktÅ«ras, vietrÄži URL, bÄzes 64 serializÄtie dati un daudz kas cits. Tas var ievÄrojami palielinÄt skenÄÅ”anas izpildes laiku, jo vienÄ tabulÄ var bÅ«t tÅ«kstoÅ”iem ligzdotu kolonnu json.
Katrai datu lÄ«dzeklÄ« atlasÄ«tajai rindai klasifikÄcijas sistÄma izÅem no satura peldoÅ”os un teksta objektus un saista katru objektu atpakaļ ar kolonnu, no kuras tas tika Åemts. LÄ«dzekļu iegÅ«Å”anas soļa izvade ir visu lÄ«dzekļu karte katrai kolonnai, kas atrodama datu lÄ«dzeklÄ«.
Kam domÄtas zÄ«mes?
AtribÅ«tu jÄdziens ir galvenais. PludinÄto un teksta pazÄ«mju vietÄ mÄs varam nodot neapstrÄdÄtus virkÅu paraugus, kas tiek tieÅ”i iegÅ«ti no katra datu resursa. TurklÄt maŔīnmÄcÄ«Å”anÄs modeļus var apmÄcÄ«t tieÅ”i katrÄ paraugÄ, nevis simtiem funkciju aprÄÄ·inu, kas mÄÄ£ina tikai tuvinÄt paraugu. Tam ir vairÄki iemesli:
PrivÄtums vispirms: vissvarÄ«gÄkais ir tas, ka funkciju koncepcija ļauj mums saglabÄt atmiÅÄ tikai tos modeļus, kurus mÄs izgÅ«stam. Tas nodroÅ”ina, ka mÄs uzglabÄjam paraugus vienam mÄrÄ·im un nekad nereÄ£istrÄjam tos paÅ”u spÄkiem. Tas ir Ä«paÅ”i svarÄ«gi attiecÄ«bÄ uz nepastÄvÄ«giem datiem, jo āāpakalpojumam pirms prognozes sniegÅ”anas ir jÄuztur noteikts klasifikÄcijas stÄvoklis.
AtmiÅa: daži paraugi var bÅ«t tÅ«kstoÅ”iem rakstzÄ«mju gari. Å Ädu datu glabÄÅ”ana un pÄrsÅ«tÄ«Å”ana uz sistÄmas daļÄm nevajadzÄ«gi patÄrÄ daudz papildu baitu. Å ie divi faktori laika gaitÄ var apvienoties, jo ir daudz datu resursu ar tÅ«kstoÅ”iem kolonnu.
Funkciju apkopoÅ”ana: lÄ«dzekļi skaidri atspoguļo katras skenÄÅ”anas rezultÄtus, izmantojot funkciju kopu, ļaujot sistÄmai ÄrtÄ veidÄ apvienot viena un tÄ paÅ”a datu resursa iepriekÅ”Äjo skenÄÅ”anas rezultÄtus. Tas var bÅ«t noderÄ«gi, lai apkopotu skenÄÅ”anas rezultÄtus no viena datu resursa vairÄkÄs darbÄ«bÄs.
PÄc tam lÄ«dzekļi tiek nosÅ«tÄ«ti uz prognozÄÅ”anas pakalpojumu, kurÄ mÄs izmantojam uz kÄrtulÄm balstÄ«tu klasifikÄciju un maŔīnmÄcÄ«Å”anos, lai paredzÄtu katras kolonnas datu etiÄ·etes. Pakalpojums paļaujas gan uz noteikumu klasifikatoriem, gan uz maŔīnmÄcÄ«Å”anos un atlasa labÄko prognozi, kas sniegta no katra prognozÄÅ”anas objekta.
KÄrtulu klasifikatori ir manuÄla heiristika, tie izmanto aprÄÄ·inus un koeficientus, lai normalizÄtu objektu diapazonÄ no 0 lÄ«dz 100. Kad Å”Äds sÄkotnÄjais vÄrtÄjums ir Ä£enerÄts katram datu veidam un kolonnas nosaukumam, kas saistÄ«ts ar Å”iem datiem, tas netiek iekļauts nevienÄ "aizliegumÄ". saraksti" Noteikumu klasifikators atlasa augstÄko normalizÄto punktu skaitu starp visiem datu veidiem.
KlasifikÄcijas sarežģītÄ«bas dÄļ, paļaujoties tikai uz manuÄlo heiristiku, klasifikÄcijas precizitÄte ir zema, Ä«paÅ”i nestrukturÄtiem datiem. Å Ä« iemesla dÄļ mÄs izstrÄdÄjÄm maŔīnmÄcÄ«Å”anÄs sistÄmu, lai strÄdÄtu ar nestrukturÄtu datu, piemÄram, lietotÄja satura un adreses, klasifikÄciju. MaŔīnmÄcÄ«ba ir ļÄvusi sÄkt atteikties no manuÄlÄs heiristikas un lietot papildu datu signÄlus (piemÄram, kolonnu nosaukumus, datu izcelsmi), ievÄrojami uzlabojot noteikÅ”anas precizitÄti. VÄlÄk mÄs iedziļinÄsimies mÅ«su maŔīnmÄcÄ«Å”anÄs arhitektÅ«rÄ.
Prognožu pakalpojums saglabÄ katras kolonnas rezultÄtus, kÄ arÄ« metadatus par skenÄÅ”anas laiku un stÄvokli. Visi patÄrÄtÄji un pakÄrtotie procesi, kas ir atkarÄ«gi no Å”iem datiem, var tos nolasÄ«t no katru dienu publicÄtÄs datu kopas. Å ajÄ komplektÄ tiek apkopoti visu Å”o skenÄÅ”anas darbu vai reÄllaika datu kataloga API rezultÄti. PublicÄtÄs prognozes ir pamats privÄtuma un droŔības politiku automÄtiskai ievieÅ”anai.
Visbeidzot, pÄc tam, kad prognozÄÅ”anas pakalpojums ir ierakstÄ«jis visus datus un visas prognozes ir saglabÄtas, mÅ«su datu kataloga API var atgriezt visas resursa datu tipu prognozes reÄllaikÄ. Katru dienu sistÄma publicÄ datu kopu, kurÄ ir visas jaunÄkÄs prognozes katram aktÄ«vam.
NepastÄvÄ«gi dati
Lai gan iepriekÅ” minÄtais process ir paredzÄts noturÄ«giem lÄ«dzekļiem, arÄ« nepastÄvÄ«ga datplÅ«sma tiek uzskatÄ«ta par daļu no organizÄcijas datiem un var bÅ«t svarÄ«ga. Å Ä« iemesla dÄļ sistÄma nodroÅ”ina tieÅ”saistes API, lai Ä£enerÄtu reÄllaika klasifikÄcijas prognozes jebkurai periodiskai trafikai. ReÄllaika prognozÄÅ”anas sistÄma tiek plaÅ”i izmantota, lai klasificÄtu izejoÅ”o trafiku, ienÄkoÅ”o trafiku maŔīnmÄcÄ«Å”anÄs modeļos un reklÄmdevÄju datos.
Å eit API izmanto divus galvenos argumentus: grupÄÅ”anas atslÄgu un paredzamos neapstrÄdÄtos datus. Pakalpojums veic to paÅ”u objektu izguvi, kÄ aprakstÄ«ts iepriekÅ”, un grupÄ objektus vienai un tai paÅ”ai atslÄgai. Å Ä«s funkcijas tiek atbalstÄ«tas arÄ« noturÄ«bas keÅ”atmiÅÄ kļūmju atjaunoÅ”anai. Katrai grupÄÅ”anas atslÄgai pakalpojums nodroÅ”ina, ka tas ir redzÄjis pietiekami daudz paraugu, pirms zvana prognožu pakalpojumam, ievÄrojot iepriekÅ” aprakstÄ«to procesu.
OptimizÄcija
Lai skenÄtu dažas krÄtuves, mÄs izmantojam bibliotÄkas un metodes, lai optimizÄtu lasÄ«Å”anu no karstÄs krÄtuves [2] un nodroÅ”inÄtu, ka citi lietotÄji, piekļūstot tai paÅ”ai krÄtuvei, netraucÄ.
ÄŖpaÅ”i lielÄm tabulÄm (50+ petabaiti), neskatoties uz visu optimizÄciju un atmiÅas efektivitÄti, sistÄma strÄdÄ, lai skenÄtu un aprÄÄ·inÄtu visu, pirms beidzas atmiÅa. Galu galÄ skenÄÅ”ana tiek pilnÄ«bÄ aprÄÄ·inÄta atmiÅÄ un netiek saglabÄta skenÄÅ”anas laikÄ. Ja lielÄs tabulÄs ir tÅ«kstoÅ”iem kolonnu ar nestrukturÄtÄm datu kopÄm, darbs var neizdoties nepietiekama atmiÅas resursu dÄļ, veicot prognozes visai tabulai. TÄ rezultÄtÄ pÄrklÄjums samazinÄsies. Lai to novÄrstu, mÄs optimizÄjÄm sistÄmu, lai izmantotu skenÄÅ”anas Ätrumu kÄ starpniekserveri, lai noteiktu, cik labi sistÄma apstrÄdÄ paÅ”reizÄjo darba slodzi. MÄs izmantojam Ätrumu kÄ prognozÄÅ”anas mehÄnismu, lai redzÄtu atmiÅas problÄmas un prognozÄtu funkciju karti. TajÄ paÅ”Ä laikÄ mÄs izmantojam mazÄk datu nekÄ parasti.
Datu signÄli
KlasifikÄcijas sistÄma ir tik laba, cik signÄli no datiem. Å eit mÄs apskatÄ«sim visus klasifikÄcijas sistÄmas izmantotos signÄlus.
Pamatojoties uz saturu: Protams, pirmais un vissvarÄ«gÄkais signÄls ir saturs. Bernulli paraugu ÅemÅ”ana tiek veikta katram datu Ä«paÅ”umam, kuru mÄs skenÄjam, un izvelk lÄ«dzekļus, pamatojoties uz datu saturu. Daudzas pazÄ«mes izriet no satura. Ir iespÄjams jebkurÅ” peldoÅ”u objektu skaits, kas atspoguļo aprÄÄ·inus par to, cik reižu konkrÄts parauga veids ir redzÄts. PiemÄram, mums var bÅ«t pazÄ«mes, kas norÄda uz paraugÄ redzÄto e-pasta ziÅojumu skaitu vai paraugÄ redzamo emocijzÄ«mju skaitu. Å os funkciju aprÄÄ·inus var normalizÄt un apkopot dažÄdÄs skenÄs.
Datu izcelsme: svarÄ«gs signÄls, kas var palÄ«dzÄt, ja saturs ir mainÄ«jies no vecÄktabulas. IzplatÄ«ts piemÄrs ir jauktie dati. Kad dati pakÄrtotajÄ tabulÄ ir jaukti, tie bieži nÄk no vecÄktabulas, kur tie paliek tÄ«rÄ veidÄ. LÄ«nijas dati palÄ«dz klasificÄt noteiktus datu veidus, ja tie nav skaidri nolasÄmi vai tiek konvertÄti no iepriekÅ”ÄjÄs tabulas.
AnotÄcijas: vÄl viens augstas kvalitÄtes signÄls, kas palÄ«dz identificÄt nestrukturÄtus datus. Faktiski anotÄcijas un izcelsmes dati var darboties kopÄ, lai izplatÄ«tu atribÅ«tus dažÄdos datu aktÄ«vos. AnotÄcijas palÄ«dz identificÄt nestrukturÄtu datu avotu, savukÄrt ciltsrakstu dati var palÄ«dzÄt izsekot Å”o datu plÅ«smai visÄ repozitorijÄ.
Datu ievadÄ«Å”ana ir paÅÄmiens, kurÄ Ä«paÅ”as, nelasÄmas rakstzÄ«mes tiek apzinÄti ievadÄ«tas zinÄmos zinÄmo datu tipu avotos. Tad ikreiz, kad skenÄjam saturu ar tÄdu paÅ”u nelasÄmu rakstzÄ«mju secÄ«bu, mÄs varam secinÄt, ka saturs nÄk no Ŕī zinÄmÄ datu veida. Å is ir vÄl viens kvalitatÄ«vu datu signÄls, kas lÄ«dzÄ«gs anotÄcijÄm. IzÅemot to, ka satura noteikÅ”ana palÄ«dz atklÄt ievadÄ«tos datus.
MÄrÄ«Å”anas metrika
SvarÄ«ga sastÄvdaļa ir stingra metrikas mÄrÄ«Å”anas metodika. KlasifikÄcijas uzlaboÅ”anas iterÄcijas galvenie rÄdÄ«tÄji ir katras etiÄ·etes precizitÄte un atsaukÅ”ana, un F2 rezultÄts ir vissvarÄ«gÄkais.
Lai aprÄÄ·inÄtu Å”os rÄdÄ«tÄjus, ir nepiecieÅ”ama neatkarÄ«ga datu lÄ«dzekļu marÄ·ÄÅ”anas metodika, kas ir neatkarÄ«ga no paÅ”as sistÄmas, bet kuru var izmantot tieÅ”ai salÄ«dzinÄÅ”anai ar to. TÄlÄk mÄs aprakstÄm, kÄ mÄs savÄcam patiesÄ«bu no Facebook un izmantojam to, lai apmÄcÄ«tu mÅ«su klasifikÄcijas sistÄmu.
Uzticamu datu vÄkÅ”ana
MÄs apkopojam uzticamus datus no katra tÄlÄk norÄdÄ«tÄ avota atseviÅ”Ä·Ä tabulÄ. Katra tabula ir atbildÄ«ga par jaunÄko novÄroto vÄrtÄ«bu apkopoÅ”anu no konkrÄtÄ avota. Katram avotam ir datu kvalitÄtes pÄrbaudes, lai nodroÅ”inÄtu, ka katra avota novÄrotÄs vÄrtÄ«bas ir augstas kvalitÄtes un satur jaunÄkÄs datu tipu etiÄ·etes.
ReÄ£istrÄcijas platformas konfigurÄcijas: noteikti lauki stropu tabulÄs ir aizpildÄ«ti ar noteikta veida datiem. Å o datu izmantoÅ”ana un izplatÄ«Å”ana kalpo kÄ uzticams patiesÄ«bas avots.
ManuÄla marÄ·ÄÅ”ana: izstrÄdÄtÄji, kas uztur sistÄmu, kÄ arÄ« ÄrÄjie marÄ·ÄtÄji ir apmÄcÄ«ti marÄ·Ät kolonnas. Tas parasti labi darbojas visu veidu datiem noliktavÄ un var bÅ«t galvenais patiesÄ«bas avots dažiem nestrukturÄtiem datiem, piemÄram, ziÅojumu datiem vai lietotÄja saturam.
Kolonnas no vecÄktabulÄm var atzÄ«mÄt vai anotÄt kÄ tÄdas, kas satur noteiktus datus, un mÄs varam izsekot Å”iem datiem pakÄrtotajÄs tabulÄs.
Izpildes pavedienu ieneÅ”ana: Facebook izpildes pavedieni satur noteikta veida datus. Izmantojot mÅ«su skeneri kÄ pakalpojumu arhitektÅ«ru, mÄs varam paraugus straumÄm, kurÄm ir zinÄmi datu tipi, un nosÅ«tÄ«t tÄs caur sistÄmu. SistÄma sola Å”os datus nesaglabÄt.
Tabulu paraugi: lielas stropu tabulas, kurÄs, kÄ zinÄms, satur visu datu korpusu, var izmantot arÄ« kÄ apmÄcÄ«bas datus un nodot caur skeneri kÄ pakalpojumu. Tas ir lieliski piemÄrots tabulÄm ar pilnu datu tipu klÄstu, lai izlases veida kolonnas izlase bÅ«tu lÄ«dzvÄrtÄ«ga visas Ŕī datu veida kopas izlasei.
SintÄtiskie dati: mÄs pat varam izmantot bibliotÄkas, kas Ä£enerÄ datus lidojuma laikÄ. Tas labi darbojas vienkÄrÅ”iem, publiskiem datu veidiem, piemÄram, adresei vai GPS.
Datu pÄrvaldnieki: privÄtuma programmas parasti izmanto datu pÄrvaldniekus, lai manuÄli pieŔķirtu politikas datu vienÄ«bÄm. Tas kalpo kÄ Ä¼oti precÄ«zs patiesÄ«bas avots.
MÄs apvienojam visus galvenos patiesÄ«bas avotus vienÄ korpusÄ ar visiem Å”iem datiem. LielÄkais izaicinÄjums attiecÄ«bÄ uz derÄ«gumu ir nodroÅ”inÄt, lai tas atbilstu datu noliktavai. PretÄjÄ gadÄ«jumÄ klasifikÄcijas dzinÄji var pÄrtrenÄties. Lai to novÄrstu, tiek izmantoti visi iepriekÅ” minÄtie avoti, lai nodroÅ”inÄtu lÄ«dzsvaru, apmÄcot modeļus vai aprÄÄ·inot metriku. TurklÄt cilvÄku marÄ·ÄtÄji vienmÄrÄ«gi Åem paraugus no dažÄdÄm kolonnÄm repozitorijÄ un attiecÄ«gi marÄ·Ä datus, lai pamata patiesÄ«bas apkopojums paliktu objektÄ«vs.
NepÄrtraukta integrÄcija
Lai nodroÅ”inÄtu Ätru iterÄciju un uzlaboÅ”anu, ir svarÄ«gi vienmÄr mÄrÄ«t sistÄmas veiktspÄju reÄllaikÄ. MÄs varam novÄrtÄt katru klasifikÄcijas uzlabojumu, salÄ«dzinot ar sistÄmu Å”odien, lai mÄs varÄtu taktiski vadÄ«t turpmÄkos uzlabojumus, pamatojoties uz datiem. Å eit mÄs aplÅ«kojam, kÄ sistÄma pabeidz atgriezeniskÄs saites cilpu, ko nodroÅ”ina derÄ«gi dati.
Kad plÄnoÅ”anas sistÄma saskaras ar lÄ«dzekli, kuram ir uzticama avota iezÄ«me, mÄs ieplÄnojam divus uzdevumus. Pirmais izmanto mÅ«su ražoÅ”anas skeneri un lÄ«dz ar to arÄ« mÅ«su ražoÅ”anas iespÄjas. OtrajÄ uzdevumÄ tiek izmantots jaunÄkÄs versijas skeneris ar jaunÄkajÄm funkcijÄm. Katrs uzdevums ieraksta savu izvadi savÄ tabulÄ, atzÄ«mÄjot versijas kopÄ ar klasifikÄcijas rezultÄtiem.
KamÄr datu kopÄs tiek salÄ«dzinÄtas RC un PROD funkcijas, tiek reÄ£istrÄtas daudzas prognozÄÅ”anas pakalpojuma ML klasifikÄcijas dzinÄja variÄcijas. PÄdÄjais izveidotais maŔīnmÄcÄ«Å”anÄs modelis, paÅ”reizÄjais ražoÅ”anas modelis un visi eksperimentÄlie modeļi. TÄda pati pieeja ļauj mums āsagrieztā dažÄdas modeļa versijas (agnostiÄ·i mÅ«su noteikumu klasifikatoriem) un salÄ«dzinÄt metriku reÄllaikÄ. TÄdÄjÄdi ir viegli noteikt, kad ML eksperiments ir gatavs ražoÅ”anai.
Katru nakti Å”ai dienai aprÄÄ·inÄtÄs RC funkcijas tiek nosÅ«tÄ«tas uz ML apmÄcÄ«bas cauruļvadu, kur modelis tiek apmÄcÄ«ts par jaunÄkajÄm RC funkcijÄm un novÄrtÄ tÄ veiktspÄju, salÄ«dzinot ar pamata patiesÄ«bas datu kopu.
Katru rÄ«tu modelis pabeidz apmÄcÄ«bu un tiek automÄtiski publicÄts kÄ eksperimentÄls modelis. Tas tiek automÄtiski iekļauts eksperimentÄlajÄ sarakstÄ.
Daži rezultÄti
VairÄk nekÄ 100 dažÄdu veidu dati ir marÄ·Äti ar augstu precizitÄti. Labi strukturÄti veidi, piemÄram, e-pasta adreses un tÄlruÅu numuri, tiek klasificÄti ar f2 punktu skaitu, kas pÄrsniedz 0,95. Bezmaksas datu veidi, piemÄram, lietotÄju Ä£enerÄts saturs un nosaukums, arÄ« darbojas ļoti labi, un F2 rÄdÄ«tÄji ir lielÄki par 0,85.
Katru dienu visos krÄtuvÄs tiek klasificÄts liels skaits atseviŔķu noturÄ«gu un nepastÄvÄ«gu datu kolonnu. VairÄk nekÄ 500 terabaiti katru dienu tiek skenÄti vairÄk nekÄ 10 datu noliktavÄs. LielÄkajai daļai Å”o krÄtuvju pÄrklÄjums pÄrsniedz 98%.
Laika gaitÄ klasifikÄcija ir kļuvusi ļoti efektÄ«va, un klasificÄÅ”anas uzdevumi ilgstoÅ”Ä bezsaistes straumÄ aizÅem vidÄji 35 sekundes no lÄ«dzekļa skenÄÅ”anas lÄ«dz prognozes aprÄÄ·inÄÅ”anai katrai kolonnai.
RÄ«si. 2. Diagramma, kas apraksta nepÄrtrauktas integrÄcijas plÅ«smu, lai saprastu, kÄ RC objekti tiek Ä£enerÄti un nosÅ«tÄ«ti uz modeli.
3. attÄls. MaŔīnmÄcÄ«Å”anÄs komponenta augsta lÄ«meÅa diagramma.
MaŔīnmÄcÄ«Å”anÄs sistÄmas sastÄvdaļa
IepriekÅ”ÄjÄ sadaÄ¼Ä mÄs dziļi iedziļinÄjÄmies vispÄrÄjÄ sistÄmas arhitektÅ«rÄ, izceļot mÄrogu, optimizÄciju un bezsaistes un tieÅ”saistes datu plÅ«smas. Å ajÄ sadaÄ¼Ä mÄs apskatÄ«sim prognozÄÅ”anas pakalpojumu un aprakstÄ«sim maŔīnmÄcÄ«Å”anÄs sistÄmu, kas nodroÅ”ina prognozÄÅ”anas pakalpojumu.
Izmantojot vairÄk nekÄ 100 datu veidus un dažus nestrukturÄtus saturu, piemÄram, ziÅojumu datus un lietotÄja saturu, tikai manuÄlas heiristikas izmantoÅ”ana nodroÅ”ina apakÅ”parametriskas klasifikÄcijas precizitÄti, Ä«paÅ”i nestrukturÄtiem datiem. Å Ä« iemesla dÄļ mÄs esam izstrÄdÄjuÅ”i arÄ« maŔīnmÄcÄ«Å”anÄs sistÄmu, lai risinÄtu nestrukturÄtu datu sarežģījumus. Izmantojot maŔīnmÄcÄ«Å”anos, varat sÄkt atteikties no manuÄlÄs heiristikas un strÄdÄt ar lÄ«dzekļiem un papildu datu signÄliem (piemÄram, kolonnu nosaukumiem, datu izcelsmi), lai uzlabotu precizitÄti.
Ieviestais modelis atseviŔķi pÄta vektoru attÄlojumus [3] pÄr blÄ«viem un retiem objektiem. PÄc tam tie tiek apvienoti, veidojot vektoru, kas iziet sÄrijveida normalizÄcijas [4] un nelinearitÄtes soļu sÄriju, lai iegÅ«tu gala rezultÄtu. Gala rezultÄts ir peldoÅ”Ä komata skaitlis no [0-1] katrai etiÄ·etei, kas norÄda uz varbÅ«tÄ«bu, ka piemÄrs pieder Å”im jutÄ«guma veidam. PyTorch izmantoÅ”ana modelim ļÄva mums pÄrvietoties ÄtrÄk, ļaujot izstrÄdÄtÄjiem Ärpus komandas Ätri veikt un pÄrbaudÄ«t izmaiÅas.
ProjektÄjot arhitektÅ«ru, bija svarÄ«gi atseviŔķi modelÄt retus (piem., tekstu) un blÄ«vus (piem., skaitliskus) objektus tiem piemÄ«toÅ”o atŔķirÄ«bu dÄļ. GalÄ«gajai arhitektÅ«rai bija svarÄ«gi arÄ« veikt parametru slaucÄ«Å”anu, lai atrastu optimÄlo vÄrtÄ«bu mÄcÄ«Å”anÄs Ätrumam, partijas lielumam un citiem hiperparametriem. OptimizÄtÄja izvÄle bija arÄ« svarÄ«gs hiperparametrs. MÄs atklÄjÄm, ka populÄrs optimizÄtÄjs Adamnereti noved pie pÄrmÄrÄ«bas, savukÄrt modelis ar SGD stabilÄks. Bija papildu nianses, kas mums bija jÄiekļauj tieÅ”i modelÄ«. PiemÄram, statiski noteikumi, kas nodroÅ”inÄja, ka modelis veic deterministisku prognozi, ja objektam ir noteikta vÄrtÄ«ba. Å os statiskos noteikumus nosaka mÅ«su klienti. MÄs noskaidrojÄm, ka, tos iekļaujot tieÅ”i modelÄ«, tika iegÅ«ta autonomÄka un stabilÄka arhitektÅ«ra, nevis pÄcapstrÄdes darbÄ«ba, lai apstrÄdÄtu Å”os Ä«paÅ”os malas gadÄ«jumus. Å emiet vÄrÄ arÄ« to, ka Å”ie noteikumi treniÅu laikÄ ir atspÄjoti, lai netraucÄtu slÄ«puma nolaiÅ”anÄs apmÄcÄ«bas procesu.
ProblÄmas
Viens no izaicinÄjumiem bija augstas kvalitÄtes, uzticamu datu vÄkÅ”ana. Modelim ir nepiecieÅ”ama pÄrliecÄ«ba katrai klasei, lai tÄ varÄtu apgÅ«t asociÄcijas starp objektiem un etiÄ·etÄm. IepriekÅ”ÄjÄ sadaÄ¼Ä mÄs apspriedÄm datu vÄkÅ”anas metodes gan sistÄmas mÄrÄ«Å”anai, gan modeļu apmÄcÄ«bai. AnalÄ«ze parÄdÄ«ja, ka datu klases, piemÄram, kredÄ«tkarÅ”u un bankas kontu numuri, mÅ«su noliktavÄ nav Ä«paÅ”i izplatÄ«tas. Tas apgrÅ«tina liela apjoma uzticamu datu apkopoÅ”anu modeļu apmÄcÄ«Å”anai. Lai risinÄtu Å”o problÄmu, esam izstrÄdÄjuÅ”i procesus sintÄtisko pamatpatiesÄ«bas datu iegÅ«Å”anai Ŕīm klasÄm. MÄs Ä£enerÄjam Å”Ädus datus sensitÄ«viem veidiem, tostarp SSN, kredÄ«tkarÅ”u numuri Šø IBAN-skaitļi, kurus modelis iepriekÅ” nevarÄja paredzÄt. Å Ä« pieeja ļauj apstrÄdÄt sensitÄ«vus datu tipus bez privÄtuma riskiem, kas saistÄ«ti ar faktisko sensitÄ«vo datu slÄpÅ”anu.
Papildus pamata patiesÄ«bas jautÄjumiem ir atklÄti arhitektÅ«ras jautÄjumi, pie kuriem mÄs strÄdÄjam, piemÄram mainÄ«t izolÄciju Šø agrÄ apstÄÅ”anÄs. IzmaiÅu izolÄcija ir svarÄ«ga, lai nodroÅ”inÄtu, ka tad, kad dažÄdÄs tÄ«kla daļÄs tiek veiktas dažÄdas izmaiÅas, ietekme tiek izolÄta uz konkrÄtÄm klasÄm un tai nav plaÅ”as ietekmes uz kopÄjo prognozÄÅ”anas veiktspÄju. AgrÄ«nas apstÄÅ”anÄs kritÄriju uzlaboÅ”ana ir arÄ« ļoti svarÄ«ga, lai mÄs varÄtu apturÄt treniÅu procesu stabilÄ punktÄ visÄm nodarbÄ«bÄm, nevis vietÄ, kur dažas nodarbÄ«bas pÄrtrenÄjas, bet citas ne.
Funkcijas nozīme
Kad modelÄ« tiek ieviesta jauna funkcija, mÄs vÄlamies uzzinÄt tÄs kopÄjo ietekmi uz modeli. MÄs arÄ« vÄlamies pÄrliecinÄties, ka prognozes ir cilvÄkiem saprotamas, lai mÄs varÄtu precÄ«zi saprast, kÄdas funkcijas tiek izmantotas katram datu veidam. Å im nolÅ«kam esam izstrÄdÄjuÅ”i un ieviesuÅ”i pÄc klases funkciju nozÄ«me PyTorch modelÄ«. Å emiet vÄrÄ, ka tas atŔķiras no vispÄrÄjÄs funkcijas svarÄ«guma, kas parasti tiek atbalstÄ«ts, jo tas nenorÄda, kuras funkcijas ir svarÄ«gas konkrÄtai klasei. MÄs izmÄrÄm objekta svarÄ«gumu, aprÄÄ·inot prognozÄÅ”anas kļūdas pieaugumu pÄc objekta pÄrkÄrtoÅ”anas. Funkcija ir āsvarÄ«gaā, ja vÄrtÄ«bu maiÅa palielina modeļa kļūdu, jo Å”ajÄ gadÄ«jumÄ modelis paļÄvÄs uz lÄ«dzekli, lai veiktu tÄs prognozi. Funkcija ir ānesvarÄ«gaā, ja, sajaucot tÄs vÄrtÄ«bas, modeļa kļūda netiek mainÄ«ta, jo Å”ajÄ gadÄ«jumÄ modelis to ignorÄja [5].
Funkcijas nozÄ«mÄ«gums katrai klasei ļauj mums padarÄ«t modeli interpretÄjamu, lai mÄs varÄtu redzÄt, uz ko modelis skatÄs, prognozÄjot etiÄ·eti. PiemÄram, kad mÄs analizÄjam ADDR, tad garantÄjam, ka ar adresi saistÄ«tÄ zÄ«me, piemÄram, AddressLinesCount, ieÅem augstu vietu katras klases funkciju svarÄ«guma tabulÄ, lai mÅ«su cilvÄciskÄ intuÄ«cija labi saskanÄtu ar modeļa apgÅ«to.
NovÄrtÄjums
Ir svarÄ«gi definÄt vienu panÄkumu metriku. MÄs izvÄlÄjÄmies F2 - lÄ«dzsvars starp atsaukÅ”anu un precizitÄti (atgÄdinÄÅ”anas novirze ir nedaudz lielÄka). PrivÄtuma izmantoÅ”anas gadÄ«jumÄ atsaukÅ”ana ir svarÄ«gÄka nekÄ precizitÄte, jo komandai ir ļoti svarÄ«gi nepalaist garÄm nekÄdus sensitÄ«vus datus (vienlaikus nodroÅ”inot saprÄtÄ«gu precizitÄti). MÅ«su modeļa faktiskais F2 veiktspÄjas novÄrtÄjums ir Ärpus Ŕī raksta darbÄ«bas jomas. TomÄr ar rÅ«pÄ«gu regulÄÅ”anu mÄs varam sasniegt augstus (0,9+) F2 rÄdÄ«tÄjus vissvarÄ«gÄkajÄm jutÄ«gajÄm klasÄm.
Saistīts darbs
Ir daudz algoritmu nestrukturÄtu dokumentu automÄtiskai klasifikÄcijai, izmantojot dažÄdas metodes, piemÄram, modeļu saskaÅoÅ”anu, dokumentu lÄ«dzÄ«bas meklÄÅ”anu un dažÄdas maŔīnmÄcÄ«Å”anÄs metodes (Bayesian, lÄmumu koki, k-tuvÄkie kaimiÅi un daudzas citas) [6]. Jebkuru no tiem var izmantot kÄ daļu no klasifikÄcijas. TomÄr problÄma ir mÄrogojamÄ«ba. KlasifikÄcijas pieeja Å”ajÄ rakstÄ ir orientÄta uz elastÄ«bu un veiktspÄju. Tas ļauj mums turpmÄk atbalstÄ«t jaunas klases un saglabÄt zemu latentumu.
Ir arÄ« daudz darba pie datu pirkstu nospiedumu noÅemÅ”anas. PiemÄram, [7] autori aprakstÄ«ja risinÄjumu, kas koncentrÄjas uz sensitÄ«vu datu noplÅ«des uztverÅ”anas problÄmu. PamatÄ tiek pieÅemts, ka datiem var noÅemt pirkstu nospiedumus, lai tie atbilstu zinÄmu sensitÄ«vu datu kopai. Autori [8] apraksta lÄ«dzÄ«gu privÄtuma noplÅ«des problÄmu, taÄu to risinÄjums ir balstÄ«ts uz Ä«paÅ”u Android arhitektÅ«ru un tiek klasificÄts tikai tad, ja lietotÄja darbÄ«bu rezultÄtÄ tiek kopÄ«gota personiskÄ informÄcija vai ja pamatÄ esoÅ”Ä lietojumprogramma nopludina lietotÄja datus. SituÄcija Å”eit ir nedaudz atŔķirÄ«ga, jo lietotÄja dati var bÅ«t arÄ« ļoti nestrukturÄti. TÄpÄc mums ir nepiecieÅ”ama sarežģītÄka tehnika nekÄ pirkstu nospiedumu noÅemÅ”ana.
Visbeidzot, lai novÄrstu datu trÅ«kumu dažu veidu sensitÄ«viem datiem, mÄs ieviesÄm sintÄtiskos datus. Ir daudz literatÅ«ras par datu palielinÄÅ”anu, piemÄram, [9] autori pÄtÄ«ja trokÅ”Åa injekcijas lomu apmÄcÄ«bas laikÄ un novÄroja pozitÄ«vus rezultÄtus uzraudzÄ«tÄ mÄcÄ«bÄ. MÅ«su pieeja privÄtumam ir atŔķirÄ«ga, jo trokÅ”Åainu datu ievieÅ”ana var bÅ«t neproduktÄ«va, un tÄ vietÄ mÄs koncentrÄjamies uz augstas kvalitÄtes sintÄtiskiem datiem.
SecinÄjums
Å ajÄ rakstÄ mÄs iepazÄ«stinÄjÄm ar sistÄmu, kas var klasificÄt datu daļu. Tas ļauj mums izveidot sistÄmas, lai Ä«stenotu privÄtuma un droŔības politikas. MÄs esam parÄdÄ«juÅ”i, ka mÄrogojamai infrastruktÅ«rai, nepÄrtrauktai integrÄcijai, maŔīnmÄcÄ«bai un augstas kvalitÄtes datu nodroÅ”inÄÅ”anai ir galvenÄ loma daudzu mÅ«su privÄtuma iniciatÄ«vu panÄkumos.
Ir daudz virzienu turpmÄkajam darbam. Tas var ietvert atbalsta nodroÅ”inÄÅ”anu neshÄmotiem datiem (failiem), ne tikai datu veida, bet arÄ« jutÄ«guma lÄ«meÅa klasificÄÅ”anu un paÅ”pÄrraudzÄ«tas mÄcÄ«Å”anÄs izmantoÅ”anu apmÄcÄ«bas laikÄ, Ä£enerÄjot precÄ«zus sintÄtiskos piemÄrus. Kas, savukÄrt, palÄ«dzÄs modelim samazinÄt zaudÄjumus par lielÄko summu. TurpmÄkais darbs varÄtu bÅ«t vÄrsts arÄ« uz izmeklÄÅ”anas darbplÅ«smu, kurÄ mÄs pÄrsniedzam atklÄÅ”anu un sniedzam dažÄdu privÄtuma pÄrkÄpumu pamatcÄloÅu analÄ«zi. Tas palÄ«dzÄs tÄdos gadÄ«jumos kÄ jutÄ«guma analÄ«ze (t.i., vai datu veida konfidencialitÄtes jutÄ«gums ir augsts (piemÄram, lietotÄja IP) vai zems (piemÄram, Facebook iekÅ”Äjais IP)).
BibliogrÄfija
Deivids Ben-David, Tamar Domany un Abigail Tarem. UzÅÄmuma datu klasifikÄcija, izmantojot semantiskÄs tÄ«mekļa tehnoloÄ£ijas. PÄ«ters F. Ć Patels-Å neiders, Jue Pans, PaskÄls Hiclers, PÄ«ters Mika, Lei Džans, Džefs Z. Pans, Ians Horokss un Birte Glimma, redaktori, Semantiskais tÄ«meklis ā ISWC 2010, 66.ā81. lpp., Berlin, Heidelberg, 2010. Springer Berlin Heidelberg.
Subramanian Muralidhar, Wyatt Lloyd, Sabyasachi Roy, Cory Hill, Ernest Lin, Weiwen Liu, Satadru Pan, Shiva Shankar, Viswanath Sivakumar, Linpeng Tang un Sanjeev Kumar. f4: Facebook siltÄ BLOB uzglabÄÅ”anas sistÄma. In 11. USENIX simpozijs par operÄtÄjsistÄmu dizainu un ievieÅ”anu (OSDI 14), 383.ā398. lpp., Broomfield, CO, 2014. gada oktobris. USENIX asociÄcija.
Tomass Mikolovs, Iļja Suckevers, Kajs Äens, Gregs S Korrado un Džefs DÄ«ns. IzplatÄ«tie vÄrdu un frÄžu attÄlojumi un to kompozÄ«cija. C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani un K. Q. Weinberger, redaktori, Neironu informÄcijas apstrÄdes sistÄmu attÄ«stÄ«ba 26, 3111.ā3119. lpp. Curran Associates, Inc., 2013. gads.
Sergejs Jofs un Kristians Szegedijs. PakeÅ”u normalizÄcija: paÄtrina dziļo tÄ«kla apmÄcÄ«bu, samazinot iekÅ”Äjo kovariÄtu nobÄ«di. Fransiss Bahs un Deivids Blei, redaktori, 32. starptautiskÄs maŔīnmÄcÄ«bas konferences materiÄli, 37. sÄjums no MaŔīnmÄcÄ«Å”anÄs pÄtÄ«jumu materiÄli, 448.ā456. lpp., Lille, Francija, 07.ā09. jÅ«lijs 2015. PMLR.
Leo Breimanis. NejauÅ”i meži. MaÄs. Uzziniet., 45(1):5ā32, 2001. gada oktobris.
Tair Nu Phyu. KlasifikÄcijas metožu apsekojums datu ieguvÄ.
X. Å u, D. Jao un E. Bertino. SensitÄ«vu datu atklÄÅ”ana, saglabÄjot konfidencialitÄti. IEEE darÄ«jumi informÄcijas kriminÄlistikas un droŔības jomÄ, 10(5):1092ā1103, 2015.
Džemins JaÅs, Mins JaÅs, JuaÅs Džans, Guofei Gu, Pens Nins un Sjaojans Vans. IesniedzÄjs: sensitÄ«vu datu pÄrraides analÄ«ze operÄtÄjsistÄmÄ Android, lai noteiktu privÄtuma noplÅ«des. 1043.ā1054. lpp., 11. gada 2013. lpp.
Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong un Quoc V. Le. NeuzraudzÄ«ta datu palielinÄÅ”ana.
ApgÅ«stot SkillFactory tieÅ”saistes kursus, uzziniet sÄ«kÄku informÄciju par to, kÄ iegÅ«t pieprasÄ«tu profesiju no nulles vai iegÅ«t augstÄku lÄ«meni prasmju un atalgojuma ziÅÄ: