Máy chủ điện toán liên kết cá nhân hoá trên thiết bị

Máy chủ Điện toán liên kết (FC) là một phần của công nghệ Học liên kết do tính năng Cá nhân hoá trên thiết bị (ODP) cung cấp. Mục đích của tài liệu này là giới thiệu Máy chủ điện toán liên kết (Máy chủ FC), các thành phần của máy chủ này và công nghệ được sử dụng. Tài liệu này cung cấp thông tin tổng quan ở cấp cao về cấu trúc, sau đó đi sâu vào từng thành phần. Tài liệu này cũng thảo luận về cách các thành phần hoạt động cùng nhau để cung cấp môi trường học liên kết, đồng thời đưa ra các chiến lược để mở rộng quy mô và phân đoạn khối lượng công việc.

Quy trình huấn luyện

Quá trình huấn luyện bao gồm các luồng dữ liệu giữa Ứng dụng FC và Máy chủ FC. Ứng dụng FC là một mô-đun Android cốt lõi giúp huấn luyện các mô hình máy học trên thiết bị và tương tác với Máy chủ FC. Máy chủ FC xử lý và tổng hợp kết quả từ Ứng dụng FC một cách an toàn trong một Môi trường thực thi đáng tin cậy (TEE).

Quá trình đào tạo bao gồm các bước sau:

Biểu đồ quy trình cho thấy quy trình huấn luyện giữa máy khách và máy chủ điện toán liên kết trên Hộp cát về quyền riêng tư cho Android.
  1. Ứng dụng FC trên thiết bị sẽ tải khoá công khai mã hoá xuống từ Dịch vụ khoá.
  2. Ứng dụng FC sẽ kiểm tra với Máy chủ FC và nhận một tác vụ huấn luyện.
  3. Ứng dụng FC sẽ tải một kế hoạch huấn luyện xuống, cùng với phiên bản mới nhất của mô hình, phiên bản N.
  4. Ứng dụng FC huấn luyện bằng dữ liệu cục bộ và kế hoạch.
  5. Ứng dụng FC mã hoá các dữ liệu đóng góp của thiết bị này bằng khoá công khai thu được ở Bước 0 rồi tải dữ liệu đó lên Máy chủ FC.
  6. Ứng dụng FC thông báo cho Máy chủ FC rằng quá trình huấn luyện đã hoàn tất.
  7. Máy chủ FC đợi cho đến khi có đủ số lượng ứng dụng gửi nội dung đóng góp.
  8. Một vòng tổng hợp được kích hoạt.
  9. Các khoản đóng góp đã mã hoá được Trình tổng hợp tải vào Môi trường thực thi đáng tin cậy (TEE).
  10. Trình tổng hợp tự chứng thực theo Cấu trúc quy trình Chứng thực từ xa (RATS) RFC 9334 của NIST cho các điều phối viên. Sau khi chứng thực thành công, Dịch vụ khoá sẽ cấp cho ứng dụng này khoá giải mã. Các khoá này có thể được chia cho nhiều nhà cung cấp khoá theo lược đồ chia sẻ bí mật Shamir.
  11. Trình tổng hợp thực hiện tổng hợp, cắt và làm nhiễu trên nhiều thiết bị theo các cơ chế Sự riêng tư biệt lập (DP) thích hợp, đồng thời xuất ra kết quả đã làm nhiễu.
  12. Trình tổng hợp kích hoạt Trình cập nhật mô hình.
  13. Trình cập nhật mô hình sẽ tải dữ liệu đóng góp tổng hợp và áp dụng dữ liệu đó cho phiên bản mô hình N để tạo phiên bản mô hình N + 1. Mô hình mới được đẩy vào bộ nhớ mô hình.

Bạn có thể triển khai Máy chủ FC trên bất kỳ dịch vụ đám mây nào hỗ trợ TEE và các tính năng bảo mật có liên quan. Chúng tôi đang đánh giá các nhà cung cấp dịch vụ đám mây công cộng và các công nghệ cơ bản, nhưng hiện tại, phần sau đây sẽ trình bày một ví dụ về cách triển khai Google Cloud bằng Không gian bảo mật.

Cấu trúc cấp cao

Máy chủ FC có các thành phần sau được triển khai trong Google Cloud:

Sơ đồ thể hiện cấu trúc của máy chủ điện toán liên kết của Hộp cát về quyền riêng tư cho Android.
Thành phần Nội dung mô tả
Dịch vụ quản lý tác vụ Dịch vụ web để quản lý tác vụ huấn luyện. Đối tác nên sử dụng API Quản lý tác vụ để tạo một tác vụ đào tạo, liệt kê tất cả tác vụ đào tạo hiện có, huỷ một tác vụ và truy xuất tất cả trạng thái đào tạo.
Dịch vụ chỉ định việc cần làm Một dịch vụ web dựa trên HTTPS, trong đó các thiết bị khách định kỳ kiểm tra để nhận các nhiệm vụ huấn luyện và báo cáo trạng thái huấn luyện.
Trang web tổng hợp Một dịch vụ chạy ở chế độ nền trong Không gian bảo mật. Công cụ này chạy các khối lượng công việc do ODP tạo. Mã này phải chứng thực cho các điều phối viên, những người kiểm soát quyền truy cập vào khoá giải mã. Chỉ những đơn vị tập hợp được chứng thực thành công mới có thể giải mã các nội dung đóng góp do thiết bị khách gửi và thực hiện hoạt động tổng hợp trên nhiều thiết bị.
Trình cập nhật mô hình Một dịch vụ nền chạy trong Không gian bảo mật áp dụng các độ dốc tổng hợp cho mô hình.

Chi tiết về thành phần

Các phần sau đây sẽ mở rộng cấu trúc cấp cao thành thông tin chi tiết hơn:

Sơ đồ cho thấy các thành phần của máy chủ điện toán liên kết của Hộp cát về quyền riêng tư cho Android.

Dịch vụ quản lý tác vụ

Sơ đồ thể hiện cấu trúc liên kết của dịch vụ quản lý tác vụ trong Hộp cát về quyền riêng tư cho Android.

Dịch vụ quản lý tác vụ chứa hai thành phần phụ: Dịch vụ web quản lý tác vụ và Dịch vụ lên lịch tác vụ, cả hai đều được triển khai trên GKE.

Quản lý công việc

Đây là một tập hợp các dịch vụ web giao diện người dùng nhận yêu cầu HTTPS và tạo hoặc nhận việc cần làm từ Cơ sở dữ liệu việc cần làm.

Trình lập lịch biểu tác vụ

Một dịch vụ nền liên tục quét Cơ sở dữ liệu tác vụ. Lớp này quản lý quy trình huấn luyện, chẳng hạn như tạo các vòng huấn luyện và vòng lặp mới.

Cơ sở dữ liệu tác vụ

Cơ sở dữ liệu tuân thủ ANSI SQL lưu trữ thông tin về Tác vụ, Lặp lại và Bài tập. Trong quá trình triển khai này, Google Cloud Spanner được dùng làm dịch vụ cơ sở dữ liệu cơ bản.

Dịch vụ chỉ định việc cần làm

Sơ đồ cho thấy cấu trúc liên kết của dịch vụ chỉ định tác vụ của Hộp cát về quyền riêng tư cho Android.

Dịch vụ giao việc là một dịch vụ web giao diện người dùng được lưu trữ trên GKE. Ứng dụng này nhận các yêu cầu từ Ứng dụng FC và phân phối các tác vụ huấn luyện khi có thể.

Cơ sở dữ liệu tác vụ ở đây là cùng một phiên bản cơ sở dữ liệu với Cơ sở dữ liệu tác vụ trong Dịch vụ quản lý tác vụ.

Dịch vụ tổng hợp

Sơ đồ thể hiện cấu trúc liên kết của dịch vụ tổng hợp Hộp cát về quyền riêng tư cho Android.
Trình tổng hợp và trình cập nhật mô hình

Trình tổng hợp và Trình cập nhật mô hình tương tự nhau. Đây là các dịch vụ nền xử lý dữ liệu một cách an toàn trong Không gian bảo mật. Việc giao tiếp giữa các công việc ngoại tuyến được thực hiện thông qua PubSub.

Độ dốc, độ dốc tổng hợp, mô hình và kế hoạch
  • Bộ nhớ chuyển màu cho các hiệu ứng chuyển màu (đã mã hoá) được tải lên thiết bị khách.
  • Bộ nhớ chuyển màu tổng hợp cho các hiệu ứng chuyển màu tổng hợp, bị cắt và bị nhiễu.
  • Bộ nhớ mô hình và kế hoạch cho các kế hoạch huấn luyện, mô hình và trọng số.
Bộ thu thập

Trình thu thập là một dịch vụ nền định kỳ tính số lượt gửi của thiết bị khách trong một vòng huấn luyện. Phương thức này sẽ thông báo cho Trình tổng hợp để bắt đầu tổng hợp sau khi có đủ dữ liệu gửi.

Máy chủ dịch vụ

Tất cả các dịch vụ không có quyền truy cập vào thông tin nhạy cảm đều được lưu trữ trên GKE.

Tất cả dịch vụ có thể liên quan đến thông tin nhạy cảm đều được lưu trữ trong Không gian bảo mật.

Tất cả dữ liệu nhạy cảm đều được mã hoá bằng khoá mã hoá do nhiều bên sở hữu Dịch vụ khoá quản lý. Chỉ mã nguồn mở do ODP viết và được chứng thực thành công, chạy trong các phiên bản Không gian bảo mật hợp pháp, hỗ trợ tính năng điện toán bảo mật mới có thể truy cập vào khoá giải mã.

Trong một đơn vị dịch vụ, tài nguyên điện toán sẽ có dạng như sau:

Sơ đồ thể hiện cấu trúc liên kết của đơn vị dịch vụ trong Hộp cát về quyền riêng tư cho Android.

Khả năng mở rộng quy mô

Cơ sở hạ tầng được mô tả trước đó tập trung vào một đơn vị dịch vụ.

Một đơn vị dịch vụ sử dụng một Cloud Spanner. Xem phần Hạn mức và giới hạn của Spanner để biết các giới hạn đáng chú ý.

Bạn có thể mở rộng quy mô từng thành phần của cấu trúc này một cách độc lập. Việc này được thực hiện bằng cách mở rộng quy mô trong Không gian bảo mật hoặc trong cụm GKE bằng các cơ chế mở rộng quy mô tiêu chuẩn. Bạn có thể tăng hiệu quả xử lý bằng cách thêm nhiều thực thể hơn của:

  • Dịch vụ web chỉ định việc cần làm
  • Dịch vụ web quản lý công việc
  • Thực thể trang web tổng hợp
  • Thực thể Trình cập nhật mô hình

Khả năng phục hồi

Khả năng phục hồi của Máy chủ FC được xử lý bằng tính năng khôi phục sau sự cố bằng bộ nhớ sao lưu. Nếu quan tâm đến tính năng khôi phục sau thảm hoạ, bạn nên bật tính năng nhân bản dữ liệu trên nhiều khu vực. Điều này sẽ đảm bảo rằng nếu xảy ra sự cố (chẳng hạn như sự kiện thời tiết làm gián đoạn trung tâm dữ liệu), dịch vụ sẽ tiếp tục từ vòng huấn luyện gần đây nhất.

Spanner

Phương thức triển khai mặc định của Máy chủ FC sử dụng Google Cloud Spanner làm cơ sở dữ liệu để lưu trữ trạng thái tác vụ dùng để kiểm soát quy trình huấn luyện. Bạn nên đánh giá sự đánh đổi giữa tính nhất quán và tình trạng còn hàng theo nhu cầu kinh doanh của mình trước khi chọn cấu hình nhiều khu vực.

Không có dữ liệu người dùng hoặc dữ liệu phái sinh của dữ liệu người dùng, dù ở dạng thô hay đã mã hoá, được lưu trữ trong bất kỳ thực thể Spanner nào. Bạn có thể sử dụng bất kỳ tính năng khôi phục sau sự cố nào mà Spanner cung cấp.

Spanner ghi lại nhật ký thay đổi. Trình tổng hợp và Trình cập nhật mô hình lưu trữ dữ liệu theo vòng huấn luyện và kết quả của mỗi vòng được lưu trữ riêng biệt mà không ghi đè lẫn nhau. Do đó, dịch vụ có thể tiếp tục từ vòng huấn luyện gần đây nhất trong trường hợp xảy ra sự cố.

Google Cloud Storage

Phương thức triển khai mặc định của Máy chủ FC sử dụng Google Cloud Storage để lưu trữ dữ liệu blob, chẳng hạn như mô hình, kế hoạch huấn luyện và dữ liệu đóng góp đã mã hoá của thiết bị.

Có 3 phiên bản GCS trong thiết kế:

  • Nội dung đóng góp từ thiết bị: nội dung đóng góp từ thiết bị được mã hoá và tải lên từ thiết bị.
  • Mô hình: kế hoạch huấn luyện, mô hình và trọng số của mô hình.
  • Độ dốc tổng hợp: Độ dốc tổng hợp do trình tổng hợp tạo ra.

Dữ liệu được lưu trữ trong GCS là:

  • Dữ liệu do nhà phát triển cung cấp, chẳng hạn như kế hoạch đào tạo HOẶC
  • Dữ liệu có thể là dữ liệu riêng tư vì dữ liệu này bắt nguồn từ các tín hiệu của người dùng (được bảo vệ bằng phương thức mã hoá do nhiều điều phối viên hỗ trợ), chẳng hạn như độ dốc được tải lên thiết bị và độ dốc tổng hợp HOẶC
  • Dữ liệu không riêng tư bắt nguồn từ các tín hiệu của người dùng nhưng được áp dụng sau khi áp dụng tính năng Sự riêng tư biệt lập, chẳng hạn như trọng số của mô hình.

Bạn nên đánh giá sự đánh đổi giữa tính nhất quán và khả năng sử dụng, đồng thời chọn các tính năng phù hợp về khả năng sử dụng và độ bền của dữ liệu GCS. Bạn nên chỉ định chính sách giữ lại dữ liệu của riêng mình.

Sao lưu và sao chép

Ngoài các cơ chế sao chép dữ liệu do Google Cloud cung cấp, bạn cũng có thể chọn sao lưu định kỳ dữ liệu trong Spanner và GCS. Ví dụ: bạn có thể sử dụng các dịch vụ và sản phẩm sao chép trên nhiều đám mây. ODP không cung cấp mẫu vì các cấu hình này phụ thuộc nhiều vào nhu cầu kinh doanh. Thiết kế hiện tại xem xét các nhu cầu tiềm ẩn của nhà phát triển đối với các bản sao và bản sao lưu đó. Do đó, công cụ này tương thích với các sản phẩm và dịch vụ sao lưu, sao chép do bên thứ ba cung cấp.