Phân loại dữ liệu có thể mở rộng để bảo mật và quyền riêng tư

Phân loại dữ liệu có thể mở rộng để bảo mật và quyền riêng tư

Phân loại dữ liệu dựa trên nội dung là một vấn đề mở. Các hệ thống ngăn ngừa mất dữ liệu (DLP) truyền thống giải quyết vấn đề này bằng cách lấy dấu vân tay dữ liệu liên quan và giám sát các điểm cuối để lấy dấu vân tay. Với số lượng lớn tài nguyên dữ liệu thay đổi liên tục tại Facebook, cách tiếp cận này không những không thể mở rộng mà còn không hiệu quả trong việc xác định dữ liệu cư trú ở đâu. Bài viết này tập trung vào một hệ thống đầu cuối được xây dựng để phát hiện các loại ngữ nghĩa nhạy cảm trên Facebook trên quy mô lớn và tự động thực thi kiểm soát truy cập và lưu trữ dữ liệu.

Cách tiếp cận được mô tả ở đây là hệ thống bảo mật đầu cuối đầu tiên của chúng tôi cố gắng giải quyết vấn đề này bằng cách kết hợp tín hiệu dữ liệu, học máy và kỹ thuật lấy dấu vân tay truyền thống để ánh xạ và phân loại tất cả dữ liệu trên Facebook. Hệ thống được mô tả được vận hành trong môi trường sản xuất, đạt điểm F2 trung bình là 0,9+ trên nhiều lớp quyền riêng tư khác nhau trong khi xử lý lượng lớn tài nguyên dữ liệu trên hàng chục kho lưu trữ. Giới thiệu bản dịch bài viết ArXiv của Facebook về phân loại dữ liệu có thể mở rộng để bảo mật và quyền riêng tư dựa trên học máy.

Giới thiệu

Ngày nay, các tổ chức thu thập và lưu trữ lượng lớn dữ liệu ở nhiều định dạng và vị trí khác nhau [1], sau đó dữ liệu được sử dụng ở nhiều nơi, đôi khi được sao chép hoặc lưu vào bộ nhớ đệm nhiều lần, dẫn đến thông tin kinh doanh có giá trị và nhạy cảm bị phân tán trên nhiều dữ liệu doanh nghiệp cửa hàng. Khi một tổ chức được yêu cầu phải đáp ứng các yêu cầu pháp lý hoặc quy định nhất định, chẳng hạn như tuân thủ các quy định trong tố tụng dân sự, thì việc thu thập dữ liệu về vị trí của dữ liệu được yêu cầu là cần thiết. Khi quy định về quyền riêng tư quy định rằng tổ chức phải che giấu tất cả Số an sinh xã hội (SSN) khi chia sẻ thông tin cá nhân với các tổ chức trái phép, bước tự nhiên đầu tiên là tìm kiếm tất cả SSN trên kho dữ liệu của tổ chức. Trong những trường hợp như vậy, việc phân loại dữ liệu trở nên quan trọng [1]. Hệ thống phân loại sẽ cho phép các tổ chức tự động thực thi các chính sách về quyền riêng tư và bảo mật, như kích hoạt chính sách kiểm soát truy cập, lưu giữ dữ liệu. Facebook đang giới thiệu một hệ thống mà chúng tôi xây dựng tại Facebook sử dụng nhiều tín hiệu dữ liệu, kiến ​​trúc hệ thống có thể mở rộng và học máy để khám phá các loại dữ liệu ngữ nghĩa nhạy cảm.

Khám phá và phân loại dữ liệu là quá trình tìm kiếm và gắn nhãn dữ liệu để có thể truy xuất thông tin liên quan một cách nhanh chóng và hiệu quả khi cần. Quy trình hiện tại có bản chất khá thủ công và bao gồm việc kiểm tra các luật hoặc quy định liên quan, xác định loại thông tin nào được coi là nhạy cảm và mức độ nhạy cảm khác nhau là gì, sau đó xây dựng các lớp và chính sách phân loại phù hợp [1]. Sau đó, tính năng ngăn ngừa mất dữ liệu (DLP) sẽ lấy dấu vân tay của dữ liệu và giám sát các điểm cuối phía sau để lấy dấu vân tay. Khi xử lý một kho chứa nhiều tài sản với hàng petabyte dữ liệu, phương pháp này đơn giản là không thể mở rộng quy mô.

Mục tiêu của chúng tôi là xây dựng một hệ thống phân loại dữ liệu có khả năng mở rộng theo cả dữ liệu người dùng mạnh mẽ và nhất thời mà không có bất kỳ hạn chế bổ sung nào về loại hoặc định dạng dữ liệu. Đây là một mục tiêu táo bạo và tất nhiên nó đi kèm với những thách thức. Một bản ghi dữ liệu nhất định có thể dài hàng nghìn ký tự.

Phân loại dữ liệu có thể mở rộng để bảo mật và quyền riêng tư
Hình 1. Luồng dự báo trực tuyến và ngoại tuyến

Do đó, chúng ta phải biểu diễn nó một cách hiệu quả bằng cách sử dụng một tập hợp các đặc điểm chung mà sau này có thể được kết hợp và dễ dàng di chuyển. Các tính năng này không chỉ cung cấp khả năng phân loại chính xác mà còn cung cấp tính linh hoạt và khả năng mở rộng để dễ dàng thêm và khám phá các loại dữ liệu mới trong tương lai. Thứ hai, bạn cần xử lý các bảng ngoại tuyến lớn. Dữ liệu lâu dài có thể được lưu trữ trong các bảng có kích thước nhiều petabyte. Điều này có thể dẫn đến tốc độ quét chậm hơn. Thứ ba, chúng ta phải tuân thủ phân loại SLA nghiêm ngặt đối với dữ liệu không ổn định. Điều này buộc hệ thống phải hoạt động hiệu quả cao, nhanh chóng và chính xác. Cuối cùng, chúng tôi phải cung cấp khả năng phân loại dữ liệu có độ trễ thấp cho dữ liệu không ổn định để thực hiện phân loại theo thời gian thực cũng như cho các trường hợp sử dụng Internet.

Bài viết này mô tả cách chúng tôi giải quyết những thách thức ở trên và trình bày một hệ thống phân loại nhanh và có thể mở rộng để phân loại các thành phần dữ liệu thuộc tất cả các loại, định dạng và nguồn dựa trên một bộ tính năng chung. Chúng tôi đã mở rộng kiến ​​trúc hệ thống và tạo mô hình máy học tùy chỉnh để nhanh chóng phân loại dữ liệu ngoại tuyến và trực tuyến. Bài báo này được tổ chức như sau: Phần 2 trình bày thiết kế tổng thể của hệ thống. Phần 3 thảo luận về các phần của hệ thống học máy. Phần 4 và 5 nêu bật các công việc liên quan và phác thảo các hướng công việc trong tương lai.

kiến trúc

Để giải quyết những thách thức về dữ liệu trực tuyến liên tục và có quy mô lớn trên Facebook, hệ thống phân loại có hai luồng riêng biệt mà chúng tôi sẽ thảo luận chi tiết.

Dữ liệu bền vững

Ban đầu, hệ thống phải tìm hiểu về nhiều tài sản thông tin của Facebook. Đối với mỗi kho lưu trữ, một số thông tin cơ bản được thu thập, chẳng hạn như trung tâm dữ liệu chứa dữ liệu đó, hệ thống chứa dữ liệu đó và các tài sản nằm trong kho dữ liệu cụ thể. Điều này tạo ra một danh mục siêu dữ liệu cho phép hệ thống truy xuất dữ liệu một cách hiệu quả mà không làm quá tải các máy khách và tài nguyên được các kỹ sư khác sử dụng.

Danh mục siêu dữ liệu này cung cấp nguồn có thẩm quyền cho tất cả nội dung được quét và cho phép bạn theo dõi trạng thái của nhiều nội dung khác nhau. Bằng cách sử dụng thông tin này, mức độ ưu tiên lập lịch được thiết lập dựa trên dữ liệu đã thu thập và thông tin nội bộ từ hệ thống, chẳng hạn như thời gian nội dung được quét thành công lần cuối và thời gian nó được tạo, cũng như các yêu cầu về bộ nhớ và CPU trước đây cho nội dung đó nếu nó đã được quét trước đó. Sau đó, đối với mỗi tài nguyên dữ liệu (khi tài nguyên có sẵn), một công việc sẽ được gọi để thực sự quét tài nguyên.

Mỗi công việc là một tệp nhị phân được biên dịch thực hiện lấy mẫu Bernoulli trên dữ liệu mới nhất có sẵn cho từng nội dung. Nội dung được chia thành các cột riêng lẻ, trong đó kết quả phân loại của từng cột được xử lý độc lập. Ngoài ra, hệ thống sẽ quét mọi dữ liệu bão hòa trong các cột. JSON, mảng, cấu trúc được mã hóa, URL, dữ liệu tuần tự cơ sở 64, v.v. đều được quét. Điều này có thể tăng đáng kể thời gian thực hiện quét vì một bảng có thể chứa hàng nghìn cột lồng nhau trong một blob json.

Đối với mỗi hàng được chọn trong nội dung dữ liệu, hệ thống phân loại sẽ trích xuất các đối tượng văn bản và float từ nội dung rồi liên kết từng đối tượng trở lại cột mà nó được lấy. Đầu ra của bước trích xuất đối tượng là bản đồ tất cả các đối tượng cho từng cột được tìm thấy trong nội dung dữ liệu.

Các dấu hiệu để làm gì?

Khái niệm về thuộc tính là chìa khóa. Thay vì các đặc điểm nổi và văn bản, chúng ta có thể chuyển các mẫu chuỗi thô được trích xuất trực tiếp từ mỗi tài nguyên dữ liệu. Ngoài ra, các mô hình học máy có thể được đào tạo trực tiếp trên từng mẫu, thay vì hàng trăm phép tính đặc trưng chỉ cố gắng ước chừng mẫu. Cái này có một vài nguyên nhân:

  1. Quyền riêng tư là trên hết: Quan trọng nhất, khái niệm về tính năng cho phép chúng ta chỉ lưu trữ trong bộ nhớ những mẫu mà chúng ta truy xuất được. Điều này đảm bảo rằng chúng tôi lưu trữ các mẫu cho một mục đích duy nhất và không bao giờ ghi lại chúng bằng nỗ lực của chính chúng tôi. Điều này đặc biệt quan trọng đối với dữ liệu không ổn định vì dịch vụ phải duy trì một số trạng thái phân loại trước khi đưa ra dự đoán.
  2. Bộ nhớ: Một số mẫu có thể dài hàng nghìn ký tự. Việc lưu trữ dữ liệu đó và truyền nó đến các bộ phận của hệ thống sẽ tiêu tốn nhiều byte bổ sung một cách không cần thiết. Hai yếu tố này có thể kết hợp theo thời gian, do có nhiều nguồn dữ liệu với hàng nghìn cột.
  3. Tập hợp tính năng: Các tính năng thể hiện rõ ràng kết quả của mỗi lần quét thông qua một bộ tính năng, cho phép hệ thống kết hợp kết quả của các lần quét trước đó của cùng một nguồn dữ liệu một cách thuận tiện. Điều này có thể hữu ích cho việc tổng hợp các kết quả quét từ một nguồn dữ liệu duy nhất qua nhiều lần chạy.

Sau đó, các tính năng này được gửi đến dịch vụ dự đoán, nơi chúng tôi sử dụng phương pháp phân loại dựa trên quy tắc và học máy để dự đoán nhãn dữ liệu của từng cột. Dịch vụ này dựa trên cả trình phân loại quy tắc và học máy, đồng thời chọn dự đoán tốt nhất được đưa ra từ mỗi đối tượng dự đoán.

Trình phân loại quy tắc là phương pháp phỏng đoán thủ công, chúng sử dụng các phép tính và hệ số để chuẩn hóa một đối tượng trong phạm vi từ 0 đến 100. Sau khi điểm ban đầu như vậy được tạo cho từng loại dữ liệu và tên cột được liên kết với dữ liệu đó, nó sẽ không được đưa vào bất kỳ "lệnh cấm nào". danh sách", Bộ phân loại quy tắc chọn điểm chuẩn hóa cao nhất trong số tất cả các loại dữ liệu.

Do sự phức tạp của việc phân loại, việc chỉ dựa vào các phương pháp chẩn đoán thủ công dẫn đến độ chính xác của việc phân loại thấp, đặc biệt đối với dữ liệu phi cấu trúc. Vì lý do này, chúng tôi đã phát triển một hệ thống máy học để xử lý việc phân loại dữ liệu phi cấu trúc như nội dung và địa chỉ của người dùng. Học máy đã giúp chúng ta có thể bắt đầu loại bỏ phương pháp phỏng đoán thủ công và áp dụng các tín hiệu dữ liệu bổ sung (ví dụ: tên cột, nguồn gốc dữ liệu), cải thiện đáng kể độ chính xác của việc phát hiện. Chúng ta sẽ đi sâu vào kiến ​​trúc máy học sau này.

Dịch vụ dự đoán lưu trữ kết quả cho từng cột cùng với siêu dữ liệu về thời gian và trạng thái quét. Bất kỳ người tiêu dùng và quy trình tiếp theo nào phụ thuộc vào dữ liệu này đều có thể đọc nó từ tập dữ liệu được xuất bản hàng ngày. Bộ này tổng hợp kết quả của tất cả các công việc quét này hoặc API danh mục dữ liệu thời gian thực. Các dự báo được công bố là nền tảng cho việc thực thi tự động các chính sách về quyền riêng tư và bảo mật.

Cuối cùng, sau khi dịch vụ dự báo ghi tất cả dữ liệu và tất cả dự báo được lưu trữ, API danh mục dữ liệu của chúng tôi có thể trả về tất cả dự báo loại dữ liệu cho tài nguyên trong thời gian thực. Hàng ngày, hệ thống xuất bản một tập dữ liệu chứa tất cả các dự báo mới nhất cho từng nội dung.

Dữ liệu dễ bay hơi

Mặc dù quy trình trên được thiết kế cho các tài sản cố định nhưng lưu lượng truy cập không liên tục cũng được coi là một phần dữ liệu của tổ chức và có thể quan trọng. Vì lý do này, hệ thống cung cấp API trực tuyến để tạo dự đoán phân loại theo thời gian thực cho mọi lưu lượng truy cập không liên tục. Hệ thống dự báo thời gian thực được sử dụng rộng rãi trong việc phân loại lưu lượng truy cập đi, lưu lượng truy cập vào các mô hình học máy và dữ liệu của nhà quảng cáo.

Ở đây API có hai đối số chính: khóa nhóm và dữ liệu thô được dự đoán. Dịch vụ thực hiện truy xuất đối tượng giống như mô tả ở trên và nhóm các đối tượng lại với nhau cho cùng một khóa. Các tính năng này cũng được hỗ trợ trong bộ nhớ đệm liên tục để khắc phục lỗi. Đối với mỗi khóa nhóm, dịch vụ đảm bảo rằng nó đã xem đủ mẫu trước khi gọi dịch vụ dự đoán, tuân theo quy trình được mô tả ở trên.

Tối ưu hóa

Để quét một số kho lưu trữ, chúng tôi sử dụng các thư viện và kỹ thuật để tối ưu hóa việc đọc từ kho lưu trữ nóng [2] và đảm bảo rằng không có sự gián đoạn nào từ những người dùng khác truy cập vào cùng một kho lưu trữ.

Đối với các bảng cực lớn (trên 50 petabyte), bất chấp mọi tối ưu hóa và hiệu quả bộ nhớ, hệ thống vẫn hoạt động để quét và tính toán mọi thứ trước khi hết bộ nhớ. Rốt cuộc, quá trình quét được tính toán hoàn toàn trong bộ nhớ và không được lưu trữ trong quá trình quét. Nếu các bảng lớn chứa hàng nghìn cột với các cụm dữ liệu phi cấu trúc thì công việc có thể thất bại do không đủ tài nguyên bộ nhớ khi thực hiện dự đoán trên toàn bộ bảng. Điều này sẽ dẫn đến độ che phủ giảm. Để giải quyết vấn đề này, chúng tôi đã tối ưu hóa hệ thống để sử dụng tốc độ quét làm đại diện cho mức độ hệ thống xử lý khối lượng công việc hiện tại tốt như thế nào. Chúng tôi sử dụng tốc độ làm cơ chế dự đoán để xem các vấn đề về bộ nhớ và tính toán dự đoán bản đồ đặc điểm. Đồng thời, chúng tôi sử dụng ít dữ liệu hơn bình thường.

Tín hiệu dữ liệu

Hệ thống phân loại chỉ hoạt động tốt khi có tín hiệu từ dữ liệu. Ở đây chúng ta sẽ xem xét tất cả các tín hiệu được hệ thống phân loại sử dụng.

  • Dựa trên nội dung: Tất nhiên, tín hiệu đầu tiên và quan trọng nhất là nội dung. Lấy mẫu Bernoulli được thực hiện trên từng nội dung dữ liệu mà chúng tôi quét và trích xuất các đặc điểm dựa trên nội dung dữ liệu. Nhiều dấu hiệu đến từ nội dung. Có thể có bất kỳ số lượng vật thể nổi nào, biểu thị các phép tính về số lần một loại mẫu cụ thể được nhìn thấy. Ví dụ: chúng tôi có thể có dấu hiệu về số lượng email được xem trong một mẫu hoặc dấu hiệu về số lượng biểu tượng cảm xúc được nhìn thấy trong một mẫu. Những tính toán tính năng này có thể được chuẩn hóa và tổng hợp qua các lần quét khác nhau.
  • Xuất xứ dữ liệu: Một tín hiệu quan trọng có thể hữu ích khi nội dung đã thay đổi so với bảng cha. Một ví dụ phổ biến là dữ liệu băm. Khi dữ liệu trong bảng con được băm, nó thường đến từ bảng cha, nơi nó vẫn rõ ràng. Dữ liệu dòng dõi giúp phân loại một số loại dữ liệu nhất định khi chúng không được đọc rõ ràng hoặc được chuyển đổi từ bảng ngược dòng.
  • Chú thích: Một tín hiệu chất lượng cao khác giúp xác định dữ liệu phi cấu trúc. Trên thực tế, chú thích và dữ liệu xuất xứ có thể phối hợp với nhau để truyền bá các thuộc tính trên các nội dung dữ liệu khác nhau. Chú thích giúp xác định nguồn dữ liệu phi cấu trúc, trong khi dữ liệu dòng có thể giúp theo dõi luồng dữ liệu đó trong toàn bộ kho lưu trữ.
  • Chèn dữ liệu là một kỹ thuật trong đó các ký tự đặc biệt, không thể đọc được được cố ý đưa vào các nguồn đã biết của các loại dữ liệu đã biết. Sau đó, bất cứ khi nào chúng tôi quét nội dung có cùng chuỗi ký tự không thể đọc được, chúng tôi có thể suy ra rằng nội dung đó đến từ loại dữ liệu đã biết đó. Đây là một tín hiệu dữ liệu định tính khác tương tự như chú thích. Ngoại trừ việc phát hiện dựa trên nội dung giúp khám phá dữ liệu đã nhập.

Đo lường số liệu

Một thành phần quan trọng là một phương pháp nghiêm ngặt để đo lường số liệu. Các số liệu chính cho quá trình lặp lại cải tiến phân loại là độ chính xác và khả năng thu hồi của từng nhãn, trong đó điểm F2 là quan trọng nhất.

Để tính toán các số liệu này, cần có một phương pháp độc lập để gắn nhãn tài sản dữ liệu, độc lập với chính hệ thống nhưng có thể được sử dụng để so sánh trực tiếp với nó. Dưới đây chúng tôi mô tả cách chúng tôi thu thập thông tin cơ bản từ Facebook và sử dụng thông tin đó để đào tạo hệ thống phân loại của mình.

Thu thập dữ liệu đáng tin cậy

Chúng tôi tích lũy dữ liệu đáng tin cậy từ mỗi nguồn được liệt kê bên dưới vào bảng riêng. Mỗi bảng chịu trách nhiệm tổng hợp các giá trị quan sát được mới nhất từ ​​nguồn cụ thể đó. Mỗi nguồn đều có các bước kiểm tra chất lượng dữ liệu để đảm bảo rằng các giá trị được quan sát cho từng nguồn có chất lượng cao và chứa nhãn loại dữ liệu mới nhất.

  • Cấu hình nền tảng ghi nhật ký: Một số trường nhất định trong bảng Hive được điền dữ liệu thuộc một loại cụ thể. Việc sử dụng và phổ biến dữ liệu này đóng vai trò là nguồn sự thật đáng tin cậy.
  • Ghi nhãn thủ công: Các nhà phát triển duy trì hệ thống cũng như các nhà gắn nhãn bên ngoài được đào tạo để gắn nhãn cột. Điều này thường hoạt động tốt với tất cả các loại dữ liệu trong kho và có thể là nguồn thông tin chính xác cho một số dữ liệu phi cấu trúc, chẳng hạn như dữ liệu tin nhắn hoặc nội dung người dùng.
  • Các cột từ bảng cha có thể được đánh dấu hoặc chú thích là chứa dữ liệu nhất định và chúng ta có thể theo dõi dữ liệu đó trong bảng con.
  • Tìm nạp các luồng thực thi: các luồng thực thi trong Facebook mang các loại dữ liệu cụ thể. Sử dụng máy quét của chúng tôi làm kiến ​​trúc dịch vụ, chúng tôi có thể lấy mẫu các luồng có loại dữ liệu đã biết và gửi chúng qua hệ thống. Hệ thống hứa sẽ không lưu trữ dữ liệu này.
  • Bảng mẫu: Các bảng tổ ong lớn, được biết là chứa toàn bộ kho dữ liệu, cũng có thể được sử dụng làm dữ liệu huấn luyện và được chuyển qua máy quét dưới dạng dịch vụ. Điều này rất tốt cho các bảng có đầy đủ các loại dữ liệu, do đó việc lấy mẫu ngẫu nhiên một cột tương đương với việc lấy mẫu toàn bộ tập hợp loại dữ liệu đó.
  • Dữ liệu tổng hợp: Chúng tôi thậm chí có thể sử dụng các thư viện tạo dữ liệu nhanh chóng. Điều này hoạt động tốt đối với các loại dữ liệu công khai, đơn giản như địa chỉ hoặc GPS.
  • Người quản lý dữ liệu: Các chương trình bảo mật thường sử dụng người quản lý dữ liệu để gán chính sách theo cách thủ công cho các phần dữ liệu. Điều này phục vụ như một nguồn sự thật có độ chính xác cao.

Chúng tôi kết hợp mọi nguồn thông tin chính xác vào một kho dữ liệu chứa tất cả dữ liệu đó. Thách thức lớn nhất với tính hợp lệ là đảm bảo nó đại diện cho kho dữ liệu. Nếu không, công cụ phân loại có thể bị quá tải. Để chống lại điều này, tất cả các nguồn trên đều được sử dụng để đảm bảo sự cân bằng khi đào tạo mô hình hoặc tính toán số liệu. Ngoài ra, người gắn nhãn sẽ lấy mẫu thống nhất các cột khác nhau trong kho lưu trữ và dán nhãn dữ liệu phù hợp để việc thu thập thông tin cơ bản vẫn không bị sai lệch.

Hội nhập liên tục

Để đảm bảo việc lặp lại và cải tiến nhanh chóng, điều quan trọng là luôn đo lường hiệu suất hệ thống theo thời gian thực. Chúng tôi có thể đo lường mọi cải tiến phân loại so với hệ thống hiện nay, vì vậy chúng tôi có thể hướng dẫn một cách chiến thuật các cải tiến trong tương lai dựa trên dữ liệu. Ở đây chúng ta xem xét cách hệ thống hoàn thành vòng phản hồi được cung cấp bởi dữ liệu hợp lệ.

Khi hệ thống lập lịch gặp một nội dung có nhãn từ một nguồn đáng tin cậy, chúng tôi sẽ lên lịch hai nhiệm vụ. Việc đầu tiên sử dụng máy quét sản xuất của chúng tôi và do đó khả năng sản xuất của chúng tôi. Tác vụ thứ hai sử dụng trình quét bản dựng mới nhất với các tính năng mới nhất. Mỗi tác vụ ghi kết quả đầu ra của nó vào bảng riêng, gắn thẻ các phiên bản cùng với kết quả phân loại.

Đây là cách chúng tôi so sánh kết quả phân loại của ứng cử viên phát hành và mô hình sản xuất trong thời gian thực.

Trong khi các tập dữ liệu so sánh các tính năng RC và PROD, nhiều biến thể của công cụ phân loại ML của dịch vụ dự đoán sẽ được ghi lại. Mô hình học máy được xây dựng gần đây nhất, mô hình hiện tại đang được sản xuất và bất kỳ mô hình thử nghiệm nào. Cách tiếp cận tương tự cho phép chúng tôi “cắt lát” các phiên bản khác nhau của mô hình (bất khả tri đối với các bộ phân loại quy tắc của chúng tôi) và so sánh các số liệu trong thời gian thực. Điều này giúp dễ dàng xác định khi nào thử nghiệm ML đã sẵn sàng đi vào sản xuất.

Mỗi đêm, các tính năng RC được tính toán cho ngày hôm đó sẽ được gửi đến quy trình đào tạo ML, nơi mô hình được đào tạo về các tính năng RC mới nhất và đánh giá hiệu suất của nó so với tập dữ liệu thực tế.

Mỗi buổi sáng, mô hình hoàn thành quá trình đào tạo và tự động được xuất bản dưới dạng mô hình thử nghiệm. Nó được tự động đưa vào danh sách thử nghiệm.

Một số kết quả

Hơn 100 loại dữ liệu khác nhau được dán nhãn với độ chính xác cao. Các loại có cấu trúc tốt như email và số điện thoại được phân loại có điểm f2 lớn hơn 0,95. Các loại dữ liệu miễn phí như nội dung và tên do người dùng tạo cũng hoạt động rất tốt, với điểm F2 lớn hơn 0,85.

Một số lượng lớn các cột dữ liệu liên tục và dễ thay đổi riêng lẻ được phân loại hàng ngày trên tất cả các kho lưu trữ. Hơn 500 terabyte được quét hàng ngày trên hơn 10 kho dữ liệu. Hầu hết các kho lưu trữ này có độ bao phủ trên 98%.

Theo thời gian, việc phân loại đã trở nên rất hiệu quả, với các công việc phân loại trong luồng ngoại tuyến liên tục mất trung bình 35 giây từ khi quét nội dung đến tính toán dự đoán cho mỗi cột.

Phân loại dữ liệu có thể mở rộng để bảo mật và quyền riêng tư
Cơm. 2. Sơ đồ mô tả luồng tích hợp liên tục để hiểu cách các đối tượng RC được tạo và gửi đến mô hình.

Phân loại dữ liệu có thể mở rộng để bảo mật và quyền riêng tư
Hình 3. Sơ đồ cấp cao của thành phần học máy.

Thành phần hệ thống máy học

Trong phần trước, chúng ta đã đi sâu vào kiến ​​trúc hệ thống tổng thể, nêu bật quy mô, tối ưu hóa cũng như các luồng dữ liệu ngoại tuyến và trực tuyến. Trong phần này, chúng ta sẽ xem xét dịch vụ dự báo và mô tả hệ thống máy học hỗ trợ dịch vụ dự báo.

Với hơn 100 loại dữ liệu và một số nội dung phi cấu trúc như dữ liệu tin nhắn và nội dung người dùng, việc sử dụng phương pháp phỏng đoán hoàn toàn thủ công sẽ mang lại độ chính xác phân loại dưới tham số, đặc biệt đối với dữ liệu phi cấu trúc. Vì lý do này, chúng tôi cũng đã phát triển một hệ thống máy học để giải quyết sự phức tạp của dữ liệu phi cấu trúc. Việc sử dụng máy học cho phép bạn bắt đầu thoát khỏi phương pháp phỏng đoán thủ công và làm việc với các tính năng cũng như tín hiệu dữ liệu bổ sung (ví dụ: tên cột, nguồn gốc dữ liệu) để cải thiện độ chính xác.

Mô hình được triển khai nghiên cứu các biểu diễn vectơ [3] trên các đối tượng dày đặc và thưa thớt một cách riêng biệt. Sau đó, chúng được kết hợp để tạo thành một vectơ, trải qua một loạt các bước chuẩn hóa hàng loạt [4] và phi tuyến tính để tạo ra kết quả cuối cùng. Kết quả cuối cùng là số dấu phẩy động nằm trong khoảng [0-1] cho mỗi nhãn, cho biết xác suất ví dụ đó thuộc loại độ nhạy đó. Việc sử dụng PyTorch cho mô hình cho phép chúng tôi tiến triển nhanh hơn, cho phép các nhà phát triển bên ngoài nhóm nhanh chóng thực hiện và thử nghiệm các thay đổi.

Khi thiết kế kiến ​​trúc, điều quan trọng là phải mô hình hóa các đối tượng thưa thớt (ví dụ như văn bản) và dày đặc (ví dụ như số) một cách riêng biệt do sự khác biệt vốn có của chúng. Đối với kiến ​​trúc cuối cùng, điều quan trọng là phải thực hiện quét tham số để tìm giá trị tối ưu cho tốc độ học, kích thước lô và các siêu tham số khác. Việc lựa chọn trình tối ưu hóa cũng là một siêu tham số quan trọng. Chúng tôi nhận thấy rằng một trình tối ưu hóa phổ biến Adamthường dẫn đến tình trạng trang bị quá mức, trong khi đó một mô hình có SGD ổn định hơn. Có những sắc thái bổ sung mà chúng tôi phải đưa trực tiếp vào mô hình. Ví dụ: các quy tắc tĩnh đảm bảo rằng mô hình đưa ra dự đoán xác định khi một đối tượng địa lý có một giá trị nhất định. Những quy tắc tĩnh này được xác định bởi khách hàng của chúng tôi. Chúng tôi nhận thấy rằng việc kết hợp chúng trực tiếp vào mô hình sẽ mang lại một kiến ​​trúc khép kín và mạnh mẽ hơn, trái ngược với việc thực hiện bước xử lý hậu kỳ để xử lý các trường hợp đặc biệt này. Cũng lưu ý rằng các quy tắc này bị vô hiệu hóa trong quá trình đào tạo để không ảnh hưởng đến quá trình đào tạo giảm độ dốc.

Vấn đề

Một trong những thách thức là thu thập dữ liệu đáng tin cậy, chất lượng cao. Mô hình cần có độ tin cậy cho từng lớp để có thể tìm hiểu mối liên hệ giữa các đối tượng và nhãn. Trong phần trước, chúng ta đã thảo luận về các phương pháp thu thập dữ liệu cho cả đo lường hệ thống và đào tạo mô hình. Phân tích cho thấy các loại dữ liệu như số thẻ tín dụng và số tài khoản ngân hàng không phổ biến lắm trong kho của chúng tôi. Điều này gây khó khăn cho việc thu thập lượng lớn dữ liệu đáng tin cậy để đào tạo mô hình. Để giải quyết vấn đề này, chúng tôi đã phát triển các quy trình để thu thập dữ liệu thực tế tổng hợp cho các lớp này. Chúng tôi tạo dữ liệu đó cho các loại nhạy cảm bao gồm SSN, số thẻ tín dụng и IBAN-những con số mà trước đó mô hình không thể dự đoán được. Cách tiếp cận này cho phép xử lý các loại dữ liệu nhạy cảm mà không gặp rủi ro về quyền riêng tư liên quan đến việc ẩn dữ liệu nhạy cảm thực tế.

Bên cạnh các vấn đề cơ bản, còn có các vấn đề kiến ​​trúc mở mà chúng tôi đang giải quyết, chẳng hạn như thay đổi cách ly и dừng sớm. Việc cách ly thay đổi rất quan trọng để đảm bảo rằng khi các thay đổi khác nhau được thực hiện đối với các phần khác nhau của mạng, tác động sẽ được tách biệt đối với các lớp cụ thể và không có tác động rộng rãi đến hiệu suất dự báo tổng thể. Việc cải thiện tiêu chí dừng sớm cũng rất quan trọng để chúng tôi có thể dừng quá trình đào tạo ở điểm ổn định cho tất cả các lớp, thay vì ở điểm mà một số lớp tập luyện quá sức còn những lớp khác thì không.

Tầm quan trọng của tính năng

Khi một tính năng mới được đưa vào mô hình, chúng tôi muốn biết tác động tổng thể của nó đối với mô hình. Chúng tôi cũng muốn đảm bảo rằng con người có thể hiểu được các dự đoán để chúng tôi có thể hiểu chính xác những tính năng nào đang được sử dụng cho từng loại dữ liệu. Với mục đích này, chúng tôi đã phát triển và giới thiệu theo lớp tầm quan trọng của các tính năng đối với mô hình PyTorch. Lưu ý rằng điều này khác với tầm quan trọng chung của tính năng, thường được hỗ trợ, vì nó không cho chúng ta biết tính năng nào quan trọng đối với một lớp cụ thể. Chúng tôi đo lường tầm quan trọng của một đối tượng bằng cách tính toán mức tăng sai số dự đoán sau khi sắp xếp lại đối tượng. Một tính năng là "quan trọng" khi việc hoán đổi các giá trị sẽ làm tăng sai số của mô hình vì trong trường hợp này, mô hình đã dựa vào tính năng đó để đưa ra dự đoán của nó. Một tính năng là “không quan trọng” khi việc xáo trộn các giá trị của nó khiến lỗi mô hình không thay đổi, vì trong trường hợp này mô hình đã bỏ qua nó [5].

Tầm quan trọng của tính năng đối với mỗi lớp cho phép chúng tôi làm cho mô hình có thể hiểu được để chúng tôi có thể biết mô hình đang xem xét điều gì khi dự đoán nhãn. Ví dụ, khi chúng ta phân tích ĐỊA CHỈ, thì chúng tôi đảm bảo rằng dấu hiệu được liên kết với địa chỉ, chẳng hạn như Địa chỉDòngĐếm, xếp hạng cao trong bảng tầm quan trọng của tính năng đối với từng lớp để trực giác của con người chúng ta phù hợp tốt với những gì mô hình đã học được.

Đánh giá

Điều quan trọng là xác định một thước đo duy nhất cho sự thành công. Chúng tôi chọn F2 - sự cân bằng giữa thu hồi và độ chính xác (độ lệch thu hồi lớn hơn một chút). Việc thu hồi đối với trường hợp sử dụng quyền riêng tư quan trọng hơn độ chính xác vì điều quan trọng là nhóm không bỏ sót bất kỳ dữ liệu nhạy cảm nào (đồng thời đảm bảo độ chính xác hợp lý). Đánh giá hiệu suất F2 thực tế của mô hình của chúng tôi nằm ngoài phạm vi của bài viết này. Tuy nhiên, nếu điều chỉnh cẩn thận, chúng ta có thể đạt được điểm F0,9 cao (2+) cho các lớp nhạy cảm quan trọng nhất.

Công việc có liên quan

Có nhiều thuật toán để phân loại tự động các tài liệu phi cấu trúc bằng nhiều phương pháp khác nhau như khớp mẫu, tìm kiếm độ tương tự tài liệu và các phương pháp học máy khác nhau (Bayesian, cây quyết định, k-hàng xóm gần nhất và nhiều thuật toán khác) [6]. Bất kỳ trong số này có thể được sử dụng như một phần của phân loại. Tuy nhiên, vấn đề là khả năng mở rộng. Cách tiếp cận phân loại trong bài viết này thiên về tính linh hoạt và hiệu suất. Điều này cho phép chúng tôi hỗ trợ các lớp mới trong tương lai và giữ độ trễ ở mức thấp.

Ngoài ra còn có rất nhiều công việc về lấy dấu vân tay dữ liệu. Ví dụ, các tác giả trong [7] đã mô tả một giải pháp tập trung vào vấn đề nắm bắt các rò rỉ dữ liệu nhạy cảm. Giả định cơ bản là dữ liệu có thể được lấy dấu vân tay để khớp với một tập hợp dữ liệu nhạy cảm đã biết. Các tác giả trong [8] mô tả một vấn đề tương tự về rò rỉ quyền riêng tư, nhưng giải pháp của họ dựa trên kiến ​​trúc Android cụ thể và chỉ được phân loại nếu hành động của người dùng dẫn đến việc chia sẻ thông tin cá nhân hoặc nếu ứng dụng cơ bản làm rò rỉ dữ liệu người dùng. Tình huống ở đây hơi khác một chút vì dữ liệu người dùng cũng có thể rất phi cấu trúc. Vì vậy, chúng ta cần một kỹ thuật phức tạp hơn lấy dấu vân tay.

Cuối cùng, để giải quyết tình trạng thiếu dữ liệu đối với một số loại dữ liệu nhạy cảm, chúng tôi đã giới thiệu dữ liệu tổng hợp. Ví dụ, có rất nhiều tài liệu về tăng cường dữ liệu, ví dụ, các tác giả trong [9] đã khám phá vai trò của việc đưa tiếng ồn vào trong quá trình đào tạo và quan sát thấy các kết quả tích cực trong học tập có giám sát. Cách tiếp cận của chúng tôi đối với quyền riêng tư là khác nhau vì việc giới thiệu dữ liệu gây nhiễu có thể phản tác dụng và thay vào đó, chúng tôi tập trung vào dữ liệu tổng hợp chất lượng cao.

Kết luận

Trong bài báo này, chúng tôi đã trình bày một hệ thống có thể phân loại một phần dữ liệu. Điều này cho phép chúng tôi tạo ra các hệ thống để thực thi các chính sách bảo mật và quyền riêng tư. Chúng tôi đã chứng minh rằng cơ sở hạ tầng có thể mở rộng, tích hợp liên tục, máy học và đảm bảo dữ liệu chất lượng cao đóng vai trò then chốt trong sự thành công của nhiều sáng kiến ​​về quyền riêng tư của chúng tôi.

Có nhiều định hướng cho công việc tương lai. Điều này có thể bao gồm việc cung cấp hỗ trợ cho dữ liệu (tệp) không được sơ đồ hóa, phân loại không chỉ loại dữ liệu mà còn cả mức độ nhạy cảm và sử dụng phương pháp học tự giám sát trong quá trình đào tạo bằng cách tạo ra các ví dụ tổng hợp chính xác. Điều này sẽ giúp mô hình giảm tổn thất ở mức lớn nhất. Công việc trong tương lai cũng có thể tập trung vào quy trình điều tra, trong đó chúng tôi không chỉ dừng lại ở việc phát hiện mà còn cung cấp phân tích nguyên nhân gốc rễ của nhiều hành vi vi phạm quyền riêng tư khác nhau. Điều này sẽ hữu ích trong các trường hợp như phân tích độ nhạy cảm (tức là liệu độ nhạy cảm về quyền riêng tư của loại dữ liệu có cao (ví dụ: IP người dùng) hay thấp (ví dụ: IP nội bộ của Facebook)).

Tham khảo thư loại

  1. David Ben-David, Tamar Domany và Abigail Tarem. Phân loại dữ liệu doanh nghiệp bằng công nghệ web ngữ nghĩa. Trong Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks, và Birte Glimm, các biên tập viên, Web ngữ nghĩa – ISWC 2010, trang 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 và Sanjeev Kumar. f4: Hệ thống lưu trữ BLOB ấm áp của Facebook. TRONG Hội nghị chuyên đề USENIX lần thứ 11 về Thiết kế và triển khai hệ điều hành (OSDI 14), trang 383–398, Broomfield, CO, tháng 2014 năm XNUMX. Hiệp hội USENIX.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado và Jeff Dean. Sự biểu diễn phân tán của các từ và cụm từ và thành phần của chúng. Trong C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, và K. Q. Weinberger, các biên tập viên, Những tiến bộ trong hệ thống xử lý thông tin thần kinh 26, trang 3111–3119. Hiệp hội Curran, Inc., 2013.
  4. Sergey Ioffe và Christian Szegedy. Chuẩn hóa hàng loạt: Tăng tốc đào tạo mạng sâu bằng cách giảm sự dịch chuyển hiệp phương sai nội bộ. Trong Francis Bach và David Blei, các biên tập viên, Kỷ yếu của Hội nghị quốc tế lần thứ 32 về học máy, tập 37 của Kỷ yếu nghiên cứu học máy, trang 448–456, Lille, Pháp, ngày 07–09 tháng 2015 năm XNUMX. PMLR.
  5. Leo Breiman. Rừng ngẫu nhiên máy móc. Học., 45(1):5–32, tháng 2001 năm XNUMX.
  6. Tháir Nu Phyu. Khảo sát các kỹ thuật phân loại trong khai thác dữ liệu.
  7. X. Shu, D. Yao và E. Bertino. Phát hiện bảo vệ quyền riêng tư khi tiếp xúc với dữ liệu nhạy cảm. Giao dịch IEEE về Pháp y và Bảo mật Thông tin, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning và Xiaoyang Wang. Người bổ nhiệm: Phân tích việc truyền dữ liệu nhạy cảm trong Android để phát hiện rò rỉ quyền riêng tư. trang 1043–1054, 11 năm 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Lương, và Quốc V. Lê. Tăng cường dữ liệu không được giám sát.

Phân loại dữ liệu có thể mở rộng để bảo mật và quyền riêng tư
Tìm hiểu chi tiết về cách có được một nghề được săn đón ngay từ đầu hoặc Tăng cấp về kỹ năng và mức lương bằng cách tham gia các khóa học trực tuyến SkillFactory:

Các khóa học khác

Nguồn: www.habr.com

Thêm một lời nhận xét