GB bộ nhớ, Data Scientist sẽ tiêu hao trung bình 2.71 GB bộ nhớ

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: An toàn trong trao đổi dữ liệu đối với mô hình học máy Federated Learning (Trang 77 - 82)

La python.exe 8508 Running DELL 01 3,098,728 K Lai python.exe 9276 Running DELL 02 2,997,840 K

= python.exe 9692 Running DELL 03 2,991,520 K

Hình 4.23: Dung lượng bộ nhớ tiêu hao của các thành phan trong hệ thống FL

cross-silo ứng dụng HE với mô hình DL ANN.

Thời gian xử lý trung bình của mô hình FL cross-silo ứng dung HE là 4.61 phút

cho mỗi round tổng hợp. Trong đó đáng chú ý là thời gian mã hoá mất từ 2-3 giây và mat hơn | giây cho quá trình giải mã các tham số mô hình tại Data Owner va Scientist. Việc tính toán trên dữ liệu được mã hoá thông thường sẽ mất nhiều thời gian hơn so

với tính toán trên dữ liệu thô. Tuy nhiên bởi vì việc tính trung bình không quá phức tạp

cho nên thời gian tính toán chỉ mất 2-3 giây. Ngoài ra thời gian trao đổi dữ liệu của các round tổng hợp mất trung bình khoảng 3.1 phút, thời gian tiêu hao này sẽ tăng lên sau mỗi round (mat 2.4 phút cho round đầu tiên và 3.9 phút cho round thứ 10).

In [272]: start = time.time()

enc_fc1 weight enc_fc2_weight enc_fc3_weight enc_fc4_weight

[E] for i in range(128)]

[[] for i in range(64)]

[[] for i in range(32)]

[[] for i in range(19)]

#encrypt ƒc1 Layer for i in range(len(fc1_weight)):

x = ts.ckks_vector(context, fc1_weight[i]) enc_fc1 weight[i] = x

enc_fcl_bias = ts.ckks_vector(context, fc1_bias)

#encrypt fc2 Layer for i in range(len(fc2_weight)):

x = ts.ckks_vector(context, fc2_weight[i]) enc_fc2_weight[i] = x

enc_fc2_bias = ts.ckks_vector(context, fc2_bias)

#encrypt fc3 Layer for i in range(len(fc3_weight)):

x = ts.ckks_vector(context, fc3_weight[i]) enc_fc3_weight[i] = x

enc_fc3_bias = ts.ckks_vector(context, #c3_bias)

#encrypt fc4 Layer for i in range(len(fc4_weight)):

x = ts.ckks vector(context, fc4 weight[i]) enc_fc4_weight[i] = x

enc_fc4_bias = ts.ckks_vector(context, fc4_bias) end = time.time()

In [273]: print(f"Encrypt time: {float(end - start)} seconds")

Encrypt time: 2.7546160221099854 seconds

Hình 4.24: Mã hoá các tham số mô hình va thời gian tiêu hao.

In [260]: start = time.time()

c1 weight = [[] for i in range(128)]

fc2 weight = [[] for i in range(64)]

fc3_weight = [[] for i in range(32)]

fc4_weight = [[] for i in range(19)]

for i in range(len(global_fc1_weight)):

global_fci_weight[i].link_context (context)

x = global_fc1 weight[i].decrypt(sk) fc1_weight[i] = x

global_fc1_bias.1ink_context(context) fc1_bias = global fc1 bias.decrypt(sk)

for i in range(len(global fc2 weight)):

global_fc2_weight[i].1ink_context(context)

x = global_fc2_weight[i].decrypt(sk)

#c2_weight[i] = x global_fc2_bias.1link_context (context) fc2_bias = global fc2 bias.decrypt(sk)

for i in range(len(global_fc3_weight)):

global_fc3_weight[i].link_context(context)

x = global_fc3_weight[i].decrypt(sk) fc3 weight[i] = x

global_fc3_bias.link_context(context) fc3_bias = global_fc3_bias.decrypt(sk)

for i in range(len(global_fc4_weight)):

global_fc4_weight[i].link_context (context)

x = global fc4 weight[i].decrypt(sk) fca_weight[i] = x

global_fc4_bias.link_context(context) fc4_bias = global_fc4_bias.decrypt(sk)

end = time.time() print(f"Decrypted time: {float(end - start)} seconds”) Decrypted time: @.8633644580841064 seconds

Hình 4.25: Giải mã các tham số mô hình và thời gian tiêu hao.

67

In [259]: start = time.time()

global_fcl_weight = average(enc_duet1_fcl_weight, enc_duet2_fc1_weight) global_fc1_bias = (enc_dueti_fc1_bias + enc_duet2_fcl_bias) * 9.5

global_fc2_weight = average(enc_duet1_fc2_weight, enc_duet2_fc2_weight) global_fc2_bias = (enc_duet1_fc2_bias + enc_duet2_fc2_bias) * 9.5

global_fc3_weight = average(enc_duet1_fc3_weight, enc_duet2_fc3_weight) global fc3 bias = (enc_dueti_fc3_bias + enc_duet2_fc3_bias) * 9.5

global_fc4_weight = average(enc_duet1_fc4_weight, enc_duet2_fc4_weight) global fc4 bias = (enc_dueti_fca_bias + enc duet2 fc4 bias) * 9.5

end = time.time() print(f"Average time: {float(end - start)} seconds") Average time: 2.522646188735962 seconds

Hình 4.26: Tinh trung bình các tham số mô hình đã được mã hoá và thời gian tiêu hao.

Đánh giá hiệu quả triển khai kỹ thuật HE

HE cho thấy tiềm năng ứng dụng vượt trội vào lĩnh vực học máy đặc biệt là học hợp tác FL. Khi ứng dụng vào quá trình trao đổi dữ liệu giữa các thành phần trong hệ thống, các số liệu thu thập được cho thay mô hình có độ chính xác cao (kém hơn khoảng 1-2%

so mô hình FL cross-silo ở kịch bản 1) tuy nhiên thời gian dành cho quá trình tổng hợp

lại lớn (lớn hơn đôi chút so với mô hình FL cross-silo ở kịch ban 1, trung bình 4.61

phút một round so với mô hình không ứng dụng là 4.48 phut), tuy nhiên thời gian tổng hợp lớn tập trung chủ yếu ở quá trình trao đổi dữ liệu giữa các thành phần trong hệ thống (tương đương so với mô hình FL cross-silo ở kịch bản 1). Vì vậy, thời gian này

có thể được giảm thiểu nếu áp dụng các phương pháp trao đổi dữ liệu khác phù hợp hơn. Ngoài ra, các mô hình DL phức tạp hơn cũng yêu cấu cấu hình phần cứng cao hơn

để thực hiện được quá trình tổng hợp dữ liệu.

Ung dụng HE vào mô hình FL cross-silo sẽ đảm bảo quá trình trao đổi dữ liệu giữa

các thành phần trong hệ thống được an toàn. Các tham số mô hình được mã hoá trước khi gửi đi sẽ đảm bảo các tham số này được an toàn trong suốt quá trình đi chuyển.

Tốc độ tính trung bình các tham số mô hình đã được mã hoá dao động từ 2-3 giây (tương đương với thời gian tính toán trên các tham số không mã hoá)

Ưu điểm:

¢ Độ chính xác mô hình cao.

ô Tốc độ mó hoỏ / giải mó cao.

* Tốc độ tổng hợp bản cập nhật nhanh.

ằ Thời gian huấn luyện mụ hỡnh tại Owner thấp.

Nhược điểm:

* Thời gian trao đổi dữ liệu lớn.

* Doi hỏi nhiều tương tác giữa các thành phần trong hệ thống.

* Yêu cau cấu hình phần cứng cao với các mô hình DL phức tap.

69

4.3.3. Kịch bản 3: Ứng dung DP với thư viện Opacus

Số liệu thu được khi thực nghiệm trên tập dữ liệu MNIST và EMNIST. Mô hình FL

sẽ sử dụng mô hình DL CNN. Mỗi round của mô hình sẽ bao gồm 10 epochs.

Dataset: MNIST

Accuracy

2 4 6 8 10

Round

Hình 4.27: Biểu đồ độ chính xác của mô hình FL cross-silo ứng dung DP sử dung tập

dữ liệu MNIST.

So sánh mô hình FL cross-silo ứng dụng DP với mô hình FL cross-silo ở kịch bản

Dataset: MNIST

2 4 6 8 10

Round

Hình 4.28: Biểu đồ độ chính xác của mô hình FL cross-silo và mô hình FL cross-silo

ứng dụng DP sử dụng tập dữ liệu MNIST.

Sau một round tổng hợp với mô hình DL CNN, trung bình các Data Owner sẽ tiêu

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: An toàn trong trao đổi dữ liệu đối với mô hình học máy Federated Learning (Trang 77 - 82)

Tải bản đầy đủ (PDF)

(103 trang)