跳到主要内容
返回时间线
arXiv来源发表:

加密数据上跑BERT-base不再需要格式转换:MOAI把单条输入摊到2.36分钟,比THOR少52.8%

核心概要

全同态加密能让云端在密文上直接做Transformer推理,但旋转和格式转换的开销一直拖慢速度。MOAI把列打包与对角打包串成一条贯穿各层的固定流程,并用免旋转算法计算Softmax和LayerNorm,在BERT-base的全部矩阵乘法中只需9648次同态旋转。在单块A100 GPU上,它的端到端评估时间比THOR减少52.8%,摊薄到每条输入2.36分钟。

Source-provided article image: MOAI: Module-Optimizing Architecture for non-interactive secure transformer Inference
arXiv

深度剖析

MOAI让加密Transformer推理的各层之间不再需要切换数据打包格式,整条评估流程从头到尾保持列打包与对角打包的固定衔接。 此前的THOR要完成密文与密文相乘,必须在层与层之间做格式转换,还要单独执行加密矩阵转置。 在BERT-base的全部矩阵乘法中,MOAI只需9648次同态旋转,而THOR为22224次、Powerformer为16740次。

Softmax和LayerNorm这两个非线性环节被改成不需要同态旋转的算法,而模型本身不做任何改动,也不需要重新训练。 NEXUS和THOR在计算这两个函数时都要靠一组同态旋转把密文里的数据求和,而同态旋转是CKKS中最慢的操作之一。 把BERT-base的参数代入后,免旋转的Softmax与LayerNorm合计省下2448次同态旋转,而NEXUS和THOR在同一项上各需2448次。

在单块A100 GPU上,MOAI对BERT-base的端到端评估时间比THOR少52.8%,摊薄后每条输入2.36分钟。 THOR此前在128个token的BERT-base推理上报告每条输入10分钟。 两者在同一硬件、同一环维度和槽数下比较,逐层耗时表显示总时间从602.26秒降到283.95秒。

同一套打包与评估流程也能套到已经改成同态友好函数的Powerformer上,并扩展到LLaMA-3-8B这类解码器模型。 Powerformer靠把Softmax和LayerNorm换成幂函数与线性函数并重新训练来提速,这条路线不易迁移到其他Transformer结构。 按Powerformer的参数设置比较,MOAI把总评估时间从344.52秒降到152.4秒,减少55.7%。

启示与展望

演示范围是BERT-base在最多128个token输入下的端到端加密推理,摊薄时间在CPU上为574.6秒、在单块H200 GPU上为141.3秒;与THOR和Powerformer的对比在单块A100 GPU上完成。LLaMA-3-8B的结果以微基准汇总形式给出,使用8个token输入。

密文评估的误差在前6到7层增长后趋于稳定,GLUE上密文与明文输入的分数差距很小但并非为零,例如RTE为65.5对65.7。LLaMA-3-8B在8个token输入下的汇总时间为224.53秒,短输入长度下为26.94秒,这些数字来自微基准汇总而非完整端到端流程。