HETAL: Efficient Privacy-preserving Transfer Learning with Homomorphic Encryption
About
Transfer learning is a de facto standard method for efficiently training machine learning models for data-scarce problems by adding and fine-tuning new classification layers to a model pre-trained on large datasets. Although numerous previous studies proposed to use homomorphic encryption to resolve the data privacy issue in transfer learning in the machine learning as a service setting, most of them only focused on encrypted inference. In this study, we present HETAL, an efficient Homomorphic Encryption based Transfer Learning algorithm, that protects the client's privacy in training tasks by encrypting the client data using the CKKS homomorphic encryption scheme. HETAL is the first practical scheme that strictly provides encrypted training, adopting validation-based early stopping and achieving the accuracy of nonencrypted training. We propose an efficient encrypted matrix multiplication algorithm, which is 1.8 to 323 times faster than prior methods, and a highly precise softmax approximation algorithm with increased coverage. The experimental results for five well-known benchmark datasets show total training times of 567-3442 seconds, which is less than an hour.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Sparse Matrix-Vector Multiplication | ARC 130 | Memory Consumption (MB)8.06 | 4 | |
| Sparse Matrix-Vector Multiplication | M80PI n1 | Memory (MB)2.52e+3 | 4 | |
| Sparse Matrix-Vector Multiplication | SuiteSparse arc130 (test) | Time (s)8.33 | 4 | |
| Sparse Matrix-Vector Multiplication | SuiteSparse stat96 v5 (test) | Time (s)4.04e+4 | 4 | |
| Sparse Matrix-Vector Multiplication | SuiteSparse M80PI_n1 (test) | Time (s)3.66e+3 | 4 | |
| Sparse Matrix-Vector Multiplication | SuiteSparse mycielskian13 (test) | Execution Time (s)8.50e+3 | 4 | |
| Sparse Matrix-Vector Multiplication | SuiteSparse nemeth24 (test) | Execution Time (s)2.05e+4 | 4 | |
| Sparse Matrix-Vector Multiplication | SuiteSparse as-caida (test) | Execution Time (s)1.60e+5 | 4 | |
| Sparse Matrix-Vector Multiplication | stat96 v5 | Memory (MB)2.89e+4 | 4 | |
| Sparse Matrix-Vector Multiplication | mycielskian13 | Memory (MB)6.04e+3 | 4 |