Klasifikasi data yang skalabel untuk keamanan dan privasi

Klasifikasi data yang skalabel untuk keamanan dan privasi

Klasifikasi data berbasis konten merupakan masalah terbuka. Sistem pencegahan kehilangan data (DLP) tradisional memecahkan masalah ini dengan melakukan sidik jari pada data yang relevan dan memantau titik akhir untuk sidik jari. Mengingat banyaknya sumber data yang terus berubah di Facebook, pendekatan ini tidak hanya tidak terukur, namun juga tidak efektif untuk menentukan di mana data berada. Makalah ini berfokus pada sistem end-to-end yang dibangun untuk mendeteksi tipe semantik sensitif di Facebook dalam skala besar dan secara otomatis menerapkan penyimpanan data dan kontrol akses.

Pendekatan yang dijelaskan di sini adalah sistem privasi menyeluruh pertama kami yang berupaya memecahkan masalah ini dengan menggabungkan sinyal data, pembelajaran mesin, dan teknik sidik jari tradisional untuk memetakan dan mengklasifikasikan semua data di Facebook. Sistem yang dijelaskan dioperasikan dalam lingkungan produksi, mencapai skor F2 rata-rata 0,9+ di berbagai kelas privasi sambil memproses sumber daya data dalam jumlah besar di lusinan repositori. Memperkenalkan terjemahan makalah ArXiv Facebook tentang klasifikasi data terukur untuk keamanan dan privasi berdasarkan pembelajaran mesin.

pengenalan

Saat ini, organisasi mengumpulkan dan menyimpan data dalam jumlah besar dalam berbagai format dan lokasi [1], kemudian data tersebut digunakan di banyak tempat, terkadang disalin atau disimpan dalam cache beberapa kali, sehingga informasi bisnis yang berharga dan sensitif tersebar di banyak data perusahaan. toko. Ketika suatu organisasi diharuskan memenuhi persyaratan hukum atau peraturan tertentu, seperti kepatuhan terhadap peraturan dalam proses perdata, maka pengumpulan data tentang lokasi data yang diperlukan perlu dilakukan. Ketika peraturan privasi menyatakan bahwa organisasi harus menutupi semua Nomor Jaminan Sosial (SSN) ketika berbagi informasi pribadi dengan entitas yang tidak sah, langkah pertama yang wajar adalah mencari semua SSN di seluruh penyimpanan data organisasi. Dalam keadaan seperti itu, klasifikasi data menjadi penting [1]. Sistem klasifikasi akan memungkinkan organisasi untuk secara otomatis menerapkan kebijakan privasi dan keamanan, seperti mengaktifkan kebijakan kontrol akses, retensi data. Facebook memperkenalkan sistem yang kami bangun di Facebook yang menggunakan beberapa sinyal data, arsitektur sistem yang dapat diskalakan, dan pembelajaran mesin untuk menemukan tipe data semantik yang sensitif.

Penemuan dan klasifikasi data adalah proses menemukan dan memberi label pada data sehingga informasi yang relevan dapat diambil dengan cepat dan efisien saat dibutuhkan. Proses yang ada saat ini bersifat manual dan terdiri dari pemeriksaan undang-undang atau peraturan yang relevan, menentukan jenis informasi apa yang harus dianggap sensitif dan tingkat sensitivitas yang berbeda, dan kemudian menyusun kebijakan kelas dan klasifikasi yang sesuai [1]. Pencegahan kehilangan data (DLP) kemudian mengambil sidik jari pada data dan melacak titik akhir hilir untuk mendapatkan sidik jari. Ketika berhadapan dengan gudang yang memiliki banyak aset dengan data berukuran petabyte, pendekatan ini tidak dapat diskalakan.

Sasaran kami adalah membangun sistem klasifikasi data yang menskalakan data pengguna yang kuat dan bersifat sementara, tanpa batasan tambahan apa pun pada jenis atau format data. Ini adalah tujuan yang berani, dan tentu saja ada tantangannya. Catatan data tertentu bisa mencapai ribuan karakter.

Klasifikasi data yang skalabel untuk keamanan dan privasi
Gambar 1. Alur peramalan online dan offline

Oleh karena itu, kita harus merepresentasikannya secara efisien menggunakan serangkaian fitur umum yang nantinya dapat digabungkan dan dipindahkan dengan mudah. Fitur-fitur ini tidak hanya memberikan klasifikasi yang akurat, namun juga memberikan fleksibilitas dan ekstensibilitas untuk dengan mudah menambahkan dan menemukan tipe data baru di masa depan. Kedua, Anda perlu berurusan dengan tabel offline yang besar. Data yang tahan lama dapat disimpan dalam tabel yang berukuran beberapa petabyte. Hal ini dapat mengakibatkan kecepatan pemindaian lebih lambat. Ketiga, kita harus mematuhi klasifikasi SLA yang ketat pada data yang mudah menguap. Hal ini memaksa sistem menjadi sangat efisien, cepat dan akurat. Terakhir, kami harus menyediakan klasifikasi data latensi rendah untuk data yang mudah menguap guna melakukan klasifikasi waktu nyata serta untuk kasus penggunaan Internet.

Makalah ini menjelaskan cara kami mengatasi tantangan di atas dan menyajikan sistem klasifikasi yang cepat dan terukur yang mengklasifikasikan elemen data dari semua jenis, format, dan sumber berdasarkan serangkaian fitur umum. Kami memperluas arsitektur sistem dan membuat model pembelajaran mesin khusus untuk mengklasifikasikan data offline dan online dengan cepat. Makalah ini disusun sebagai berikut: Bagian 2 menyajikan desain sistem secara keseluruhan. Bagian 3 membahas bagian-bagian sistem pembelajaran mesin. Bagian 4 dan 5 menyoroti pekerjaan terkait dan menguraikan arah pekerjaan di masa depan.

Arsitektur

Untuk menghadapi tantangan data online yang persisten dan berskala Facebook, sistem klasifikasi memiliki dua aliran terpisah, yang akan kita bahas secara mendetail.

Data Berkelanjutan

Awalnya, sistem harus mempelajari banyak aset informasi Facebook. Untuk setiap repositori, beberapa informasi dasar dikumpulkan, seperti pusat data yang berisi data tersebut, sistem yang berisi data tersebut, dan aset yang terletak di repositori data tertentu. Hal ini menciptakan katalog metadata yang memungkinkan sistem mengambil data secara efisien tanpa membebani klien dan sumber daya yang digunakan oleh teknisi lain secara berlebihan.

Katalog metadata ini menyediakan sumber resmi untuk semua aset yang dipindai dan memungkinkan Anda melacak status berbagai aset. Dengan menggunakan informasi ini, prioritas penjadwalan ditetapkan berdasarkan data yang dikumpulkan dan informasi internal dari sistem, seperti waktu terakhir aset berhasil dipindai dan waktu pembuatannya, serta memori masa lalu dan kebutuhan CPU untuk aset tersebut jika itu telah dipindai sebelumnya. Kemudian, untuk setiap sumber daya data (saat sumber daya tersedia), tugas dipanggil untuk benar-benar memindai sumber daya tersebut.

Setiap pekerjaan adalah file biner terkompilasi yang melakukan pengambilan sampel Bernoulli pada data terbaru yang tersedia untuk setiap aset. Aset dibagi menjadi beberapa kolom tersendiri, dimana hasil klasifikasi setiap kolom diproses secara independen. Selain itu, sistem memindai data jenuh apa pun di dalam kolom. JSON, array, struktur yang dikodekan, URL, data serial base 64, dan banyak lagi semuanya dipindai. Hal ini dapat meningkatkan waktu eksekusi pemindaian secara signifikan karena satu tabel dapat berisi ribuan kolom bertumpuk dalam satu blob json.

Untuk setiap baris yang dipilih dalam aset data, sistem klasifikasi mengekstrak objek float dan teks dari konten dan mengaitkan setiap objek kembali ke kolom tempatnya diambil. Output dari langkah ekstraksi fitur adalah peta seluruh fitur untuk setiap kolom yang terdapat pada aset data.

Untuk apa tanda-tandanya?

Konsep atribut adalah kuncinya. Alih-alih sifat float dan teks, kita dapat meneruskan sampel string mentah yang diekstraksi langsung dari setiap sumber data. Selain itu, model pembelajaran mesin dapat dilatih langsung pada setiap sampel, dibandingkan ratusan penghitungan fitur yang hanya mencoba memperkirakan sampel. Ada beberapa alasan untuk ini:

  1. Privasi pertama: Yang terpenting, konsep fitur memungkinkan kita menyimpan dalam memori hanya pola-pola yang kita ambil. Hal ini memastikan bahwa kami menyimpan sampel untuk satu tujuan dan tidak pernah mencatatnya melalui upaya kami sendiri. Hal ini sangat penting terutama untuk data yang mudah menguap, karena layanan harus mempertahankan beberapa status klasifikasi sebelum memberikan prediksi.
  2. Memori: Beberapa sampel dapat memiliki panjang ribuan karakter. Menyimpan data tersebut dan mengirimkannya ke bagian-bagian sistem akan menghabiskan banyak byte tambahan. Kedua faktor tersebut dapat digabungkan seiring waktu, mengingat terdapat banyak sumber data dengan ribuan kolom.
  3. Agregasi fitur: Fitur dengan jelas mewakili hasil setiap pemindaian melalui serangkaian fitur, memungkinkan sistem menggabungkan hasil pemindaian sebelumnya pada sumber data yang sama dengan cara yang mudah. Hal ini dapat berguna untuk menggabungkan hasil pemindaian dari satu sumber data di beberapa proses.

Fitur tersebut kemudian dikirim ke layanan prediksi tempat kami menggunakan klasifikasi berbasis aturan dan pembelajaran mesin untuk memprediksi label data setiap kolom. Layanan ini mengandalkan pengklasifikasi aturan dan pembelajaran mesin serta memilih prediksi terbaik yang diberikan dari setiap objek prediksi.

Pengklasifikasi aturan adalah heuristik manual, mereka menggunakan perhitungan dan koefisien untuk menormalkan objek ke kisaran 0 hingga 100. Setelah skor awal dihasilkan untuk setiap tipe data dan nama kolom yang terkait dengan data tersebut, skor tersebut tidak termasuk dalam "larangan" apa pun. list", Pengklasifikasi aturan memilih skor ternormalisasi tertinggi di antara semua tipe data.

Karena kompleksitas klasifikasi, hanya mengandalkan heuristik manual menghasilkan akurasi klasifikasi yang rendah, terutama untuk data tidak terstruktur. Karena alasan ini, kami mengembangkan sistem pembelajaran mesin untuk bekerja dengan klasifikasi data tidak terstruktur seperti konten dan alamat pengguna. Pembelajaran mesin telah memungkinkan untuk mulai beralih dari heuristik manual dan menerapkan sinyal data tambahan (misalnya nama kolom, asal data), sehingga secara signifikan meningkatkan akurasi deteksi. Kami akan mendalami arsitektur pembelajaran mesin kami nanti.

Layanan prediksi menyimpan hasil untuk setiap kolom beserta metadata mengenai waktu dan status pemindaian. Setiap konsumen dan proses hilir yang bergantung pada data ini dapat membacanya dari kumpulan data yang dipublikasikan setiap hari. Kumpulan ini menggabungkan hasil semua pekerjaan pemindaian ini, atau API Katalog Data Real-Time. Perkiraan yang dipublikasikan adalah dasar untuk penegakan kebijakan privasi dan keamanan secara otomatis.

Terakhir, setelah layanan perkiraan menulis semua data dan semua perkiraan disimpan, API Katalog Data kami dapat mengembalikan semua perkiraan tipe data untuk sumber daya secara real-time. Setiap hari sistem menerbitkan kumpulan data yang berisi semua perkiraan terbaru untuk setiap aset.

Data yang mudah berubah

Meskipun proses di atas dirancang untuk aset yang bertahan, lalu lintas yang tidak persisten juga dianggap sebagai bagian dari data organisasi dan dapat menjadi penting. Oleh karena itu, sistem menyediakan API online untuk menghasilkan prediksi klasifikasi real-time untuk lalu lintas yang terputus-putus. Sistem perkiraan waktu nyata banyak digunakan dalam mengklasifikasikan lalu lintas keluar, lalu lintas masuk ke dalam model pembelajaran mesin, dan data pengiklan.

Di sini API mengambil dua argumen utama: kunci pengelompokan dan data mentah yang akan diprediksi. Layanan ini melakukan pengambilan objek yang sama seperti dijelaskan di atas dan mengelompokkan objek bersama-sama untuk kunci yang sama. Fitur-fitur ini juga didukung dalam cache persistensi untuk pemulihan kegagalan. Untuk setiap kunci pengelompokan, layanan memastikan bahwa ia telah melihat sampel yang cukup sebelum memanggil layanan prediksi, dengan mengikuti proses yang dijelaskan di atas.

Optimasi

Untuk memindai beberapa penyimpanan, kami menggunakan perpustakaan dan teknik untuk mengoptimalkan pembacaan dari penyimpanan panas [2] dan memastikan bahwa tidak ada gangguan dari pengguna lain yang mengakses penyimpanan yang sama.

Untuk tabel yang sangat besar (50+ petabyte), terlepas dari semua optimasi dan efisiensi memori, sistem bekerja untuk memindai dan menghitung semuanya sebelum kehabisan memori. Bagaimanapun, pemindaian dihitung seluruhnya dalam memori dan tidak disimpan selama pemindaian. Jika tabel besar berisi ribuan kolom dengan kumpulan data tidak terstruktur, pekerjaan mungkin gagal karena sumber daya memori tidak mencukupi saat melakukan prediksi pada seluruh tabel. Hal ini akan mengakibatkan berkurangnya cakupan. Untuk mengatasi hal ini, kami mengoptimalkan sistem untuk menggunakan kecepatan pemindaian sebagai proksi seberapa baik sistem menangani beban kerja saat ini. Kami menggunakan kecepatan sebagai mekanisme prediktif untuk melihat masalah memori dan menghitung peta fitur secara prediktif. Pada saat yang sama, kami menggunakan lebih sedikit data dari biasanya.

Sinyal data

Sistem klasifikasi hanya akan berfungsi jika sinyal dari datanya bagus. Di sini kita akan melihat semua sinyal yang digunakan oleh sistem klasifikasi.

  • Berbasis Konten: Tentu saja, sinyal pertama dan terpenting adalah konten. Pengambilan sampel Bernoulli dilakukan pada setiap aset data yang kami pindai dan ekstrak fiturnya berdasarkan konten data. Banyak tanda yang muncul dari isinya. Objek mengambang dalam jumlah berapa pun dimungkinkan, yang mewakili penghitungan berapa kali jenis sampel tertentu terlihat. Misalnya, kita mungkin memiliki tanda jumlah email yang terlihat dalam sampel, atau tanda berapa banyak emoji yang terlihat dalam sampel. Penghitungan fitur ini dapat dinormalisasi dan dikumpulkan di berbagai pemindaian yang berbeda.
  • Asal data: Sinyal penting yang dapat membantu ketika konten telah berubah dari tabel induk. Contoh umum adalah data hash. Ketika data dalam tabel anak di-hash, sering kali data tersebut berasal dari tabel induk, dan tetap tidak diketahui. Data silsilah membantu mengklasifikasikan jenis data tertentu ketika data tersebut tidak dibaca dengan jelas atau dikonversi dari tabel upstream.
  • Anotasi: Sinyal berkualitas tinggi lainnya yang membantu mengidentifikasi data tidak terstruktur. Faktanya, anotasi dan data asal dapat bekerja sama untuk menyebarkan atribut ke berbagai aset data. Anotasi membantu mengidentifikasi sumber data tidak terstruktur, sedangkan data silsilah dapat membantu melacak aliran data tersebut di seluruh repositori.
  • Injeksi data adalah teknik di mana karakter khusus yang tidak dapat dibaca secara sengaja dimasukkan ke dalam sumber tipe data yang diketahui. Lalu, setiap kali kami memindai konten dengan urutan karakter sama yang tidak dapat dibaca, kami dapat menyimpulkan bahwa konten tersebut berasal dari tipe data yang diketahui tersebut. Ini adalah sinyal data kualitatif lain yang mirip dengan anotasi. Kecuali bahwa deteksi berbasis konten membantu menemukan data yang dimasukkan.

Mengukur Metrik

Komponen penting adalah metodologi yang ketat untuk mengukur metrik. Metrik utama untuk iterasi peningkatan klasifikasi adalah presisi dan perolehan setiap label, dengan skor F2 menjadi yang paling penting.

Untuk menghitung metrik ini, diperlukan metodologi independen untuk memberi label pada aset data yang tidak bergantung pada sistem itu sendiri, namun dapat digunakan untuk perbandingan langsung dengannya. Di bawah ini kami menjelaskan cara kami mengumpulkan kebenaran dasar dari Facebook dan menggunakannya untuk melatih sistem klasifikasi kami.

Pengumpulan data yang dapat diandalkan

Kami mengumpulkan data yang dapat diandalkan dari setiap sumber yang tercantum di bawah ini ke dalam tabelnya sendiri. Setiap tabel bertanggung jawab untuk menggabungkan nilai-nilai terbaru yang diamati dari sumber tertentu. Setiap sumber memiliki pemeriksaan kualitas data untuk memastikan bahwa nilai yang diamati untuk setiap sumber berkualitas tinggi dan berisi label tipe data terbaru.

  • Konfigurasi platform pencatatan: Bidang tertentu dalam tabel kumpulan diisi dengan data dengan tipe tertentu. Penggunaan dan penyebaran data ini berfungsi sebagai sumber kebenaran yang dapat diandalkan.
  • Pelabelan manual: Pengembang yang memelihara sistem serta pelabel eksternal dilatih untuk memberi label pada kolom. Ini umumnya berfungsi dengan baik untuk semua jenis data di gudang, dan dapat menjadi sumber kebenaran utama untuk beberapa data tidak terstruktur, seperti data pesan atau konten pengguna.
  • Kolom dari tabel induk dapat ditandai atau diberi anotasi karena berisi data tertentu, dan kita dapat melacak data tersebut di tabel turunan.
  • Mengambil rangkaian eksekusi: rangkaian eksekusi di Facebook membawa jenis data tertentu. Dengan menggunakan pemindai kami sebagai arsitektur layanan, kami dapat mengambil sampel aliran yang memiliki tipe data yang diketahui dan mengirimkannya melalui sistem. Sistem berjanji untuk tidak menyimpan data ini.
  • Tabel sampel: Tabel kumpulan besar, yang diketahui berisi seluruh korpus data, juga dapat digunakan sebagai data pelatihan dan diteruskan melalui pemindai sebagai layanan. Ini bagus untuk tabel dengan berbagai tipe data, sehingga pengambilan sampel kolom secara acak setara dengan pengambilan sampel seluruh kumpulan tipe data tersebut.
  • Data sintetis: Kita bahkan dapat menggunakan perpustakaan yang menghasilkan data dengan cepat. Ini berfungsi baik untuk tipe data publik yang sederhana seperti alamat atau GPS.
  • Pengelola Data: Program privasi biasanya menggunakan pengelola data untuk menetapkan kebijakan secara manual pada suatu bagian data. Ini berfungsi sebagai sumber kebenaran yang sangat akurat.

Kami menggabungkan setiap sumber utama kebenaran ke dalam satu korpus dengan semua data tersebut. Tantangan terbesar dalam validitas adalah memastikan validitasnya mewakili repositori data. Jika tidak, mesin klasifikasi mungkin berlatih berlebihan. Untuk mengatasi hal ini, semua sumber di atas digunakan untuk memastikan keseimbangan saat melatih model atau menghitung metrik. Selain itu, pelabel manusia secara seragam mengambil sampel kolom yang berbeda dalam repositori dan memberi label pada data yang sesuai sehingga pengumpulan kebenaran dasar tetap tidak memihak.

Integrasi Berkelanjutan

Untuk memastikan iterasi dan peningkatan yang cepat, penting untuk selalu mengukur kinerja sistem secara real-time. Kami dapat mengukur setiap peningkatan klasifikasi terhadap sistem saat ini, sehingga kami dapat memandu perbaikan di masa mendatang secara taktis berdasarkan data. Di sini kita melihat bagaimana sistem menyelesaikan putaran umpan balik yang diberikan oleh data yang valid.

Saat sistem penjadwalan menemukan aset yang memiliki label dari sumber tepercaya, kami menjadwalkan dua tugas. Yang pertama menggunakan pemindai produksi kami dan dengan demikian kemampuan produksi kami. Tugas kedua menggunakan pemindai versi terbaru dengan fitur terbaru. Setiap tugas menulis outputnya ke tabelnya sendiri, menandai versi beserta hasil klasifikasinya.

Beginilah cara kami membandingkan hasil klasifikasi kandidat rilis dan model produksi secara real time.

Meskipun kumpulan data membandingkan fitur RC dan PROD, banyak variasi mesin klasifikasi ML layanan prediksi yang dicatat. Model pembelajaran mesin yang paling baru dibuat, model saat ini dalam produksi, dan model eksperimental apa pun. Pendekatan yang sama memungkinkan kita untuk β€œmemotong” versi model yang berbeda (agnostik terhadap pengklasifikasi aturan kita) dan membandingkan metrik secara real-time. Hal ini memudahkan untuk menentukan kapan eksperimen ML siap untuk diproduksi.

Setiap malam, fitur RC yang dihitung untuk hari itu dikirim ke pipeline pelatihan ML, tempat model dilatih tentang fitur RC terbaru dan mengevaluasi performanya berdasarkan kumpulan data kebenaran dasar.

Setiap pagi, model menyelesaikan pelatihan dan secara otomatis dipublikasikan sebagai model eksperimental. Itu secara otomatis dimasukkan dalam daftar eksperimental.

Beberapa hasil

Lebih dari 100 jenis data diberi label dengan akurasi tinggi. Jenis yang terstruktur dengan baik seperti email dan nomor telepon diklasifikasikan dengan skor f2 lebih besar dari 0,95. Tipe data gratis seperti konten buatan pengguna dan nama juga berkinerja sangat baik, dengan skor F2 lebih besar dari 0,85.

Sejumlah besar kolom data persisten dan mudah menguap diklasifikasikan setiap hari di seluruh repositori. Lebih dari 500 terabyte dipindai setiap hari di lebih dari 10 gudang data. Sebagian besar repositori ini memiliki cakupan lebih dari 98%.

Seiring waktu, klasifikasi menjadi sangat efisien, dengan tugas klasifikasi dalam aliran offline yang bertahan memerlukan waktu rata-rata 35 detik mulai dari memindai aset hingga menghitung prediksi untuk setiap kolom.

Klasifikasi data yang skalabel untuk keamanan dan privasi
Beras. 2. Diagram yang menggambarkan aliran integrasi berkelanjutan untuk memahami bagaimana objek RC dihasilkan dan dikirim ke model.

Klasifikasi data yang skalabel untuk keamanan dan privasi
Gambar 3. Diagram tingkat tinggi komponen pembelajaran mesin.

Komponen sistem pembelajaran mesin

Di bagian sebelumnya, kita mendalami arsitektur sistem secara keseluruhan, menyoroti skala, pengoptimalan, serta aliran data offline dan online. Di bagian ini, kita akan melihat layanan perkiraan dan menjelaskan sistem pembelajaran mesin yang mendukung layanan perkiraan.

Dengan lebih dari 100 tipe data dan beberapa konten tidak terstruktur seperti data pesan dan konten pengguna, penggunaan heuristik manual murni menghasilkan akurasi klasifikasi subparametrik, terutama untuk data tidak terstruktur. Oleh karena itu, kami juga telah mengembangkan sistem pembelajaran mesin untuk menangani kompleksitas data tidak terstruktur. Penggunaan pembelajaran mesin memungkinkan Anda untuk mulai beralih dari heuristik manual dan bekerja dengan fitur dan sinyal data tambahan (misalnya, nama kolom, asal data) untuk meningkatkan akurasi.

Model yang diterapkan mempelajari representasi vektor [3] pada objek padat dan jarang secara terpisah. Ini kemudian digabungkan untuk membentuk sebuah vektor, yang melewati serangkaian normalisasi batch [4] dan langkah-langkah nonlinier untuk menghasilkan hasil akhir. Hasil akhirnya adalah angka floating point antara [0-1] untuk setiap label, yang menunjukkan kemungkinan bahwa contoh tersebut termasuk dalam jenis sensitivitas tersebut. Penggunaan PyTorch untuk model ini memungkinkan kami bergerak lebih cepat, memungkinkan pengembang di luar tim membuat dan menguji perubahan dengan cepat.

Saat mendesain arsitektur, penting untuk memodelkan objek yang jarang (misalnya teks) dan padat (misalnya numerik) secara terpisah karena perbedaan yang melekat di dalamnya. Untuk arsitektur akhir, penting juga untuk melakukan sapuan parameter guna menemukan nilai optimal untuk kecepatan pembelajaran, ukuran batch, dan hyperparameter lainnya. Pilihan pengoptimal juga merupakan hyperparameter penting. Kami menemukan pengoptimal yang populer itu Adamsering menyebabkan overfitting, sedangkan model dengan SGD lebih stabil. Ada nuansa tambahan yang harus kami sertakan langsung ke dalam model. Misalnya, aturan statis yang memastikan model membuat prediksi deterministik ketika suatu fitur memiliki nilai tertentu. Aturan statis ini ditentukan oleh klien kami. Kami menemukan bahwa menggabungkannya secara langsung ke dalam model menghasilkan arsitektur yang lebih mandiri dan kuat, dibandingkan dengan menerapkan langkah pasca-pemrosesan untuk menangani kasus-kasus edge khusus ini. Perhatikan juga bahwa aturan ini dinonaktifkan selama pelatihan agar tidak mengganggu proses pelatihan penurunan gradien.

Masalah

Salah satu tantangannya adalah mengumpulkan data berkualitas tinggi dan andal. Model ini memerlukan kepercayaan diri setiap kelas agar dapat mempelajari hubungan antara objek dan label. Pada bagian sebelumnya, kita membahas metode pengumpulan data untuk pengukuran sistem dan pelatihan model. Analisis menunjukkan bahwa kelas data seperti nomor kartu kredit dan rekening bank tidak terlalu umum di gudang kami. Hal ini mempersulit pengumpulan data andal dalam jumlah besar untuk melatih model. Untuk mengatasi masalah ini, kami telah mengembangkan proses untuk mendapatkan data kebenaran dasar sintetik untuk kelas-kelas ini. Kami menghasilkan data tersebut untuk tipe sensitif termasuk SSN, nomor kartu kredit ΠΈ IBAN-angka yang sebelumnya tidak dapat diprediksi oleh model. Pendekatan ini memungkinkan tipe data sensitif diproses tanpa risiko privasi yang terkait dengan penyembunyian data sensitif sebenarnya.

Selain isu kebenaran dasar, ada isu arsitektur terbuka yang sedang kami tangani, seperti mengubah isolasi ΠΈ berhenti lebih awal. Isolasi perubahan penting untuk memastikan bahwa ketika perubahan berbeda dilakukan pada bagian jaringan yang berbeda, dampaknya diisolasi ke kelas tertentu dan tidak berdampak luas pada kinerja perkiraan secara keseluruhan. Memperbaiki kriteria penghentian dini juga penting agar kita dapat menghentikan proses pelatihan pada titik stabil untuk semua kelas, dibandingkan pada titik di mana beberapa kelas berlatih berlebihan dan yang lainnya tidak.

Pentingnya fitur

Saat fitur baru diperkenalkan ke dalam model, kami ingin mengetahui dampak keseluruhannya terhadap model. Kami juga ingin memastikan bahwa prediksi tersebut dapat ditafsirkan oleh manusia sehingga kami dapat memahami dengan tepat fitur apa yang digunakan untuk setiap jenis data. Untuk tujuan ini kami telah mengembangkan dan memperkenalkan berdasarkan kelas pentingnya fitur untuk model PyTorch. Perhatikan bahwa ini berbeda dari kepentingan fitur secara keseluruhan, yang biasanya didukung, karena ini tidak memberi tahu kita fitur mana yang penting untuk kelas tertentu. Kami mengukur pentingnya suatu objek dengan menghitung peningkatan kesalahan prediksi setelah menata ulang objek tersebut. Sebuah fitur menjadi "penting" ketika menukar nilai meningkatkan kesalahan model karena dalam hal ini model mengandalkan fitur tersebut untuk membuat prediksinya. Suatu fitur dianggap β€œtidak penting” ketika mengacak nilainya membiarkan kesalahan model tidak berubah, karena dalam kasus ini model mengabaikannya [5].

Pentingnya fitur untuk setiap kelas memungkinkan kita membuat model dapat diinterpretasikan sehingga kita dapat melihat apa yang dilihat model saat memprediksi suatu label. Misalnya saja ketika kita menganalisis TAMBAH, maka kami menjamin bahwa tanda tersebut terkait dengan alamat, seperti AlamatLinesCount, menempati peringkat tinggi dalam tabel kepentingan fitur untuk setiap kelas sehingga intuisi manusia kita cocok dengan apa yang telah dipelajari model.

Evaluasi

Penting untuk menentukan satu metrik keberhasilan. Kami memilih F2 - keseimbangan antara recall dan akurasi (recall bias sedikit lebih besar). Penarikan kembali lebih penting untuk kasus penggunaan privasi daripada akurasi karena sangat penting bagi tim untuk tidak melewatkan data sensitif apa pun (sambil memastikan keakuratan yang wajar). Evaluasi kinerja F2 sebenarnya dari model kami berada di luar cakupan makalah ini. Namun, dengan penyetelan yang cermat kita dapat mencapai skor F0,9 yang tinggi (2+) untuk kelas sensitif yang paling penting.

Pekerjaan yang berhubungan

Ada banyak algoritma untuk klasifikasi otomatis dokumen tidak terstruktur dengan menggunakan berbagai metode seperti pencocokan pola, pencarian kesamaan dokumen dan berbagai metode pembelajaran mesin (Bayesian, pohon keputusan, k-nearest neighbours dan banyak lainnya) [6]. Semua ini dapat digunakan sebagai bagian dari klasifikasi. Namun, masalahnya adalah skalabilitas. Pendekatan klasifikasi dalam artikel ini bias terhadap fleksibilitas dan kinerja. Hal ini memungkinkan kami untuk mendukung kelas-kelas baru di masa depan dan menjaga latensi tetap rendah.

Ada juga banyak pekerjaan pada sidik jari data. Misalnya, penulis di [7] menjelaskan solusi yang berfokus pada masalah menangkap kebocoran data sensitif. Asumsi yang mendasarinya adalah bahwa data tersebut dapat diambil sidik jarinya untuk dicocokkan dengan sekumpulan data sensitif yang diketahui. Para penulis di [8] menggambarkan masalah kebocoran privasi yang serupa, namun solusi mereka didasarkan pada arsitektur Android tertentu dan hanya diklasifikasikan jika tindakan pengguna mengakibatkan pembagian informasi pribadi atau jika aplikasi yang mendasarinya membocorkan data pengguna. Situasi di sini agak berbeda karena data pengguna juga bisa sangat tidak terstruktur. Oleh karena itu, diperlukan teknik yang lebih kompleks dibandingkan sidik jari.

Terakhir, untuk mengatasi kekurangan data untuk beberapa jenis data sensitif, kami memperkenalkan data sintetis. Ada banyak literatur tentang augmentasi data, misalnya, penulis di [9] mengeksplorasi peran injeksi kebisingan selama pelatihan dan mengamati hasil positif dalam pembelajaran yang diawasi. Pendekatan kami terhadap privasi berbeda karena memasukkan data yang berisik dapat menjadi kontraproduktif, dan kami malah fokus pada data sintetis berkualitas tinggi.

Kesimpulan

Dalam tulisan ini, kami menyajikan sebuah sistem yang dapat mengklasifikasikan suatu data. Hal ini memungkinkan kami membuat sistem untuk menegakkan kebijakan privasi dan keamanan. Kami telah menunjukkan bahwa infrastruktur yang dapat diperluas, integrasi berkelanjutan, pembelajaran mesin, dan jaminan data berkualitas tinggi memainkan peran penting dalam keberhasilan banyak inisiatif privasi kami.

Ada banyak arah untuk pekerjaan di masa depan. Hal ini mungkin termasuk memberikan dukungan untuk data (file) yang tidak dibuat skemanya, mengklasifikasikan tidak hanya jenis data tetapi juga tingkat sensitivitas, dan menggunakan pembelajaran mandiri selama pelatihan dengan menghasilkan contoh sintetik yang akurat. Hal ini, pada gilirannya, akan membantu model mengurangi kerugian sebanyak-banyaknya. Pekerjaan di masa depan juga dapat fokus pada alur kerja investigasi, di mana kami melakukan lebih dari sekedar deteksi dan memberikan analisis akar penyebab berbagai pelanggaran privasi. Hal ini akan membantu dalam kasus seperti analisis sensitivitas (yaitu apakah sensitivitas privasi suatu tipe data tinggi (misalnya IP pengguna) atau rendah (misalnya IP internal Facebook)).

Daftar pustaka

  1. David Ben-David, Tamar Domany, dan Abigail Tarem. Klasifikasi data perusahaan menggunakan teknologi web semantik. Dalam Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks, dan Birte Glimm, editor, Web Semantik – ISWC 2010, halaman 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, dan Sanjeev Kumar. f4: Sistem penyimpanan BLOB hangat Facebook. Di dalam Simposium USENIX ke-11 tentang Desain dan Implementasi Sistem Operasi (OSDI 14), halaman 383–398, Broomfield, CO, Oktober 2014. Asosiasi USENIX.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, dan Jeff Dean. Representasi terdistribusi dari kata dan frasa serta komposisionalitasnya. Dalam C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, dan K. Q. Weinberger, editor, Kemajuan dalam Sistem Pemrosesan Informasi Neural 26, halaman 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe dan Christian Szegedy. Normalisasi batch: Mempercepat pelatihan jaringan mendalam dengan mengurangi pergeseran kovariat internal. Dalam Francis Bach dan David Blei, editor, Prosiding Konferensi Internasional ke-32 tentang Pembelajaran Mesin, volume 37 dari Prosiding Penelitian Pembelajaran Mesin, halaman 448–456, Lille, Prancis, 07–09 Juli 2015. PMLR.
  5. Leo Breiman. Hutan acak. Mach. Mempelajari., 45(1):5–32, Oktober 2001.
  6. Thair Nu Phyu. Survei teknik klasifikasi dalam data mining.
  7. X. Shu, D. Yao, dan E. Bertino. Deteksi paparan data sensitif yang menjaga privasi. Transaksi IEEE pada Forensik dan Keamanan Informasi, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning, dan Xiaoyang Wang. Appintent: Menganalisis transmisi data sensitif di android untuk deteksi kebocoran privasi. halaman 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong, dan Quoc V. Le. Augmentasi data tanpa pengawasan.

Klasifikasi data yang skalabel untuk keamanan dan privasi
Cari tahu detail tentang cara mendapatkan profesi yang dicari dari awal atau Naik Level dalam hal keterampilan dan gaji dengan mengikuti kursus online SkillFactory:

Lebih banyak kursus

Sumber: www.habr.com

Tambah komentar