ProHoster > وبلاگ > اداره > طبقه بندی داده های مقیاس پذیر برای امنیت و حریم خصوصی
طبقه بندی داده های مقیاس پذیر برای امنیت و حریم خصوصی
طبقه بندی داده ها بر اساس محتوا یک کار باز است. سیستم های سنتی پیشگیری از از دست دادن داده ها (DLP) این مشکل را با انگشت نگاری داده های مربوطه و نظارت بر نقاط پایانی برای اثر انگشت حل می کنند. با توجه به تعداد زیاد منابع داده در حال تغییر در فیس بوک، این رویکرد نه تنها مقیاس نمی شود، بلکه برای تعیین محل قرار گرفتن داده ها نیز ناکارآمد است. این مقاله در مورد یک سیستم سرتاسر ساخته شده برای شناسایی انواع معنایی حساس در فیس بوک در مقیاس و اعمال خودکار ذخیره سازی داده ها و کنترل دسترسی است.
رویکردی که در اینجا توضیح داده شد، اولین سیستم حریم خصوصی سرتاسر ما است که تلاش میکند این مشکل را با ترکیب سیگنالهای داده، یادگیری ماشینی و تکنیکهای سنتی انگشت نگاری برای نمایش و طبقهبندی همه دادهها در فیسبوک حل کند. سیستم توصیف شده در یک محیط تولیدی کار میکند و به میانگین امتیاز F2 0,9+ برای کلاسهای مختلف حریم خصوصی دست مییابد در حالی که تعداد زیادی از منابع داده را در دهها ذخیرهسازی پردازش میکند. معرفی ترجمه یک پست فیس بوک در ArXiv در مورد طبقه بندی داده های مقیاس پذیر برای امنیت و حریم خصوصی بر اساس یادگیری ماشین.
معرفی
امروزه سازمانها مقادیر زیادی داده را در قالبها و مکانهای مختلف جمعآوری و ذخیره میکنند، سپس دادهها در بسیاری از مکانها مصرف میشوند، گاهی اوقات چندین بار کپی یا ذخیره میشوند و در نتیجه اطلاعات تجاری ارزشمند و حساسی در بسیاری از فروشگاههای داده شرکتی پراکنده میشوند. هنگامی که یک سازمان ملزم به رعایت برخی الزامات قانونی یا مقرراتی، مانند رعایت مقررات در دعاوی مدنی است، جمع آوری داده ها در مورد مکان داده های مورد نیاز ضروری می شود. هنگامی که یک فرمان حفظ حریم خصوصی بیان میکند که یک سازمان باید هنگام انتقال اطلاعات شخصی به نهادهای غیرمجاز، تمام شمارههای تامین اجتماعی (SSN) را بپوشاند، اولین قدم طبیعی این است که همه SSNها را در فروشگاههای داده در سطح سازمان جستجو کنید. در چنین شرایطی، طبقه بندی داده ها حیاتی می شود [1]. سیستم طبقه بندی به سازمان ها اجازه می دهد تا به طور خودکار سیاست های حفظ حریم خصوصی و امنیتی مانند فعال کردن خط مشی کنترل دسترسی، حفظ داده ها را اعمال کنند. فیس بوک سیستمی را معرفی می کند که توسط ما در فیس بوک ساخته شده است که از سیگنال های داده های متعدد، معماری سیستم مقیاس پذیر و یادگیری ماشینی برای شناسایی انواع داده های معنایی حساس استفاده می کند.
کشف و طبقهبندی دادهها مربوط به یافتن و برچسبگذاری دادهها است تا بتوان اطلاعات مربوطه را در صورت نیاز به سرعت و کارآمد بازیابی کرد. فرآیند فعلی بیشتر یک فرآیند دستی است و شامل بررسی قوانین یا مقررات مربوطه، تعیین اینکه چه نوع اطلاعاتی باید حساس در نظر گرفته شوند و سطوح مختلف حساسیت کدامند، و سپس ایجاد کلاسها و سیاستهای طبقهبندی بر این اساس [1]. پس از سیستم پیشگیری از از دست دادن داده ها (DLP)، داده ها انگشت نگاری می شوند و نقاط انتهایی پایین دست برای اثر انگشت نظارت می شوند. هنگامی که با ذخیره سازی با تعداد زیادی دارایی و پتابایت داده سروکار داریم، این رویکرد به سادگی مقیاس نمی شود.
هدف ما ایجاد یک سیستم طبقهبندی دادهها است که برای دادههای کاربر قوی و غیرپایدار، بدون هیچ گونه محدودیت اضافی در نوع یا قالب داده، مقیاس شود. این یک هدف جسورانه است و طبیعتاً با مشکلاتی همراه است. یک ورودی داده می تواند هزاران کاراکتر باشد.
شکل 1. جریان های پیش بینی آنلاین و آفلاین
بنابراین، ما باید آن را با استفاده از مجموعهای از ویژگیهای مشترک که بعداً میتوان آنها را ترکیب کرد و به آسانی جابهجا کرد، بهطور مؤثر نمایش داد. این ویژگیها نه تنها باید طبقهبندی دقیقی را ارائه دهند، بلکه انعطافپذیری و توسعهپذیری را نیز برای افزودن و کشف انواع دادههای جدید در آینده فراهم کنند. دوم، شما باید با میزهای بزرگ مستقل سر و کار داشته باشید. داده های پایدار را می توان در جداول با اندازه پتابایت ذخیره کرد. این ممکن است سرعت اسکن را کاهش دهد. ثالثاً، ما باید از طبقه بندی دقیق SLA برای داده های ناپایدار پیروی کنیم. این سیستم را مجبور می کند تا بسیار کارآمد، سریع و دقیق باشد. در نهایت، برای انجام طبقهبندی بلادرنگ و همچنین برای موارد استفاده از وب، باید طبقهبندی دادههای با تأخیر کم را برای دادههای ناپایدار ارائه کنیم.
این مقاله نحوه برخورد ما با مشکلات بالا را توضیح میدهد و یک سیستم طبقهبندی سریع و مقیاسپذیر ارائه میکند که اقلام دادهها را از همه نوع، قالبها و منابع بر اساس مجموعهای از ویژگیهای مشترک طبقهبندی میکند. ما معماری سیستم را گسترش دادیم و یک مدل یادگیری ماشین ویژه برای طبقهبندی سریع دادههای آفلاین و آنلاین ایجاد کردیم. این مقاله به شرح زیر سازماندهی شده است: بخش 2 طراحی کلی سیستم را ارائه می دهد. بخش 3 بخش های یک سیستم یادگیری ماشین را مورد بحث قرار می دهد. بخشهای 4 و 5 کار مرتبط را شرح میدهند و مسیر آینده کار را تشریح میکنند.
معماری
برای مقابله با چالش های داده های پایدار و آنلاین در مقیاس فیس بوک، سیستم طبقه بندی دارای دو جریان جداگانه است که به تفصیل در مورد آنها صحبت خواهیم کرد.
داده های پایدار
در ابتدا، سیستم باید در مورد بسیاری از دارایی های اطلاعاتی فیس بوک بیاموزد. برای هر فروشگاه، برخی از اطلاعات پایه جمع آوری می شود، مانند مرکز داده ای که آن داده ها را در بر می گیرد، سیستمی که آن داده ها را نگهداری می کند، و دارایی های واقع در آن ذخیره داده خاص. این یک کاتالوگ ابرداده را تشکیل می دهد که به سیستم اجازه می دهد تا داده ها را به طور موثر و بدون بارگذاری بیش از حد مشتریان و منابع مورد استفاده توسط مهندسان دیگر بازیابی کند.
این کاتالوگ ابرداده یک منبع قابل اعتماد برای همه دارایی های اسکن شده فراهم می کند و به شما امکان می دهد وضعیت دارایی های مختلف را ردیابی کنید. این اطلاعات بر اساس دادههای جمعآوریشده و اطلاعات داخلی از سیستم، از جمله زمانی که دارایی با موفقیت اسکن شد و چه زمانی ایجاد شد، و نیازهای حافظه و CPU قبلی برای آن دارایی، اگر قبلاً اسکن شده بود، اولویت بندی میکند. سپس، برای هر منبع داده (با در دسترس قرار گرفتن منابع)، کار اسکن منابع واقعی فراخوانی می شود.
هر کار یک باینری کامپایل شده است که نمونه برنولی را بر روی آخرین داده های موجود برای هر دارایی انجام می دهد. دارایی به ستون های جداگانه تقسیم می شود، جایی که نتیجه طبقه بندی هر ستون به طور مستقل پردازش می شود. علاوه بر این، سیستم هر گونه داده غنی را در ستون ها اسکن می کند. JSON، آرایه ها، ساختارهای رمزگذاری شده، URL ها، داده های سریالی پایه 64 و موارد دیگر همگی اسکن می شوند. این می تواند زمان لازم برای تکمیل اسکن را تا حد زیادی افزایش دهد، زیرا یک جدول واحد می تواند شامل هزاران ستون تو در تو در یک لکه باشد. json.
برای هر ردیفی که در دارایی داده انتخاب می شود، سیستم طبقه بندی ویژگی های شناور و متن را از محتوا استخراج می کند و هر ویژگی را به ستونی که از آن گرفته شده است پیوند می دهد. نتیجه مرحله استخراج ویژگی، نقشه ای از تمام ویژگی ها برای هر ستون موجود در دارایی داده است.
نشانه ها برای چیست؟
مفهوم ویژگی ها کلیدی است. به جای ویژگیهای float و text، میتوانیم رشتههای نمونه خام را که مستقیماً از هر منبع داده بازیابی میشوند، ارسال کنیم. همچنین، مدلهای یادگیری ماشین را میتوان مستقیماً بر روی هر نمونه به جای صدها محاسبه ویژگی که فقط سعی در تقریب نمونه دارند، آموزش داد. چندین دلیل برای این وجود دارد:
اول حریم خصوصی: مهمتر از همه، مفهوم ویژگی ها به ما اجازه می دهد فقط الگوهایی را که بازیابی می کنیم در حافظه ذخیره کنیم. این تضمین می کند که ما نمونه ها را برای یک هدف واحد ذخیره می کنیم و هرگز آنها را با تلاش خود ثبت نمی کنیم. این به ویژه برای داده های ناپایدار مهم است زیرا سرویس باید قبل از ارائه یک پیش بینی وضعیت طبقه بندی را حفظ کند.
حافظه: برخی از نمونه ها ممکن است هزاران کاراکتر داشته باشند. ذخیره چنین دادههایی و ارسال آن به بخشهایی از سیستم بهطور غیرضروری بایتهای اضافی زیادی را مصرف میکند. این دو عامل ممکن است در طول زمان با هم ترکیب شوند، زیرا منابع داده زیادی با هزاران ستون وجود دارد.
تجمیع ویژگیها: ویژگیها نمایش واضحی از نتایج هر اسکن را از طریق مجموعهای از ویژگیها ارائه میدهند و به سیستم اجازه میدهند نتایج اسکنهای قبلی همان منبع داده را به روشی راحت جمعآوری کند. این می تواند برای جمع آوری نتایج اسکن یک منبع داده در چندین اجرا مفید باشد.
سپس ویژگیها به یک سرویس پیشبینی ارسال میشوند، جایی که ما از طبقهبندی مبتنی بر قانون و یادگیری ماشینی برای پیشبینی برچسبهای داده هر ستون استفاده میکنیم. این سرویس بر هر دو طبقه بندی کننده قوانین و یادگیری ماشین تکیه دارد و بهترین پیش بینی ارائه شده را از هر شی پیش بینی انتخاب می کند.
طبقهبندیکننده قوانین اکتشافی دستی هستند، از محاسبات و ضرایب برای عادیسازی یک شی در محدوده 0 تا 100 استفاده میکنند. هنگامی که چنین امتیاز اولیه برای هر نوع داده ایجاد میشود و نام ستون مرتبط با این دادهها در هیچ «رد» قرار نمیگیرد. لیستها، طبقهبندیکننده قوانین بالاترین امتیاز نرمالشده را از بین انواع دادهها انتخاب میکند.
با توجه به پیچیدگی طبقه بندی، استفاده از اکتشافی صرفا دستی منجر به دقت طبقه بندی ضعیف، به ویژه برای داده های بدون ساختار می شود. به همین دلیل، ما یک سیستم یادگیری ماشینی برای کار با طبقه بندی داده های بدون ساختار مانند محتوای کاربر و آدرس ایجاد کرده ایم. یادگیری ماشینی به ما این امکان را داد که از اکتشافات دستی دور شویم و سیگنالهای داده اضافی (مانند نام ستونها، مبدا دادهها) را اعمال کنیم و دقت تشخیص را تا حد زیادی بهبود بخشیم. ما بعداً به معماری یادگیری ماشینی خود خواهیم پرداخت.
سرویس پیش بینی نتایج را برای هر ستون به همراه ابرداده مربوط به زمان و وضعیت اسکن ذخیره می کند. هر مصرفکننده و فرآیندهای پاییندستی که به این دادهها وابسته هستند، میتوانند آن را از مجموعه دادههای منتشر شده روزانه بخوانند. این مجموعه نتایج همه این کارهای اسکن یا API بلادرنگ کاتالوگ داده را جمع می کند. پیش بینی های منتشر شده پایه و اساس اجرای خودکار سیاست های حفظ حریم خصوصی و امنیتی است.
در نهایت، پس از اینکه سرویس پیشبینی همه دادهها را ثبت کرد و همه پیشبینیها ذخیره شدند، API کاتالوگ داده ما میتواند تمام پیشبینیهای نوع داده برای یک منبع را در زمان واقعی بازگرداند. سیستم هر روز یک مجموعه داده حاوی آخرین پیش بینی ها برای هر دارایی منتشر می کند.
داده های ناپایدار
در حالی که فرآیند فوق برای دارایی های پایدار طراحی شده است، ترافیک غیر پایدار نیز بخشی از داده های یک سازمان در نظر گرفته می شود و می تواند مهم باشد. به همین دلیل، سیستم یک API آنلاین برای تولید پیشبینیهای طبقهبندی بلادرنگ برای هرگونه ترافیک نامنظم ارائه میکند. سیستم پیشبینی بلادرنگ به طور گسترده در طبقهبندی ترافیک خروجی، ترافیک ورودی در مدلهای یادگیری ماشین و دادههای تبلیغکننده استفاده میشود.
در اینجا API دو آرگومان اصلی را می گیرد: کلید گروه بندی و داده خامی که باید پیش بینی شود. این سرویس همان استخراج ویژگی را انجام می دهد که در بالا توضیح داده شد و ویژگی ها را برای یک کلید با هم گروه بندی می کند. این ویژگی ها همچنین در حافظه پنهان دائمی برای failover پشتیبانی می شوند. برای هر کلید گروهبندی، سرویس مطمئن میشود که نمونههای کافی را قبل از فراخوانی سرویس پیشبینی، طبق فرآیندی که در بالا توضیح داده شد، دیده است.
بهینه سازی
برای اسکن برخی از ذخیرهسازیها، از کتابخانهها و روشهای بهینهسازی خواندن ذخیرهسازی داغ [2] استفاده میکنیم و اطمینان میدهیم که هیچ خرابی از سوی دیگر کاربرانی که به همان فضای ذخیرهسازی دسترسی دارند وجود ندارد.
برای جداول بسیار بزرگ (50+ پتابایت)، با وجود تمام بهینه سازی ها و کارایی حافظه، سیستم در حال اسکن و محاسبه همه چیز قبل از اتمام حافظه است. از این گذشته ، اسکن کاملاً در حافظه محاسبه می شود و در طول اسکن ذخیره نمی شود. اگر جداول بزرگ حاوی هزاران ستون با توده های بدون ساختار داده باشد، کار ممکن است به دلیل منابع ناکافی حافظه هنگام پیش بینی های کل جدول شکست بخورد. این باعث کاهش پوشش خواهد شد. برای مبارزه با این، ما سیستم را بهینه سازی کرده ایم تا از سرعت اسکن به عنوان یک پروکسی برای اینکه سیستم چگونه بار فعلی را مدیریت می کند، استفاده کند. ما از سرعت به عنوان مکانیزم پیشبینی برای مشاهده مشکلات حافظه و محاسبات نقشه ویژگیهای پیشبینیکننده استفاده میکنیم. در انجام این کار، از داده های کمتری نسبت به معمول استفاده می کنیم.
سیگنال های داده
یک سیستم طبقه بندی فقط به اندازه سیگنال های داده ها خوب است. در اینجا ما تمام سیگنال های استفاده شده توسط سیستم طبقه بندی را در نظر خواهیم گرفت.
بر اساس محتوا: البته اولین و مهمترین سیگنال محتوا است. نمونهبرداری برنولی بر روی هر دارایی دادهای انجام میشود که ویژگیهایی را از محتوای دادهها اسکن و استخراج میکنیم. بسیاری از ویژگی ها از محتوا ناشی می شود. هر تعداد شی شناور ممکن است، که نشان دهنده محاسبات تعداد دفعاتی است که یک نوع خاص از الگوی دیده شده است. برای مثال، ممکن است نشانههایی از تعداد ایمیلهایی که در یک نمونه دیده میشود، یا نشانههایی از تعداد ایموجیهایی که در یک نمونه دیده میشوند، داشته باشیم. این محاسبات ویژگی را می توان در اسکن های مختلف عادی و جمع کرد.
مبدا داده ها: سیگنال مهمی است که می تواند در زمانی که محتوا از جدول والد تغییر کرده است کمک کند. یک مثال رایج داده های هش شده است. هنگامی که داده ها در یک جدول فرزند هش می شوند، اغلب از جدول والد می آیند، جایی که در حالت شفاف باقی می مانند. دادههای Lineage به دستهبندی انواع خاصی از دادهها کمک میکنند، زمانی که به وضوح خوانده نمیشوند یا از جدول بالادستی تبدیل نمیشوند.
حاشیه نویسی: یکی دیگر از سیگنال های با کیفیت بالا برای کمک به شناسایی داده های بدون ساختار. در واقع، حاشیه نویسی ها و داده های اصل و نسب می توانند با هم کار کنند تا ویژگی ها را بین دارایی های داده های مختلف منتشر کنند. حاشیه نویسی به شناسایی منبع داده های بدون ساختار کمک می کند، در حالی که داده های منشأ می توانند به ردیابی جریان آن داده ها در سراسر فروشگاه کمک کنند.
تزریق داده تکنیکی است که در آن کاراکترهای خاص و غیرقابل خواندن عمداً به منابع شناخته شده با انواع داده های شناخته شده تزریق می شوند. سپس، هر زمان که محتوا را با همان دنباله کاراکترهای ناخوانا اسکن می کنیم، می توانیم استنباط کنیم که محتوا از آن نوع داده شناخته شده است. این یک سیگنال داده کیفی مشابه به حاشیه نویسی است. به جز اینکه کشف مبتنی بر محتوا به کشف داده های وارد شده کمک می کند.
اندازه گیری متریک
یک مؤلفه مهم، یک روش دقیق برای اندازه گیری معیارها است. معیارهای اصلی تکرار بهبود طبقه بندی، دقت و یادآوری هر برچسب است که امتیاز F2 مهمترین آنهاست.
محاسبه این معیارها به یک روش برچسب گذاری دارایی داده مستقل نیاز دارد که مستقل از خود سیستم است، اما می تواند برای مقایسه مستقیم با آن استفاده شود. در زیر نحوه جمعآوری حقیقت از فیس بوک و استفاده از آن برای آموزش سیستم طبقهبندی خود را شرح میدهیم.
جمع آوری داده های قابل اعتماد
ما داده های معتبر را از هر منبع فهرست شده در زیر در جدول خود جمع آوری می کنیم. هر جدول مسئول جمع آوری آخرین مقادیر مشاهده شده از آن منبع خاص است. هر منبع یک بررسی کیفیت داده دارد تا اطمینان حاصل شود که مقادیر مشاهده شده برای هر منبع از کیفیت بالایی برخوردار بوده و حاوی آخرین برچسب های نوع داده است.
پیکربندیهای پلتفرم ثبتنام: فیلدهای خاصی در جداول کندو با دادههایی پر شدهاند که از نوع خاصی هستند. استفاده و انتشار این داده ها به عنوان منبع قابل اعتماد داده های قابل اعتماد عمل می کند.
برچسبگذاری دستی: توسعهدهندگانی که سیستم را حفظ میکنند و همچنین برچسبگذارهای خارجی برای برچسبگذاری ستونها آموزش دیدهاند. این معمولاً برای همه انواع دادههای موجود در فروشگاه به خوبی کار میکند و میتواند منبع اصلی اطمینان برای برخی دادههای بدون ساختار مانند دادههای پست یا محتوای تولید شده توسط کاربر باشد.
ستونهای جداول والد را میتوان بهعنوان حاوی دادههای خاصی علامتگذاری یا حاشیهنویسی کرد، و ما میتوانیم این دادهها را در جداول زیر دنبال کنیم.
رشته های نمونه برداری: رشته های فیس بوک داده هایی از نوع خاصی را حمل می کنند. با استفاده از اسکنر خود به عنوان یک معماری سرویس، میتوانیم جریانهایی را که انواع دادههای شناخته شده دارند نمونهبرداری کرده و آنها را از طریق سیستم ارسال کنیم. سیستم قول می دهد که این داده ها را ذخیره نکند.
جداول نمونه: جداول کندوی بزرگ که حاوی کل مجموعه داده ها هستند نیز می توانند به عنوان داده های آموزشی استفاده شوند و به عنوان یک سرویس از طریق اسکنر ارسال شوند. این برای جداول با طیف کاملی از انواع داده ها عالی است، به طوری که انتخاب یک ستون به صورت تصادفی معادل انتخاب کل مجموعه آن نوع داده است.
داده های مصنوعی: ما حتی می توانیم از کتابخانه هایی استفاده کنیم که داده ها را در پرواز تولید می کنند. این برای انواع داده های ساده و عمومی مانند آدرس یا GPS به خوبی کار می کند.
Data Stewards: برنامههای حفظ حریم خصوصی معمولاً از مباشرهای داده استفاده میکنند تا خطمشیها را بهصورت دستی به قطعات داده متصل کنند. این به عنوان یک منبع بسیار دقیق از اطمینان عمل می کند.
ما هر منبع اصلی داده های سخت را در یک مجموعه با تمام آن داده ها ترکیب می کنیم. بزرگترین مشکل اعتبار این است که مطمئن شوید که نماینده انبار داده است. در غیر این صورت، موتورهای طبقه بندی ممکن است بیش از حد مناسب شوند. در مبارزه با این، همه منابع بالا برای ایجاد تعادل در هنگام آموزش مدلها یا محاسبه معیارها استفاده میشوند. علاوه بر این، توکنهای انسانی از ستونهای مختلف در فروشگاه بهطور یکنواخت نمونهبرداری میکنند و دادهها را بهطور مناسب برچسبگذاری میکنند تا مجموعه مقادیر معتبر بیطرفانه باقی بماند.
یکپارچه سازی مداوم
برای اطمینان از تکرار و بهبود سریع، مهم است که همیشه عملکرد سیستم را در زمان واقعی اندازه گیری کنید. ما میتوانیم هر پیشرفت در طبقهبندی را با سیستم امروزی اندازهگیری کنیم، بنابراین میتوانیم بهطور تاکتیکی دادهها را برای بهبودهای بیشتر هدفگیری کنیم. در اینجا ما به نحوه تکمیل حلقه بازخوردی که توسط داده های معتبر ارائه می شود، نگاه می کنیم.
هنگامی که سیستم زمان بندی با دارایی مواجه می شود که دارای برچسب از یک منبع قابل اعتماد است، ما دو کار را برنامه ریزی می کنیم. اولین مورد از اسکنر تولیدی ما و در نتیجه از قابلیت های تولید ما استفاده می کند. وظیفه دوم از آخرین اسکنر ساخت با آخرین ویژگی ها استفاده می کند. هر کار خروجی خود را در جدول خود می نویسد و نسخه ها را همراه با نتایج طبقه بندی برچسب گذاری می کند.
به این صورت است که ما نتایج طبقه بندی نامزد انتشار و مدل تولید را در زمان واقعی مقایسه می کنیم.
در حالی که مجموعه دادهها ویژگیهای 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 پایدارتر تفاوت های ظریف دیگری نیز وجود داشت که باید مستقیماً در مدل گنجانده می شد. به عنوان مثال، قوانین ایستا که تضمین می کند که مدل زمانی که یک ویژگی دارای مقدار مشخصی است، یک پیش بینی قطعی انجام می دهد. این قوانین ثابت توسط مشتریان ما تعریف شده است. ما دریافتیم که ترکیب آنها به طور مستقیم در مدل منجر به یک معماری مستقل و قویتر میشود، برخلاف اجرای یک مرحله پس از پردازش برای رسیدگی به این موارد لبه خاص. همچنین توجه داشته باشید که این قوانین در حین آموزش غیرفعال می شوند تا در روند آموزش فرود شیب تداخل ایجاد نشود.
مشکلات
یکی از چالش ها جمع آوری داده های با کیفیت بالا و قابل اعتماد بود. مدل به اعتبار هر کلاس نیاز دارد تا بتواند ارتباط بین اشیا و برچسب ها را بیاموزد. در بخش قبل، روشهای جمعآوری دادهها را برای اندازهگیری سیستم و آموزش مدل مورد بحث قرار دادیم. تجزیه و تحلیل نشان داد که کلاس های داده مانند شماره کارت اعتباری و حساب بانکی در مخزن ما بسیار رایج نیستند. این امر جمع آوری مقادیر زیادی از داده های قابل اعتماد برای آموزش مدل را دشوار می کند. برای حل این مشکل، ما فرآیندهایی را برای تولید داده های مصنوعی برای این کلاس ها توسعه داده ایم. ما چنین داده هایی را برای انواع حساس تولید می کنیم، از جمله SSN, شماره های کارت اعتباری и IBAN-اعدادی که مدل قبلا نمی توانست برای آنها پیش بینی کند. این رویکرد به انواع دادههای حساس اجازه میدهد بدون خطر حفظ حریم خصوصی مرتبط با پنهان کردن دادههای حساس واقعی مدیریت شوند.
علاوه بر مسائل مربوط به اعتبار داده ها، مسائل معماری باز وجود دارد که ما روی آنها کار می کنیم مانند تغییر انزوا и توقف زودهنگام. جداسازی تغییر از این جهت مهم است که وقتی تغییرات مختلفی در بخشهای مختلف شبکه ایجاد میشود، تأثیر به کلاسهای خاصی جدا میشود و تأثیر گستردهای بر عملکرد کلی پیشبینی ندارد. بهبود معیارهای توقف زودهنگام نیز حیاتی است تا بتوانیم روند آموزش را در یک نقطه باثبات برای همه کلاس ها متوقف کنیم، نه در نقطه ای که برخی کلاس ها دوباره آموزش می بینند و برخی دیگر این کار را نمی کنند.
اهمیت ویژگی
هنگامی که یک ویژگی جدید به مدل معرفی می شود، می خواهیم تأثیر کلی آن را بر مدل بدانیم. ما همچنین میخواهیم مطمئن شویم که پیشبینیها قابل تفسیر توسط انسان هستند تا بتوانیم دقیقاً بفهمیم که برای هر نوع داده از چه ویژگیهایی استفاده میشود. برای این منظور توسعه و معرفی کرده ایم توسط کلاس اهمیت ویژگی ها برای یک مدل PyTorch توجه داشته باشید که این با اهمیت ویژگی عمومی متفاوت است، که معمولاً پشتیبانی می شود زیرا به ما نمی گوید کدام ویژگی برای یک کلاس خاص مهم است. ما اهمیت یک شی را با محاسبه افزایش خطای پیش بینی پس از جابجایی شی اندازه گیری می کنیم. یک ویژگی زمانی "مهم" است که جایگشت مقادیر خطای مدل را افزایش دهد، زیرا در این حالت مدل در پیش بینی خود به ویژگی متکی است. علامت "مهم نیست" زمانی که به هم زدن مقادیر آن خطای مدل را بدون تغییر باقی می گذارد، زیرا در این مورد مدل آن را نادیده گرفته است [5].
اهمیت ویژگی برای هر کلاس به ما این امکان را می دهد که مدل را قابل تفسیر کنیم تا بتوانیم ببینیم مدل هنگام پیش بینی برچسب به چه چیزی توجه می کند. مثلا وقتی تحلیل می کنیم ADDR، سپس تضمین می کنیم که ویژگی مرتبط با آدرس، مانند تعداد خطوط آدرس، در جدول اهمیت ویژگی ها برای هر کلاس در رتبه بالایی قرار می گیرد، به طوری که شهود انسانی ما به خوبی با آنچه مدل یاد گرفته است، هماهنگ می شود.
ارزیابی
مهم است که یک معیار واحد برای موفقیت تعریف کنید. ما انتخاب میکنیم F2 - تعادل بین یادآوری و دقت (سوگیری فراخوان کمی بزرگتر است). ابطال در مورد استفاده از حریم خصوصی مهمتر از دقت است، زیرا برای تیم بسیار مهم است که هیچ داده حساسی را از دست ندهد (در حالی که دقت معقول را حفظ می کند). امتیاز عملکرد واقعی F2 مدل ما خارج از محدوده این مقاله است. با این حال، با تنظیم دقیق می توانیم به امتیاز F0,9 بالا (2+) برای مهم ترین کلاس های حساس دست یابیم.
کار مرتبط
الگوریتمهای زیادی برای طبقهبندی خودکار اسناد بدون ساختار با استفاده از روشهای مختلفی مانند تطبیق الگو، جستجوی شباهت اسناد و روشهای مختلف یادگیری ماشین (بایز، درختهای تصمیم، k-نزدیکترین همسایهها و بسیاری دیگر) وجود دارد [6]. هر یک از اینها می تواند به عنوان بخشی از طبقه بندی استفاده شود. با این حال، مشکل مقیاس پذیری است. رویکرد طبقهبندی در این مقاله نسبت به انعطافپذیری و عملکرد تعصب دارد. این به ما امکان میدهد در آینده از کلاسهای جدید پشتیبانی کرده و تأخیر را پایین نگه داریم.
همچنین تعداد زیادی کار انگشت نگاری داده وجود دارد. برای مثال، نویسندگان در [7] راه حلی را توصیف کردند که بر مشکل کشف نشت داده های محرمانه تمرکز دارد. فرض اساسی این است که اثر انگشت داده را می توان با مجموعه ای از داده های حساس شناخته شده مطابقت داد. نویسندگان در [8] یک مشکل نشت حریم خصوصی مشابه را توصیف میکنند، اما راهحل آنها بر اساس معماری خاص اندروید است و تنها در صورتی طبقهبندی میشود که اقدامات کاربر منجر به ارسال اطلاعات شخصی شود یا اگر برنامه زیربنایی اطلاعات کاربر را به بیرون درز کرده باشد. وضعیت در اینجا تا حدودی متفاوت است، زیرا دادههای کاربر نیز میتوانند به شدت بدون ساختار باشند. بنابراین، ما به یک تکنیک پیچیده تر از انگشت نگاری نیاز داریم.
در نهایت، برای مقابله با کمبود داده برای برخی از انواع دادههای حساس، دادههای مصنوعی را معرفی کردیم. مقالات زیادی در مورد تقویت داده ها وجود دارد، برای مثال، نویسندگان در [9] نقش تزریق نویز را در طول آموزش بررسی کردند و نتایج مثبتی را در یادگیری نظارت شده مشاهده کردند. رویکرد ما به حفظ حریم خصوصی متفاوت است، زیرا ارائه داده های پر سر و صدا می تواند نتیجه معکوس داشته باشد و در عوض روی داده های مصنوعی با کیفیت بالا تمرکز می کنیم.
نتیجه
در این مقاله سیستمی را ارائه کرده ایم که می تواند یک داده را طبقه بندی کند. این به ما امکان می دهد تا سیستم هایی را برای اجرای سیاست های حفظ حریم خصوصی و امنیتی ایجاد کنیم. ما نشان دادهایم که زیرساخت مقیاسپذیر، ادغام مداوم، یادگیری ماشین، و دادههای یکپارچگی داده با کیفیت بالا کلید موفقیت بسیاری از طرحهای حریم خصوصی ما هستند.
زمینه های زیادی برای کار آینده وجود دارد. این ممکن است شامل ارائه پشتیبانی از دادههای خام (فایلها)، طبقهبندی نه تنها نوع دادهها، بلکه همچنین سطح حساسیت، و استفاده از یادگیری تحت نظارت مستقیماً در طول آموزش با تولید نمونههای مصنوعی دقیق باشد. که به نوبه خود به مدل کمک می کند تا زیان را تا حد زیادی کاهش دهد. کار آینده همچنین ممکن است بر روی گردش کار تحقیق تمرکز کند، جایی که ما فراتر از تشخیص میرویم و تجزیه و تحلیل علل اصلی نقض حریم خصوصی مختلف را ارائه میکنیم. این در مواردی مانند تجزیه و تحلیل حساسیت (یعنی اینکه آیا حساسیت حریم خصوصی نوع داده بالا است (مثلا IP کاربر) یا پایین (مثلاً IP داخلی فیس بوک) کمک خواهد کرد.
کتاب شناسی
دیوید بن دیوید، تامار دومانی و ابیگیل تارم. طبقه بندی داده های سازمانی با استفاده از فناوری های وب معنایی در Peter F.Ï Patel-Schneider، Yue Pan، Pascal Hitzler، Peter Mika، Lei Zhang، Jeff Z. Pan، Ian Horrocks و Birte Glimm، ویراستاران، وب معنایی - ISWC 2010، صفحات 66–81، برلین، هایدلبرگ، 2010. Springer Berlin Heidelberg.
مورالیدار سوبرامانی، وایات لوید، سابیاساچی روی، کوری هیل، ارنست لین، ویون لیو، ساتادرو پان، شیوا شانکار، ویسوانات سیواکومار، لینپنگ تانگ و سانجیو کومار. f4: سیستم ذخیره سازی گرم BLOB فیس بوک. که در یازدهمین سمپوزیوم USENIX در مورد طراحی و پیاده سازی سیستم های عامل (OSDI 11)، صفحات 383-398، Broomfield، CO، اکتبر 2014. انجمن USENIX.
توماس میکولوف، ایلیا سوتسکور، کای چن، گرگ اس کورادو و جف دین. نمایش های توزیع شده از کلمات و عبارات و ترکیب آنها. در CJC Burges، L. Bottou، M. Welling، Z. قهرمانی، و KQ Weinberger، ویراستاران، پیشرفت در سیستم های پردازش اطلاعات عصبی 26، صفحات 3111-3119. Curran Associates, Inc., 2013.
سرگئی یوفه و کریستین سگدی. نرمال سازی دسته ای: تسریع آموزش عمیق شبکه با کاهش تغییر متغیر داخلی. در فرانسیس باخ و دیوید بلی، ویراستاران، مجموعه مقالات سی و دومین کنفرانس بین المللی یادگیری ماشینی، جلد 37 مجموعه مقالات تحقیقات یادگیری ماشین، صفحات 448-456، لیل، فرانسه، 07-09 ژوئیه 2015. PMLR.
تایر نو فیو. بررسی تکنیک های طبقه بندی در داده کاوی.
X. Shu، D. Yao، و E. Bertino. تشخیص قرار گرفتن در معرض داده های حساس با حفظ حریم خصوصی. تراکنش های IEEE در مورد اطلاعات پزشکی قانونی و امنیت, 10(5):1092–1103, 2015.
ژمین یانگ، مین یانگ، یوان ژانگ، گووفی گو، پنگ نینگ و شیائوانگ وانگ. Appintent: تجزیه و تحلیل انتقال داده های حساس در اندروید برای تشخیص نشت حریم خصوصی. صفحات 1043-1054، 11 2013.
Qizhe Xie، Zihang Dai، Eduard H. Hovy، Minh-Thang Luong، و Quoc V. Le. افزایش داده ها بدون نظارت
با گذراندن دوره های آنلاین SkillFactory، جزئیات نحوه دستیابی به یک حرفه مورد علاقه را از ابتدا یا سطح بالا در مهارت ها و حقوق پیدا کنید: