[论文解读] TenSEAL: A Library for Encrypted Tensor Operations Using Homomorphic Encryption
TenSEAL 是一个开源库,提供使用 CKKS 同态加密的加密张量计算,能够在加密数据上进行 ML 推断,并可与 PyTorch/TensorFlow 易于集成。它展示了在 MNIST 上进行加密推断的 CNN,所需时间在一秒内,通信量少于 0.5 MB。
Machine learning algorithms have achieved remarkable results and are widely applied in a variety of domains. These algorithms often rely on sensitive and private data such as medical and financial records. Therefore, it is vital to draw further attention regarding privacy threats and corresponding defensive techniques applied to machine learning models. In this paper, we present TenSEAL, an open-source library for Privacy-Preserving Machine Learning using Homomorphic Encryption that can be easily integrated within popular machine learning frameworks. We benchmark our implementation using MNIST and show that an encrypted convolutional neural network can be evaluated in less than a second, using less than half a megabyte of communication.
研究动机与目标
- 在 MLaaS 情景下推动输入和输出保持加密的隐私保护机器学习。
- 提供一个灵活的库,将来自流行 ML 框架的张量映射到加密张量。
- 展示低通信开销的实际加密神经网络评估。
- 通过 CKKS 在 Microsoft SEAL 的支持下,在加密数据上实现张量运算和 CNN 基元。
提出的方法
- 构建一个将 ML 框架与同态加密桥接的开源 TenSEAL 库。
- 实现基于 CKKS,并暴露 PlainTensor 与 EncryptedTensor 的抽象。
- 实现张量运算(add、sub、mul、dot_product、matmul、polyval)以及专用内核(im2col 用于 conv2d)。
- 通过 CKKS 的批量处理,有效编码张量以最小化密文数量和计算深度。
- 通过将图像编码成单个密文并通过 im2col 和批量点积执行卷积,演示加密 CNN 推断。
实验结果
研究问题
- RQ1通过 CKKS 的加密张量运算是否能够在可接受的延迟和通信开销下实现实际的 CNN 推断?
- RQ2TenSEAL 如何对张量进行编码和运算,以在尽量保持准确度的同时最小化乘法深度和密文数量?
- RQ3在有代表性的云硬件上,经过加密的 MNIST 推断的性能特征(时间、带宽)是多少?
主要发现
- 在 MNIST 上的加密 CNN 在加密数据上的准确率为 97.4%,相比明文的 97.7%。
- 加密评估时序显示,在一个 8 核心的 AWS c4.2xlarge 实例上,完整前向传播约为 1.46 秒,在一个 16 核心的 AWS c4.4xlarge 实例上为 0.89 秒。
- 加密推断的通信量大约为输入和输出的 427 KB。
- 该库对图像采用单密文编码并使用 im2col 风格卷积,将每次卷积的旋转次数降至 log2(N)。
- TenSEAL 表明使用 CKKS 的张量运算在为 ML 任务选择合适参数时是可行的(例如 8192 模量度、200 位系数模)。
- 该方法强调并行性以及与前端的集成简便性,同时承认 CKKS 在乘法深度和非线性激活方面的局限性。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。