CHƯƠNG 3: QUY TRÌNH VẬN HÀNH VÀ PHÂN BỔ TÀI NGUYÊN
3.2. Quy trình đào tạo dữ liệu trong Học liên kết
Trong bài này, chúng ta có thể chia quy trình đào tạo dữ liệu trong mô hình Học liên kết làm 5 bước. Cụ thể như sau:
• Khởi tạo tác vụ
• Đào tạo dữ liệu cục bộ
• Lượng tử hóa tham số cục bộ
• Cập nhật tổng hợp mô hình tham số toàn cầu
• Lặp lại quá trình
Tuy nhiên, Lượng tử hóa là một quá trình tương đối phức tạp, do đó sẽ được
mô tả chi tiết hơn trong phần tiếp theo, trong phần này, chúng ta đi qua 4 bước cơ bản của mô hình Học liên kết.
Copies for internal use only in Phenikaa University
Hình 3.2: Quy tình đào tạo dữ liệu trên Local Devices và cập nhập về Server
Sơ đồ trên đây mô tả sơ lược về quy trình hoạt động của một mô hình FL. Để trực quan hơn, ta có chia quy trình hoạt động thành các bước chi tiết dưới đây. Copies for internal use only in Phenikaa University
3.2.1.Khởi tạo tác vụ:
Khởi tạo tác vụ hay “Global Model Creating” là bước đầu tiên cho mô hình Học liên kết. Các giá trị tham số của mô hình học máy toàn cầu (Global Model) được khởi tạo trên máy chủ trung tâm (Server), làm điểm bắt đầu cho quá trình đào tạo.
Thông thường, mô hình Global ban đầu được khởi tạo là một mô hình trống, các giá trị tham số của mô hình sẽ được cập nhật sau khi trải qua một số lượng vòng lặp nhất định. Tuy nhiên, Server có thể khởi tạo các giá trị cụ thể cho các tham số của
mô hình, số vòng lặp toàn cầu sẽ tiếp tục tăng cho đến khi nào các tham số của mô hình đạt tới hoặc tiệm cận với các tham số khởi tạo. Sau đó, máy chủ phát yêu cầu tới các máy cục bộ, bắt đầu quá trình đào tạo mô hình.
Gọi mô hình toàn cầu là 𝑤(𝑡), trong đó 𝑡𝜖{0,1, … 𝑇} ứng với thứ tự của vòng lặp toàn cầu của mô hình.
3.2.2. Đào tạo các mô hình cục bộ:
Đào tạo dữ liệu cục bộ hay “Local Data Training” là quá trình các thiết bị địa phương đào tạo dữ liệu cục bộ của mình thành các mô hình tham số cục bộ (Local Model), sau đó truyền tải về cho Server để tổng hợp thành các mô hình toàn cầu.
Copies for internal use only in Phenikaa University
Hình 3.3: Quá trình Download và Upload mô hình của mỗi User
Tại mỗi vòng lặp toàn cầu 𝑡, các User sẽ tải xuống mô hình tham số toàn cầu của vòng lặp trước đó 𝑤(𝑡 − 1) từ Server để phục vụ cho quá trình đào tạo cục bộ. Việc tải xuống tham số toàn cầu của vòng lặp trước đó giúp cho mô hình đạt tới sự hội tụ nhanh hơn, khi này các máy cục bộ bắt đầu với một điểm khởi đầu gần với mô hình tốt nhất đã được tìm thấy cho đến nay. Qua đó giúp thời gian hội tụ tới mô hình toàn cầu tối ưu được nhanh chóng hơn.
Giả sử chúng ta có một hệ thống N máy cục bộ. Với mỗi User 𝑖𝜖{0,1, … 𝑁} đi kèm với một bộ dữ liệu địa phương (Local Dataset) 𝐷𝑖𝐿 tương ứng. Trong đó 𝑥𝑖 là các vector dữ liệu đầu vào, và 𝑦𝑖 là các vector đầu ra. Sử dụng hàm mất mát (Loss Function) để đo lường hiệu suất của mô hình đào tạo, ta có hàm mất mát cục bộ của User 𝑖 được tính theo công thức:
𝐹𝑖(𝑤) = 1
𝐷𝑖𝐿 ∑ 𝜙(𝑊, 𝑥𝑖, 𝑦𝑖)
Trong đó 𝜙(𝑤, 𝑥𝑖, 𝑦𝑖) sử dụng để mô tả sai số (Error) của tham số mô hình cục bộ 𝑤𝑖
Hàm mất mát (Loss Function) là hàm số xác định mức độ sai lệch giữa kết quả
dự đoán với kết quả thực tế. Nói cách khác, đây là một phương pháp đo lường chất lượng của mô hình dự đoán trên tập dữ liệu quan sát. Nếu giá trị của hàm mất mát càng nhỏ thì độ chênh lệch giữa kết quả dự đoán so với thực tế càng thấp, nghĩa là mô hình đào tạo càng có độ chính xác cao. Ngược lại nếu giá trị hàm mất mát càng lớn thì mô hình đào tạo có độ chính xác càng thấp, đòi hỏi việc điều chỉnh mô hình hoặc tham gia nhiều thiết bị hoặc máy chủ khác để cải thiện hiệu suất.
Quá trình đào tạo mô hình cục bộ của mình bằng thuật toán “SGD cục bộ” (Local Stochastic Gradient Descent). Giả sử ta có tất cả 𝜏 bước SGD, ở bước đầu tiên của SGD, ta mặc định rằng giá trị của mô hình SGD cục bộ chính là giá trị mô hình toàn cầu được tải xuống. Giá trị của mô hình cục bộ SGD cuối cùng sẽ là giá trị mà
Copies for internal use only in Phenikaa University
User tải lên cho Server. Ở bước thứ 𝑘𝜖𝜏 bất kì của thuật toán SGD, mô hình cục bộ được cập nhật:
𝑤𝑖0(𝑡) = 𝑤(t − 1)
𝑤𝑖𝑘(𝑡) = 𝑤𝑖𝑘−1(𝑡) − 𝜂(𝑡)𝛻𝐹𝑖(𝑤𝑖𝑘−1(𝑡))
𝑤𝑖𝜏(𝑡) = 𝑤𝑖(t)
trong đó giá trị 𝜂(𝑡) > 0 là “Learning rate”. Đây là một tham số quan trọng được sử dụng trong quá trình tối ưu hóa mô hình máy học. Nó định nghĩa tốc độ cập nhật các tham số của mô hình trong thuật toán tối ưu hóa SGD. Learning rate xác định khoảng cách mà các tham số sẽ được điều chỉnh trong mỗi bước cập nhật.
Trên thực tế, việc truyền các bản cập nhật mô hình cục bộ sẽ hiệu quả hơn về
so với việc truyển chính mô hình đó lên máy chủ. Bằng cách áp dụng quy tắc này, mỗi User𝑖 gửi đến máy chủ 𝛥(𝑤𝑖(t)) với:
𝛥(𝑤𝑖(𝑡)) = 𝑤𝑖𝜏(𝑡) − 𝑤𝑖0(𝑡) = 𝑤𝑖(𝑡) − 𝑤(𝑡 − 1)
3.2.3.Cập nhật và tổng hợp mô hình tham số toàn cầu:
Tổng hợp mô hình tham số toàn cầu hay “Model Updates and Aggregation” là quá trình các máy cục bộ truyền tải tham số đào tạo của mình về máy chủ. Thay vì gửi dữ liệu thô như thông thường, mô hình Học liên kết chỉ cần các bản cập nhật mô hình (chúng có thể là Gradient hoặc tham số) được gửi từ mỗi User đến máy chủ trung tâm. Mục tiêu của quá trình huấn luyện là tìm ra tham số toàn cầu 𝑊, giúp giảm thiểu hàm mất mát trên toàn bộ tập dữ liệu, giá trị của hàm mất mát được tính theo công thức trung bình:
min 𝐹(𝑤) = ∑ 𝑝𝑖(𝐹𝑖
𝑁
𝑖=1
), 𝑤𝜖𝑅𝑚
trong đó giá trị 𝑝𝑖 =𝐷𝑖𝐿
𝐷 , với 𝐷𝑖𝐿 là kích thước dữ liệu cục bộ User 𝑖, và 𝐷 là tổng kích thước của toàn bộ tập dữ liệu.
Copies for internal use only in Phenikaa University
Mô hình tham số toàn cầu được cập nhật:
𝑤(𝑡) = 𝑤(𝑡 − 1) + ∑ 𝑝𝑖(𝛥 𝑤𝑖
𝑁
𝑖=1
(𝑡))
Sau khi đào tạo mô hình tổng hợp toàn cầu, dựa vào những điều kiện khởi tạo trước đó, máy chủ sẽ quyết định xem mô hình toàn cầu này liệu đã đủ điều kiện hay chưa. Nếu đã đủ điều kiện, quá trình đào tạo sẽ kết thúc và mô hình sẽ được lưu lại. Nếu mô hình toàn cầu chưa đúng với điều kiện khởi tạo, máy chủ gửi tín hiệu về các máy cục bộ và lặp lại quy trình đào tạo các mô hình và cập nhật tham số.
3.2.4.Lặp lại mô hình đào tạo:
Quá trình 3.2.3 và 3.2.4 sẽ được lặp đi lặp lại, cho tới khi nào mô hình tham số toàn cầu đạt đủ điều kiện quy định. Về cơ bản, ta có 2 cách đánh giá xem mô hình đã đạt yêu câu hay chưa, bao gồm:
1) Dựa vào số lượng vòng lặp 𝑡 (Iterations): Người dùng có thể khởi tạo trước
giá trị cụ thể cho số lượng vòng lặp đào tạo tối đa trước khi bắt đầu quá trình. Khi đạt đến số lượng vòng lặp đã định, máy chủ sẽ cho dừng quy trình đào tạo.
Mô hình được khởi tạo trong vòng lặp cuối cùng sẽ được lấy làm kết quả chung cuộc.
2) Dựa vào giá trị của mô hình toàn cầu: Ta có thể dựa vào các giá trị của tham
số, hiệu suất đào tạo dữ liệu tập trung, hoặc giá trị của hàm mất mát. Nếu giá trị của tham số bằng hoặc xấp xỉ với giá trị được khởi tạo ban đầu, hoặc hàm mất mát tại các vòng lặp đạt giá trị ổn định, tức là các giá trị này không thay đổi hoặc thay đổi không đáng kể, hoặc hiệu suất đạt một ngưỡng tối ưu mong muốn, người dùng có thể kết thúc vòng lặp đào tạo.
Tuy nhiên, các bước nói trên vẫn đang mang tính lý thuyết. Trên thực tế, đối với các hệ thống truyền thông kỹ thuật số, việc truyền tải mô hình từ máy cục bộ lên trung tâm không hề dễ dàng do các vấn đề về đường truyền hoặc kích thước dữ
Copies for internal use only in Phenikaa University
liệu,..Trong phần tiếp theo của bài viết, em xin trình bày cụ thể về quá trình Lượng tử hóa và tiêu thụ nhiên liệu trong quá trình tính toán mô hình Học liên kết.