Plaintext-Ciphertext Matrix Multiplication and FHE Bootstrapping: Fast and Fused
TL;DR 精炼摘要
本文提出基于多密钥RLWE的明文-密文矩阵乘法优化算法,将复杂操作分解为高效的明文-明文乘法,支持预计算以极大提升性能。结合该技术与CKKS自举,开发出低开销的MaMBo自举方案,显著加速隐私保护模型推理。
摘要
Plaintext-Ciphertext Matrix Multiplication and FHE Bootstrapping: Fast and Fused Youngjin Bae 1[0000 − 0001 − 6870 − 4504] , Jung Hee Cheon 1 , 2[0000 − 0002 − 7085 − 2220] , Guillaume Hanrot 3[0000 − 0001 − 9319 − 0365] , Jai Hyun Park 2[0000 − 0002 − 5401 − 8949] , and Damien Stehl´ e 3[0000 − 0003 − 3435 − 2453] 1 CryptoLab Inc., Seoul, Republic of Korea 2 Seoul National University, Seoul, Republic of Korea 3 CryptoLab Inc., Lyon, France Abstract. Homomorphically multiplying a plaintext matrix with a ci- phertext matrix (PC-MM) is a central task for the private evaluation of transformers, commonly used for large language models. We provide sev- eral RLWE-based algorithms for PC-MM that consist of multiplications of plaintext matrices (PP-MM) and comparatively cheap pre-processing and post-processing steps: for small and large dimensions compared to the RLWE ring degree, and with and without precomputation. For the algorithms with precomputation, we show how to perform a PC-MM with a single floating-point PP-MM of the same dimensions. This is par- ticularly meaningful for practical purposes as a floating-point PP-MM can be implemented using high-performance BLAS libr
思维导图
论文精读
中文精读
1. 论文基本信息 (Bibliographic Information)
- 标题 (Title): 明文-密文矩阵乘法与全同态加密自举:快速与融合 (Plaintext-Ciphertext Matrix Multiplication and FHE Bootstrapping: Fast and Fused)
- 作者 (Authors): Youngjin Bae, Jung Hee Cheon, Guillaume Hanrot, Jai Hyun Park, and Damien Stehlé.
- 作者分别来自韩国的 CryptoLab Inc.、首尔国立大学以及法国的 CryptoLab Inc.,这些都是在密码学,特别是格密码和全同态加密领域非常知名的研究机构和团队。
- 发表期刊/会议 (Journal/Conference): IACR ePrint Archive
- 这是一个国际密码学研究学会 (IACR) 运营的预印本服务器,是密码学领域最新、最前沿研究成果的首发平台。在此发布的论文通常意味着其具有较高的时效性和关注度。
- 发表年份 (Publication Year): 2024
- 摘要 (Abstract): 对一个明文矩阵和一个密文矩阵进行同态乘法,即明文-密文矩阵乘法 (
PC-MM),是隐私保护 Transformer 模型(常用于大语言模型)评估中的核心任务。本文提供了多种基于环学习带误差问题 (RLWE) 的PC-MM算法,这些算法将复杂的PC-MM分解为明文-明文矩阵乘法 (PP-MM) 以及一些开销相对较小的预处理和后处理步骤。论文针对矩阵维度与RLWE环维度的大小关系,以及是否使用预计算,分别给出了不同的算法。特别地,对于带预计算的算法,本文展示了如何仅通过一次与原矩阵维度相同的浮点PP-MM来完成PC-MM,这在实践中极具意义,因为浮点PP-MM可以通过高性能的BLAS库高效实现。 这些算法依赖于RLWE的多密钥变体,该变体能更紧凑地表示多个密文。论文给出了在常规的共享密钥RLWE密文和多密钥密文之间相互转换的算法,并证明了这种新格式与同态加法、明文-密文乘法和密钥切换等操作兼容。利用这一点,论文加速了CKKS自举过程中的slots-to-coeffs和coeffs-to-slots步骤(当多个密文被同时自举时)。通过将批量自举与高效的PC-MM相结合,论文最终提出了MaMBo(Matrix Multiplication Bootstrapping),一种能够在有限的额外开销下执行PC-MM的自举算法。 - 原文链接 (Source Link): https://eprint.iacr.org/2024/1284.pdf (预印本)
2. 整体概括 (Executive Summary)
-
研究背景与动机 (Background & Motivation - Why):
- 核心问题: 在隐私保护机器学习,特别是大语言模型(LLM)的推理场景中,需要对加密的用户数据(矩阵形式)和公开的模型权重(矩阵形式)进行大量的矩阵乘法。这种明文-密文矩阵乘法 (
PC-MM) 在现有的全同态加密(FHE)方案中计算开销巨大,是性能瓶颈。 - 重要性与挑战: 随着 LLM 的模型维度 (
dim) 和上下文长度 (ntok) 不断增大(例如达到数千甚至上万),PC-MM的效率直接决定了隐私计算方案的实用性。现有的PC-MM算法要么因为需要在密文内部移动数据而效率低下,要么对矩阵的维度有苛刻的限制(例如要求维度大于 FHE 的环维度 ),缺乏灵活性。 - 创新切入点: 本文的核心思路是将昂贵的 FHE 运算
PC-MM巧妙地“降维”或转化为廉价的常规运算PP-MM。通过对 FHE 密文结构的深刻理解,作者将复杂的同态运算转化为对密文底层系数矩阵的明文运算,从而可以利用高度优化的线性代数库(如BLAS)进行极致加速。
- 核心问题: 在隐私保护机器学习,特别是大语言模型(LLM)的推理场景中,需要对加密的用户数据(矩阵形式)和公开的模型权重(矩阵形式)进行大量的矩阵乘法。这种明文-密文矩阵乘法 (
-
核心贡献/主要发现 (Main Contribution/Findings - What):
- 提出了一系列灵活高效的
PC-MM算法: 无论矩阵维度 是大于还是小于RLWE环维度 ,无论是否允许预计算,本文都给出了相应的PC-MM算法。这些算法的核心是将一次PC-MM归约到一到两次PP-MM。 - 引入
shared-a密文格式用于计算加速: 论文首次将一种常用于密码学安全证明的shared-a密文格式应用于实际计算。该格式允许多个密文共享相同的 部分,从而将存储和计算成本降低了近一半。论文还提供了格式转换算法,并证明了其与多种 FHE 核心操作兼容。 - 实现了批量自举 (Batch Bootstrapping) 的加速: 利用
shared-a格式的兼容性,论文展示了如何对一批密文同时进行自举操作中的S2C和C2S步骤,从而分摊计算成本,显著提升了批量处理的效率。 - 提出
MaMBo——融合矩阵乘法的自举算法: 这是本文最大的亮点。作者将PC-MM操作巧妙地“嵌入”到自举流程中,提出MaMBo算法。其效果是,在对密文进行必需的刷新(自举)的同时,“免费”或以极小的额外代价完成了一次矩阵乘法。实验表明,当处理维度大于 的矩阵时,MaMBo比标准的CKKS自举(不含矩阵乘法)还要快 40% 以上。
- 提出了一系列灵活高效的
3. 预备知识与相关工作 (Prerequisite Knowledge & Related Work)
-
基础概念 (Foundational Concepts):
- 全同态加密 (Fully Homomorphic Encryption, FHE): 一种允许在密文上直接进行计算的密码技术。对密文进行加法和乘法运算,解密后得到的结果与在明文上进行相应运算的结果相同。这使得我们可以在不获取原始数据的情况下处理敏感数据。
- 环学习带误差 (Ring Learning With Errors, RLWE): FHE 方案(如
CKKS、BGV、BFV)背后最主流的数学困难问题。一个RLWE密文通常是一个多项式对(a, b),满足 ,其中 是密钥多项式, 是消息多项式, 是模数。 和 都在一个特定的多项式环 中。 - CKKS 方案: 一种基于
RLWE的 FHE 方案,专门用于对浮点数或复数进行近似计算。它通过特定的编码方式(slot编码和coefficient编码)将向量数据映射为多项式。 - 自举 (Bootstrapping): FHE 中的一个关键操作。每次乘法都会使密文中的“噪声”增长,当噪声增长到一定程度后,密文就无法被正确解密。自举过程可以“刷新”密文,将其噪声降低到初始水平,从而允许进行更多的后续计算。这个过程非常昂贵,通常是 FHE 计算的主要开销来源。
- 明文-密文矩阵乘法 (PC-MM): 计算 ,其中 是公开的明文矩阵, 是加密的密文矩阵。
- 明文-明文矩阵乘法 (PP-MM): 常规的矩阵乘法,两个输入矩阵都是公开的。
- 槽 (Slots) 与系数 (Coefficients):
CKKS方案中两种不同的数据表示方式。slot编码通过类似离散傅里叶变换的方式将一个向量编码到多项式在特定单位根上的取值,便于进行向量的逐元素运算。coefficient编码则是直接将向量的元素作为多项式的系数。自举过程通常需要在两种编码之间进行转换 (S2C和C2S)。
-
前人工作 (Previous Works):
- [24] (Halevi et al., 2018): 提出了一种经典的密文-密文矩阵乘法算法,也可以用于
PC-MM。其主要缺点是需要在RLWE密文的slots之间移动数据,这涉及到大量的旋转 (Rotation) 操作,导致计算成本非常高。 - [26] (Lee et al., 2022, LZ算法): 提出了一种更高效的
PC-MM算法,它避免了密文内部的数据移动。其核心思想是将PC-MM归约为两次PP-MM。然而,该算法的局限性在于只适用于矩阵维度 大于等于RLWE环维度 的情况,缺乏灵活性。
- [24] (Halevi et al., 2018): 提出了一种经典的密文-密文矩阵乘法算法,也可以用于
-
差异化分析 (Differentiation):
- 灵活性: 本文的算法覆盖了 和 两种情况,解决了 [26] 的局限性。
- 效率: 通过引入
shared-a格式和预计算,本文将在线计算成本从 [26] 的两次模PP-MM进一步降低到一次模PP-MM,甚至一次浮点PP-MM。这使得PC-MM的性能可以逼近常规矩阵乘法。 - 功能融合: 本文最大的创新在于提出了
MaMBo,将PC-MM和自举这两个昂贵的操作融合在一起,实现了“一箭双雕”的效果,极大地提升了 FHE 在复杂应用中的整体性能。
4. 方法论 (Methodology - Core Technology & Implementation Details)
本论文的核心方法论是将 PC-MM 的数学结构映射到对底层明文系数矩阵的运算,并通过 shared-a 密文格式和与自举的融合来最大化效率。
-
方法原理 (Methodology Principles): 基本思想源于对
RLWE解密过程的矩阵化表示。一个RLWE密文(a, b)满足 。当我们将一个矩阵 的每一行 用一个RLWE密文 加密时,整个加密矩阵可以被表示为一个大的矩阵方程。之后,对密文矩阵 的左乘操作,就可以转化为对构成密文的系数矩阵 和 的左乘。 -
方法步骤与流程 (Steps & Procedures):
-
LZ 算法回顾 ():
- 假设矩阵 的维度为 (这里 ),其第 行 被加密为密文 。
- 解密关系为 。
- 将所有 个密文写成矩阵形式,得到:
- 符号解释:
- : 一个 矩阵,其第 行是多项式 的系数向量。
- : 一个 矩阵,其第 行是多项式 的系数向量。
- : 一个 的托普利茨矩阵 (Toeplitz Matrix),由密钥 生成,它代表了多项式乘法 这个线性操作。
- : 的明文矩阵。
- 符号解释:
- 用明文矩阵 左乘上式两边:
- 令 和 。可以发现,新矩阵 和 的每一行构成的新密文对
(a'_i, b'_i)正是 对应行的加密。 - 结论: 一次
PC-MM被转化为两次PP-MM( 和 )。
-
本文的扩展与优化:
-
大维度情况 (): 使用
shared-a密文格式。此时,一个 的矩阵 被加密。假设 。加密 的第 行需要 个密文,但这些密文可以共享同一个 部分,而使用 个不同的密钥 。 -
矩阵方程变为:
- 符号解释:
- : 维度为 ,其第 行是共享的多项式 的系数。
- : 维度为 (),是所有 的系数矩阵。
- 优势: 的列数从 降为了 ,计算 的开销显著降低。总计算量从两次 的
PP-MM降低为一次 和一次 的PP-MM。
- 符号解释:
-
小维度情况 (): 使用
MLWE密文格式。此时,一个RLWE密文可以容纳矩阵的多行。通过MLWE格式,作者构造了类似的矩阵方程,同样将PC-MM归约到PP-MM。 -
带预计算的优化: 如果明文矩阵 是提前已知的,可以进行预计算。此时,作者使用了另一种矩阵方程形式,将密钥矩阵 放在了左边。
- 符号解释:
- : 密钥矩阵,其第 行是密钥 的系数。
- : 由共享的 部分生成。
- 左乘 后变为 。
- 优势: 在线阶段,
Toep(a)和 是已知的,而 和 是未知的。然而,论文通过巧妙的转换,将计算变为对 的乘法。如果允许对密钥进行操作,可以预计算 ,从而将在线计算量减少到仅有一次PP-MM()。
- 符号解释:
-
浮点
PP-MM优化:-
在
CKKS等近似加密方案中,密文 部分的低位比特充满了噪声,没有信息价值。 -
因此,在计算 时,无需进行昂贵的模 整数乘法。可以只提取 中系数的高位有效比特,将其转换为浮点数,然后执行标准的浮点
PP-MM,最后再对结果进行舍入和模约简。 -
这使得
PC-MM的核心计算可以完全由高度优化的BLAS浮点运算库完成,性能大幅提升。
该图像是论文中关于浮点数PP-MM的示意图,展示了处理流程中的数据提取、浮点乘法和模约简步骤。绿色代表密文基础数据,粉色表示模溢出。
上图(图像1)展示了这一过程:绿色区域代表密文中包含有效数据的部分,在与明文 相乘后,结果可能会超出原有的模数范围(粉色区域),但通过浮点计算和后续处理,可以得到正确的结果。
-
-
-
MaMBo: 融合PC-MM和批量自举:- 批量自举: 利用
shared-a格式,多个密文的S2C(slot-to-coeffs) 和C2S(coeffs-to-slots) 转换可以批量处理。因为这些操作主要是线性变换(加法、与明文相乘、旋转),涉及 部分的计算可以被所有密文共享,从而分摊成本。 - 融合流程:
- 输入一批共享密钥的
RLWE密文。 - 格式转换: 将它们转换为
shared-a格式。 - 批量
S2C: 对这批shared-a密文执行S2C,将它们从slot编码转换为coefficient编码。 - 执行
PC-MM: 在coefficient编码的密文上,执行前述的高效PC-MM算法之一。这个阶段的密文模数较低,计算开销也较小。 ModRaise: 提升密文模数,为后续自举步骤做准备。- 批量
C2S: 执行C2S将密文转换回slot编码。 EvalMod: 执行自举的最后一步,移除噪声项。- 格式转换 (可选): 将
shared-a密文转换回标准的RLWE密文。
- 输入一批共享密钥的
- 核心优势:
PC-MM被巧妙地插入到自举流程的中间。自举本身就需要S2C,而本文的PC-MM算法正好在coefficient编码(S2C的输出)上操作。这使得两个昂贵的操作实现了“流水线”处理,PC-MM的额外开销被大幅降低。
- 批量自举: 利用
-
5. 实验设置 (Experimental Setup)
根据论文摘要和引言部分的描述,实验主要关注算法的性能。
- 数据集 (Datasets): 实验没有使用特定的自然语言或图像数据集,而是直接在不同维度 的矩阵上进行测试,这些维度参考了主流大语言模型(如 LLaMA-7B 的
dim=4096,GPT-3.5 的ntok高达 16384)的参数设置,以模拟真实应用场景。 - 评估指标 (Evaluation Metrics):
- 运行时间 (Runtime):
- 概念定义: 这是评估算法性能最直接的指标,衡量执行特定任务(如一次
PC-MM或一次MaMBo)所花费的墙上时间(wall-clock time),单位通常是秒(s)或毫秒(ms)。时间越短,算法效率越高。 - 数学公式: 该指标无特定数学公式,为直接物理测量值。
- 符号解释: N/A。
- 概念定义: 这是评估算法性能最直接的指标,衡量执行特定任务(如一次
- 吞吐量 (Throughput):
- 概念定义: 在批量处理场景下(如批量自举),该指标衡量单位时间内能够处理的密文数量。对于
MaMBo,它衡量的是在完成自举和PC-MM融合操作的前提下,每秒能处理多少个密文。 - 数学公式:
- 符号解释:
Number of Ciphertexts in Batch: 批处理中的密文总数。Total Runtime: 完成该批处理所花费的总时间。
- 概念定义: 在批量处理场景下(如批量自举),该指标衡量单位时间内能够处理的密文数量。对于
- 运行时间 (Runtime):
- 对比基线 (Baselines):
- 标准
CKKS自举: 与MaMBo进行比较,以展示在不执行PC-MM的情况下,MaMBo的速度优势。这可以凸显MaMBo中批量处理和算法优化的效果。 - 串行
PC-MM+ 自举: 先执行一个PC-MM算法,再对结果逐个进行标准自举。这用来与MaMBo的融合方法进行对比,证明融合的优越性。 - [26] 的算法: 作为
PC-MM部分的性能对比基线,验证本文提出的新PC-MM算法在灵活性和效率上的提升。
- 标准
6. 实验结果与分析 (Results & Analysis)
-
核心结果分析 (Core Results Analysis):
-
PC-MM算法性能: 论文提出的PC-MM算法,特别是利用shared-a格式和浮点PP-MM的版本,性能远超以往方法。由于核心计算可以由OpenBLAS等库执行,其实际运行时间与明文矩阵乘法非常接近,开销主要在于预处理和后处理。 -
MaMBo性能: 摘要中提到,当用于自举对应于维度 矩阵的密文时,MaMBo(包含了一次PC-MM)比不含PC-MM的标准CKKS自举还要快 40% 以上。这个结果极其惊人,它表明MaMBo不仅没有因为增加PC-MM功能而变慢,反而由于批量处理带来的优化而变得更快。 -
算法总结表: 论文在
Table 1中系统性地总结了其提出的各种PC-MM算法及其适用场景。以下是该表格的转录与整理:矩阵维度 d 密文格式 归约形式 参考文献 MLWE Mod-PP-MMd,d,d + Mod-PP-MMd,d,N Alg. 2 sh.-a MLWE Precomp. + Mod-PP-MMd,d,d Alg. 4 sh.-a MLWE Precomp. + FP-PP-MMd,d,d Alg. 4 + Sec. 5 RLWE 2× Mod-PP-MMd,d,d [26] sh.-a RLWE Mod-PP-MMd,d,d + Mod-PP-MMd,d,N Alg. 1 sh.-a RLWE Precomp. + Mod-PP-MMd,d,d Alg. 3 sh.-a RLWE Precomp. + FP-PP-MMd,d,d Alg. 3 + Sec. 5 - 表格解读: 该表格清晰地展示了本文的贡献。对于任意维度 ,都提供了相应的高效算法。
sh.-a(shared-a) 格式的使用,以及预计算 (Precomp.) 和浮点PP-MM(FP-PP-MM) 的引入,是实现极致性能的关键路径。
- 表格解读: 该表格清晰地展示了本文的贡献。对于任意维度 ,都提供了相应的高效算法。
-
-
消融实验/参数分析 (Ablation Studies / Parameter Analysis):
Table 1本身就是一种变体分析。它比较了不同密文格式(MLWEvssh.-a MLWE)、有无预计算、使用模PP-MM还是浮点PP-MM等情况下的算法构成,清晰地展示了每一种优化技术带来的好处(例如,预计算可以将两次PP-MM减少为一次)。- 通过比较
MaMBo和标准自举的性能,也验证了批量处理shared-a格式密文的有效性。
7. 总结与思考 (Conclusion & Personal Thoughts)
-
结论总结 (Conclusion Summary): 该论文在全同态加密的应用实践上取得了重大突破。它不仅提供了一套完整、灵活且高效的
PC-MM算法工具箱,将昂贵的同态运算转化为可由硬件加速的常规运算,更通过MaMBo算法,创造性地将PC-MM与自举过程融合,实现了“1+1<1”的惊人效果——在刷新密文的同时,以负成本(比单独自举还快)完成了一次矩阵乘法。这极大地降低了在隐私保护场景下部署大语言模型等复杂应用的门槛。 -
局限性与未来工作 (Limitations & Future Work):
- 格式转换开销: 从标准
RLWE密文转换到shared-a格式需要一个 ( 为批处理大小)的矩阵乘法操作。当批处理的密文数量 非常大时,这个转换本身可能成为新的瓶颈。 - 预计算的依赖: 性能最高的算法依赖于预计算,这意味着明文矩阵 必须提前已知。这在 LLM 推理(权重矩阵固定)等场景下是可行的,但在某些 动态变化的场景下则不适用。
- 多密钥管理:
shared-a格式和一些高级操作需要管理多个密钥,这增加了密钥管理的复杂性。
- 格式转换开销: 从标准
-
个人启发与批判 (Personal Insights & Critique):
- 范式转移的启发: 这篇论文最精彩的地方在于其思想的转变。它没有在 FHE 的框架内“硬磕”
PC-MM,而是跳出框架,通过对密文结构的矩阵化分解,将问题转化到另一个更容易解决的领域(高性能计算)。这种“降维打击”的思路对解决其他 FHE 性能瓶颈问题极具启发性。 - 理论与实践的完美结合: 论文将一个在安全证明中使用的理论工具 (
shared-a格式) 成功地应用到了计算优化上,是理论指导实践的典范。同时,通过拥抱BLAS这类成熟的工业级计算库,使得 FHE 研究成果能够真正落地并获得实实在在的性能收益。 - 对可编程自举的推动:
MaMBo可以看作是一种特殊形式的可编程自举 (Programmable Bootstrapping),即在自举过程中嵌入一个特定的函数(这里是PC-MM)。这篇论文的成功为未来研究在自举中嵌入更多、更复杂的函数提供了宝贵的经验和可能性,有望使 FHE 摆脱“只能做简单加乘”的刻板印象,向通用计算平台更近一步。
- 范式转移的启发: 这篇论文最精彩的地方在于其思想的转变。它没有在 FHE 的框架内“硬磕”
相似论文推荐
基于向量语义检索推荐的相关论文。