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 về 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 một cách chi tiết. Bài viết này cũng thảo luận về cách các thành phần phối hợp với nhau để cung cấp một 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 chia 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 FC Client và FC Server. FC Client là một mô-đun Android cốt lõi, có chức năng huấn luyện các mô hình học máy trên thiết bị và tương tác với FC Server. FC Server xử lý và tổng hợp kết quả từ FC Client một cách an toàn trong Môi trường thực thi đáng tin cậy (TEE).

Quá trình huấn luyện 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 chủ và ứng dụng đ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 Client trên thiết bị sẽ tải một khoá mã hoá công khai xuống từ Key Services.
  2. Ứng dụng FC sẽ đăng ký với Máy chủ FC và nhận một nhiệm vụ huấn luyện.
  3. Ứng dụng FC Client 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 sẽ huấn luyện bằng cách sử dụng dữ liệu và kế hoạch cục bộ.
  5. Ứng dụng FC Client 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 lên FC Server.
  6. FC Client thông báo cho FC Server rằng quá trình huấn luyện đã hoàn tất.
  7. Máy chủ FC sẽ chờ cho đến khi có đủ số lượng máy khách gửi dữ liệu đóng góp.
  8. Một vòng tổng hợp được kích hoạt.
  9. Các giá trị đóng góp được mã hoá sẽ được Trình tổng hợp tải vào Môi trường thực thi đáng tin cậy (TEE).
  10. Aggregator tự chứng thực, theo Kiến 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 khoá này các khoá giải mã. Các khoá này có thể được chia thành nhiều nhà cung cấp khoá trong một lược đồ chia sẻ bí mật Shamir.
  11. Trình tổng hợp thực hiện việc tổng hợp trên nhiều thiết bị, cắt và làm nhiễu theo cơ chế thích hợp về Sự riêng tư biệt lập (DP), đồng thời xuất 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 tải dữ liệu đóng góp tổng hợp và áp dụng dữ liệu đó cho mô hình phiên bản N để tạo mô hình phiên bản N + 1. Mô hình mới được chuyển đến bộ nhớ mô hình.

Bạn có thể triển khai Máy chủ FC trên mọi(các) dịch vụ đám mây hỗ trợ TEE và các tính năng bảo mật 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 trình bày một ví dụ về việc triển khai Google Cloud bằng Confidential Space.

Kiến trúc cấp cao

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

Sơ đồ minh hoạ 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ý công việc Một dịch vụ web để quản lý tác vụ huấn luyện. Đối tác nên sử dụng Task Management API để tạo một nhiệm vụ huấn luyện, liệt kê tất cả các nhiệm vụ huấn luyện hiện có, huỷ một nhiệm vụ và truy xuất tất cả các trạng thái huấn luyện.
Dịch vụ giao việc cần làm Một dịch vụ web dựa trên HTTPS, trong đó các thiết bị của khách hàng đị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 dưới nền trong Confidential Space. Nền tảng này chạy các tải công việc do ODP tạo. Nền tảng này phải chứng thực cho các điều phối viên, những người bảo vệ 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 dữ liệu đóng góp do thiết bị khách gửi và thực hiện quy trình 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ụ chạy trong nền trong Confidential Space, áp dụng các độ dốc tổng hợp cho mô hình.

Thông tin chi tiết về thành phần

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

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

Dịch vụ quản lý công việc

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

Dịch vụ quản lý tác vụ có 2 thành phần phụ: Dịch vụ web quản lý tác vụ và Dịch vụ lập 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 các yêu cầu HTTPS và tạo hoặc lấy các việc cần làm từ Cơ sở dữ liệu việc cần làm.

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

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

Cơ sở dữ liệu việc cần làm

Một cơ sở dữ liệu tuân thủ ANSI SQL lưu trữ thông tin về Nhiệm vụ, Lần lặp lại và Việc giao. 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ụ giao việc cần làm

Sơ đồ minh hoạ 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ụ chỉ định công việc là một dịch vụ web giao diện người dùng được lưu trữ trên GKE. Nó tiếp nhận các yêu cầu từ FC Client và phân phối các tác vụ huấn luyện khi thích hợp.

Cơ sở dữ liệu tác vụ ở đây cũng là phiên bản cơ sở dữ liệu giống như 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ơ đồ minh hoạ cấu trúc liên kết của dịch vụ tổng hợp của Hộp cát về quyền riêng tư cho Android.
Trang web tổng hợp và Trình cập nhật mô hình

Aggregator và Model Updater tương tự nhau. Đây là các dịch vụ chạy nền, xử lý dữ liệu một cách an toàn trong Không gian bảo mật. Các công việc ngoại tuyến giao tiếp với nhau thông qua PubSub.

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

Trình thu thập là một dịch vụ chạy ở chế độ nền, định kỳ đếm số lượt gửi của thiết bị khách trong một vòng huấn luyện. Thao tác này sẽ thông báo cho Aggregator để bắt đầu tổng hợp khi có đủ dữ liệu được 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ả các dịch vụ có thể tiếp xúc với 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 Dịch vụ khoá thuộc sở hữu của nhiều bên quản lý. Chỉ mã nguồn mở do ODP tạo và đã được chứng thực thành công chạy trong các phiên bản hợp pháp, có bật tính năng điện toán bảo mật của Confidential Space mới có thể truy cập vào các 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ơ đồ minh hoạ 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. Hãy xem 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ô độc lập cho từng thành phần của cấu trúc này. Việc này được thực hiện bằng cách mở rộng dung lượng trong Confidential Space hoặc trong cụm GKE bằng cách sử dụng các cơ chế mở rộng quy mô tiêu chuẩn. Trên thực tế, bạn có thể tăng công suất xử lý bằng cách thêm nhiều phiên bản hơn của:

  • Dịch vụ web giao việc
  • Dịch vụ web quản lý công việc
  • Thực thể của đơn vị tổng hợp
  • Các thực thể của 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 thảm hoạ thông qua bộ nhớ được sao chép. Nếu quan tâm đến việc phục hồi 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 thảm hoạ (chẳng hạn như sự kiện thời tiết làm gián đoạn một trung tâm dữ liệu), thì dịch vụ sẽ tiếp tục từ vòng huấn luyện cuối cùng.

Spanner

Việc triển khai mặc định của FC Server 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 sẵn có 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 người dùng (dù là dữ liệu thô hay đã mã hoá) được lưu trữ trong bất kỳ phiên bản Spanner nào. Bạn có thể sử dụng bất kỳ tính năng khôi phục sau thảm hoạ nào do Spanner cung cấp.

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

Google Cloud Storage

Việc triển khai mặc định của FC Server 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 luyện tập, 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 đơn vị tổng hợp tạo ra.

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

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

Bạn nên đánh giá sự đánh đổi giữa tính nhất quán và tính sẵn có, đồng thời chọn các tính năng phù hợp về tính sẵn có 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 chép và sao lưu

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 dữ liệu định kỳ 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 rất nhiều vào nhu cầu kinh doanh. Thiết kế hiện tại có tính đến 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 như vậy. Do đó, ổ đĩa này tương thích với các sản phẩm và dịch vụ sao lưu và sao chép do bên thứ ba cung cấp.