Cách chúng ta đào tạo các mô hình học máy đã phát triển rất nhiều trong những năm gần đây. Phương pháp truyền thống yêu cầu phải thu thập tất cả dữ liệu trên một máy chủ tập trung và sử dụng chúng để đào tạo mô hình. Tuy nhiên, điều này cũng làm dấy lên không ít lo ngại về quyền riêng tư dữ liệu.
Để giải quyết vấn đề kể trên, mô hình trí tuệ nhân tạo đã bắt đầu chuyển sang một phương pháp phi tập trung, và một khái niệm mới gọi là “Federated Learning” ra đời. Trong bài viết này, chúng ta sẽ khám phá federated learning từ khái niệm, phân loại, cơ chế hoạt động đến ứng dụng thực tiễn.
Federated Learning là gì?
Federated Learning thường được gọi là Học liên kết là một phương pháp phi tập trung để đào tạo các mô hình học máy. Nó không yêu cầu trao đổi dữ liệu từ các thiết bị khách hàng đến các máy chủ toàn cầu. Thay vào đó, dữ liệu nguyên gốc trên các thiết bị biên được sử dụng để đào tạo mô hình cục bộ, từ đó nâng cao quyền riêng tư dữ liệu. Cuối cùng, mô hình được hình thành bằng cách tổng hợp các bản cập nhật cục bộ.
Federated learning quan trọng bởi những lí do sau đây:
- Quyền riêng tư: Khác với các phương pháp truyền thống, trong đó dữ liệu được gửi đến máy chủ tập trung để đào tạo, federated learning cho phép đào tạo cục bộ trên thiết bị biên, ngăn chặn lỗ hổng dữ liệu tiềm năng.
- An toàn, bảo mật dữ liệu: Chỉ các bản cập nhật mô hình được mã hóa được chia sẻ với máy chủ tập trung, đảm bảo bảo mật dữ liệu. Ngoài ra, các kỹ thuật tổng hợp an toàn như Secure Aggregation Principle cho phép giải mã chỉ kết quả được tổng hợp.
- Truy cập vào dữ liệu không đồng nhất: Federated learning đảm bảo truy cập vào dữ liệu được phân tán trên nhiều thiết bị, địa điểm và tổ chức. Nó cho phép đào tạo các mô hình trên dữ liệu nhạy cảm, chẳng hạn như dữ liệu tài chính hoặc chăm sóc sức khỏe trong khi vẫn duy trì bảo mật và quyền riêng tư. Và nhờ sự đa dạng dữ liệu lớn hơn, các mô hình có thể mang tính tổng quát hơn.
Federated learning hoạt động như thế nào?
Một mô hình cơ bản được lưu trữ trên máy chủ tập trung. Các bản sao của mô hình này được chia sẻ với các thiết bị khách hàng, sau đó các thiết bị này sẽ đào tạo các mô hình dựa trên dữ liệu cục bộ mà chúng tạo ra. Theo thời gian, các mô hình trên các thiết bị riêng lẻ trở nên cá nhân hóa và cung cấp trải nghiệm người dùng tốt hơn.
Ở giai đoạn tiếp theo, các bản cập nhật (tham số mô hình) từ các mô hình được đào tạo cục bộ được chia sẻ với mô hình chính nằm ở máy chủ tập trung bằng cách sử dụng các kỹ thuật tổng hợp an toàn (secure aggregation techniques). Mô hình này kết hợp và trung bình hóa các đầu vào khác nhau để tạo ra các bài học mới. Vì dữ liệu được thu thập từ các nguồn đa dạng, nên có phạm vi lớn hơn và mô hình trở nên tổng quát hơn.
Khi mô hình trung tâm đã được đào tạo lại trên các tham số mới, nó lại được chia sẻ với các thiết bị khách hàng cho lần lặp tiếp theo. Với mỗi chu kỳ, các mô hình thu thập một lượng thông tin đa dạng và tiếp tục cải thiện mà không tạo ra các lỗ hổng về quyền riêng tư.
Cơ chế của federated learning.
Phân loại federated learning
Hãy khám phá các chiến lược và thuật toán thông dụng được sử dụng cho federated learning.
Các chiến lược của federated learning
Centralized federated learning
Centralized federated learning yêu cầu một máy chủ tập trung. Nó điều phối việc lựa chọn các thiết bị khách hàng ở đầu và thu thập các bản cập nhật mô hình trong quá trình đào tạo. Tương tác chỉ xảy ra giữa máy chủ tập trung và các thiết bị biên riêng lẻ.
Mặc dù phương pháp này trông đơn giản và tạo ra các mô hình chính xác, tuy nhiên, máy chủ tập trung tạo ra vấn đề nút cổ chai, mà sự cố mạng có thể dừng lại quá trình hoàn thành.
Centralized federated learning. Các cập nhật từ nhiều người dùng (B) được truyền đến một mô hình toàn cầu, và chu trình lặp lại
Decentralized federated learning
Decentralized federated learning không yêu cầu máy chủ tập trung để phối hợp quá trình học. Thay vào đó, các bản cập nhật mô hình được chia sẻ giữa các thiết bị biên có kết nối với nhau. Mô hình cuối cùng thu được trên một thiết bị biên bằng cách tổng hợp các cập nhật cục bộ của các thiết bị biên đã kết nối.
Phương pháp này ngăn ngừa khả năng một điểm lỗi duy nhất (single-point failure). Tuy nhiên, độ chính xác của mô hình hoàn toàn phụ thuộc vào topologia mạng của các thiết bị biên.
Decentralized federated learning
Heterogeneous federated learning
Heterogeneous federated learning liên quan đến sự tồn tại của các thiết bị người dùng cuối đa dạng như điện thoại di động, máy tính hoặc các thiết bị IoT (Internet of Things). Những thiết bị này có thể khác nhau về phần cứng, phần mềm, khả năng tính toán và loại dữ liệu.
HeteroFL được phát triển nhằm phản ứng với các chiến lược Federated Learning thông thường giả định rằng thuộc tính của các mô hình cục bộ giống với các mô hình chính. Nhưng ở thế giới thực, điều này xảy ra rất hiếm. HeteroFL có thể tạo ra một mô hình toàn cầu đơn lẻ cho bước suy luận sau khi đào tạo trên nhiều mô hình cục bộ khác nhau.
Các thuật toán federated learning
Federated stochastic gradient descent (FedSGD)
Trong SGD truyền thống, các gradient được tính trên các lô nhỏ, đó là một phần của các mẫu dữ liệu thu được từ tổng số mẫu. Trong federated learning, những lô nhỏ này có thể được xem là các thiết bị khách hàng khác nhau bao gồm dữ liệu cục bộ.
Trong FedSGD, mô hình trung tâm được phân phối cho các khách hàng và mỗi khách hàng tính toán các gradient bằng cách sử dụng dữ liệu cục bộ. Những gradient này được chuyển đến máy chủ trung tâm, nơi chúng được tổng hợp theo tỷ lệ với số lượng mẫu hiện có trên mỗi khách hàng để tính bước giảm gradient.
Federated averaging (FedAvg)
Federated averaging là một phần mở rộng của thuật toán FedSGD. Khách hàng có thể thực hiện nhiều cập nhật giảm gradient cục bộ. Thay vì chia sẻ các gradient với máy chủ trung tâm, các trọng số được điều chỉnh trên mô hình cục bộ được chia sẻ. Cuối cùng, máy chủ tổng hợp các trọng số (tham số mô hình) của các khách hàng.
Federated averaging là một tổng quát của FedSGD – nếu tất cả các khách hàng bắt đầu từ khởi tạo giống nhau, việc lấy trung bình các gradient bằng với việc lấy trung bình các trọng số. Do đó, Federated averaging để lại không gian cho việc điều chỉnh các trọng số cục bộ trước khi gửi chúng đến máy chủ trung tâm để lấy trung bình.
Federated learning with dynamic regularization (FedDyn)
Regularization trong các phương pháp học máy truyền thống nhắm đến việc thêm một penalty vào loss function để cải thiện khả năng tổng quát. Trong federated learning, phải tính toán loss toàn cầu dựa trên các loss cục bộ được tạo ra từ các thiết bị đa dạng.
Do tính đa dạng của khách hàng, việc giảm loss toàn cầu khác với việc giảm loss cục bộ. Do đó, phương pháp FedDyn nhằm tạo ra regularization cho các loss cục bộ bằng cách thích nghi với thống kê dữ liệu, chẳng hạn như lượng dữ liệu hoặc chi phí liên lạc. Sửa đổi các loss cục bộ thông qua điều chỉnh dynamic regularization cho phép các loss cục bộ hội tụ về loss toàn cầu.
Framework của federated learning
Khi nghiên cứu về thị giác máy tính tiến triển với mạng nơ-ron tích chập quy mô lớn và các mô hình biến đổi dày đặc, rõ ràng thiếu các công cụ và kỹ thuật để triển khai chúng trong khung federated learning.
Khung học FedCV được xây dựng để thu hẹp khoảng cách giữa nghiên cứu và việc triển khai thực tế của các thuật toán federated learning.
FedCV là một thư viện thống nhất cho federated learning để giải quyết các ứng dụng thị giác máy tính của phân đoạn hình ảnh, phân loại hình ảnh và phát hiện đối tượng. Nó cung cấp quyền truy cập vào các bộ dữ liệu và mô hình khác nhau thông qua các API dễ sử dụng. Khung học bao gồm ba mô-đun chính:
- Lớp Ứng dụng Thị giác Máy tính
- API cấp cao
- API cấp thấp
FedCV framework
API cấp cao bao gồm các mô hình cho các tác vụ thị giác máy tính như phân đoạn hình ảnh, phân loại hình ảnh và phát hiện đối tượng. Người dùng có thể sử dụng các trình tải dữ liệu hiện có và các lược đồ phân vùng dữ liệu. Họ cũng có thể tạo ra dữ liệu phi đồng nhất của riêng mình, có thể kiểm tra tính ổn định của các phương pháp federated learning (vì dữ liệu trong thế giới thực thường không đồng nhất).
API cấp cao cũng cung cấp các phiên bản hiện đại của các thuật toán federated learning như FedAvg, FedNAS và nhiều hơn nữa. Việc đào tạo có thể hoàn thành trong thời gian hợp lý nhờ hỗ trợ đào tạo đa GPU phân tán. Ngoài ra, các thuật toán có thể được đào tạo bằng các chiến lược tính toán phân tán mới.
Thiết kế API dành cho người dùng cho phép triển khai dễ dàng và tương tác linh hoạt giữa các khách hàng và nhân viên.
API cấp thấp bao gồm các mô-đun cơ bản về an ninh và riêng tư cho phép giao tiếp an toàn và riêng tư giữa các máy chủ có mặt ở các vị trí khác nhau.
Ứng dụng thực tế của federated learning
Federated learning đã được áp dụng rộng rãi trong nhiều trường hợp sử dụng và ngành nghề khác nhau. Hãy cùng xem qua một số ứng dụng phổ biến nhất.
- Điện thoại thông minh
Điện thoại thông minh là một trong những ứng dụng phổ biến nhất của federated learning. Dự đoán từ, nhận dạng khuôn mặt để đăng nhập hoặc nhận dạng giọng nói khi sử dụng Siri hoặc Google Assistant là tất cả các ví dụ về các giải pháp dựa trên federated learning. Nó giúp cá nhân hóa trải nghiệm người dùng trong khi đảm bảo bảo mật thông tin.
- Giao thông vận tải
Xe tự lái sử dụng thị giác máy tính và học máy để phân tích môi trường xung quanh và giải thích những gì học được trong thời gian thực. Để liên tục thích nghi với môi trường, các mô hình cần học từ các tập dữ liệu đa dạng để cải thiện độ chính xác.
Phụ thuộc vào cách tiếp cận dựa trên đám mây truyền thống sẽ làm chậm hệ thống. Sử dụng federated learning có thể làm tăng tốc độ học và làm cho các mô hình mạnh hơn.
- Sản xuất
Thường thì trong sản xuất, nhu cầu cho một sản phẩm được hiểu dựa trên doanh số. Với federated learning, hệ thống đề xuất sản phẩm có thể được cải thiện dựa trên tập dữ liệu rộng hơn thu được.
AR/VR có thể được sử dụng để phát hiện đối tượng và hỗ trợ các hoạt động từ xa và lắp ráp ảo. Federated learning có thể giúp cải thiện các hệ thống phát hiện để tạo ra các mô hình tối ưu.
Một ví dụ khác là sử dụng federated learning trong giám sát môi trường công nghiệp. Federated learning giúp dễ dàng thực hiện phân tích chuỗi thời gian của các yếu tố môi trường công nghiệp được thu thập bằng nhiều cảm biến và công ty, đồng thời bảo vệ sự riêng tư của dữ liệu.
- Chăm sóc sức khỏe
Federated learning trong chăm sóc sức khỏe
Tính nhạy cảm của dữ liệu chăm sóc sức khỏe và việc hạn chế truy cập do vấn đề riêng tư khiến việc mở rộng các hệ thống học máy trong ngành này trên toàn cầu trở nên khó khăn.
Với federated learning, những mô hình có thể được đào tạo thông qua việc truy cập an toàn vào dữ liệu từ bệnh nhân và các cơ sở y tế trong khi dữ liệu vẫn ở nơi ban đầu của nó. Nó có thể giúp các cơ sở y tế tư nhân hợp tác với nhau và cho phép các mô hình học từ nhiều tập dữ liệu một cách an toàn.
Ngoài ra, federated learning có thể cho phép các chuyên gia y tế có cái nhìn sâu sắc về bệnh nhân hoặc các bệnh từ khu vực dân cư rộng hơn ngoài các cơ sở y tế địa phương và cấp cho các bệnh viện địa phương nhỏ hơn quyền truy cập vào các công nghệ trí tuệ nhân tạo tiên tiến.