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 (FC Server), 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 đào tạo
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 học máy 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ô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:
- Ứ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á.
- Máy khách FC sẽ kiểm tra với Máy chủ FC và nhận một nhiệm vụ huấn luyện.
- Ứng dụng FC tải xuống kế hoạch đào tạo, cùng với phiên bản mới nhất của mô hình, phiên bản N.
- Khách hàng FC sẽ huấn luyện bằng cách sử dụng dữ liệu cục bộ và gói.
- Ứ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.
- Ứ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.
- Máy chủ FC đợi cho đến khi có đủ số lượng ứng dụng gửi nội dung đóng góp.
- Một vòng tổng hợp được kích hoạt.
- Các nội dung đóng góp đã mã hoá sẽ được Đơn vị tổng hợp tải vào Môi trường thực thi đáng tin cậy (TEE).
- 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 dịch vụ khoá giải mã. Các khoá này có thể được chia cho nhiều nhà cung cấp khoá trong lược đồ chia sẻ bí mật Shamir.
- Trình tổng hợp thực hiện việc 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.
- Trình tổng hợp sẽ kích hoạt Trình cập nhật mô hình.
- 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 phiên bản mô hình N để tạo phiên bản mô hình N + 1. Mô hình mới sẽ được chuyển sang bộ nhớ của 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.
Kiến trúc cấp cao
Máy chủ FC có các thành phần sau được triển khai trong Google Cloud:
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 nhiệm vụ huấn luyện, liệt kê mọi nhiệm vụ huấn luyện hiện có, huỷ một nhiệm vụ và truy xuất tất 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ị 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ụ nền đang chạy 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. Đơn kiện phải chứng thực cho đ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ỉ các Đơn vị tập hợp đã được chứng thực thành công mới có thể giải mã những nội dung đóng góp do thiết bị của khách hàng gửi và tiến hành tổng hợp trên nhiều thiết bị. |
Trình cập nhật mô hình | Dịch vụ nền chạy trong Không gian bảo mật áp dụng độ 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 cấu trúc cấp cao thành thông tin chi tiết hơn:
Dịch vụ quản lý tác vụ
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 các yêu cầu HTTPS và tạo hoặc nhận công việc từ Cơ sở dữ liệu tác vụ.
Trình lập lịch biểu tác vụ
Dịch vụ nền liên tục quét Cơ sở dữ liệu công việc. Lớp này quản lý quy trình huấn luyện, chẳng hạn như tạo vòng và lặp lại 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ề 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ụ giao việc cần làm
Dịch vụ giao nhiệm vụ là một dịch vụ web giao diện người dùng được lưu trữ trên GKE. Tiếp nhận yêu cầu của Khách hàng FC và phân phối các nhiệm vụ huấn luyện khi có thể.
Cơ sở dữ liệu công việc ở đây giống với cơ sở dữ liệu cơ sở dữ liệu công việc trong Dịch vụ quản lý công việc.
Dịch vụ tổng hợp
Trang web 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í 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ị của ứng dụng.
- Bộ nhớ chuyển màu tổng hợp dành cho các màu chuyển tiếp tổng hợp, bị cắt bớt và nhiễu.
- Một mô hình và lên kế hoạch lưu trữ cho các kế hoạch tập luyện, mô hình và trọng lượng.
Người sưu tầm
Collector là một dịch vụ nền sẽ định kỳ đếm số lượt gửi thiết bị khách trong một vòng huấn luyện. Công cụ này thông báo cho Đơn vị tập hợp để bắt đầu tổng hợp sau khi có đủ nội dung 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.
Mọi dịch vụ có thể chạm vào thông tin nhạy cảm đều được lưu trữ trong Không gian bí 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ỉ được chứng thực thành công, mã nguồn mở do ODP tạo ra, chạy trong các phiên bản được bật tính toán bảo mật hợp pháp của Không gian bảo mật mới có thể truy cập 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:
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 khả năng xử lý bằng cách thêm các phiên bản khác 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
- Phiên bản 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 cách khôi phục sau thảm hoạ bằng cách sử dụng bộ nhớ tái tạo. 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 sao chép dữ liệu giữa các khu vực. Điều này sẽ đảm bảo rằng nếu một thảm hoạ xảy ra (như sự kiện thời tiết làm gián đoạn trung tâm dữ liệu), thì dịch vụ này sẽ tiếp tục hoạt động từ vòng đào tạo cuối cùng.
Spanner
Cách 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ự cân bằng giữa tính nhất quán và khả năng sử dụng theo nhu cầu kinh doanh 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 đó, dù là thô hay đã mã hoá, được lưu trữ trong bất kỳ thực thể nào của Spanner. 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 như mô hình, kế hoạch huấn luyện và dữ liệu đóng góp được mã hoá của thiết bị.
Có ba thực thể GCS trong thiết kế:
- Đóng góp theo thiết bị: nội dung đóng góp trên thiết bị đã mã hoá được tải lên từ các 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ó khả năng là dữ liệu riêng tư vì chúng bắt nguồn từ các tín hiệu người dùng (được bảo vệ bằng phương thức mã hoá hỗ trợ nhiều điều phối viên), chẳng hạn như độ dốc do thiết bị tải lên 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 đăng ứng dụ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 về khả năng sử dụng và độ bền của dữ liệu GCS phù hợp. 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 đị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 có tính đến nhu cầu tiềm năng của nhà phát triển đối với việc sao chép và sao lưu như vậy. 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.