PUMA Secure Inference of Llama-7B in Five minutes

  1. PUMA: SECURE INFERENCE OF LLAMA-7B IN FIVE MINUTES
    1. Abstract
    2. Introduction
    3. Related Work
    4. Background
    5. Secure Design of PUMA
      1. Overview of PUMA
      2. Protocol for Secure Embedding

PUMA: SECURE INFERENCE OF LLAMA-7B IN FIVE MINUTES

Abstract

以ChatGPT为代表,许多公司开始提供基于大型Transformer模型的服务。然而,使用这样的服务不可避免地会泄漏用户的提示信息给模型提供者。先前的研究已经通过安全多方计算(MPC)来研究了Transformer模型的安全推理,其中模型参数和客户端提示被保密。尽管如此,这些框架在模型性能、效率和部署方面仍存在一定限制。

为了解决这些限制,我们提出了PUMA框架,以实现快速且安全的Transformer模型推理。我们的框架设计了高质量近似函数来降低安全推理成本,并同时保持模型性能。此外,我们还设计了安全embedding和LayerNorm过程,在不损害Transformer架构功能的情况下忠实地实现所需功能。

与最先进的MPC框架MPCFORMER(ICLR 2023)相比,PUMA速度约快2倍,并且具有与未进行微调(之前工作无法达到)的明文模型类似的准确性。另外值得一提的是,PUMA可以在约5分钟内评估LLaMA-7B生成1个标记。

据我们所知,这是首次对一个具有如此规模参数大小的模型进行MPC评估。PUMA已在SecretFlow-SPU1的Github存储库中开源。

Introduction

预训练 Transformer 模型在许多实际任务上都表现优良,也因此受到了很大关注,并且现在已经出现了不少基于这类技术的工具,它们常以「深度学习即服务(DLaaS)」范式提供服务。但是,这些服务常会有隐私问题,比如假如用户要使用 ChatGPT, 要么就需要用户向服务提供商提供自己的私人 prompt,要么就需要服务提供商将自己专有的训练得到的权重配置交给用户。

为了解决 Transformer 模型服务的隐私问题,一种解决方案是安全多方计算(Secure Multi-Party Computation),这可以在推理过程中保证数据和模型权重的安全。但是,多方计算(MPC)中简单基础的 Transformer 推理的时间成本和通信成本都很高,难以用于实际应用。为了取得更好的效率,已经有一些研究成果提出了多种加速 Transformer 模型安全推理的方法,但这些方法仍然存在以下一个或多个缺点:

综上所述,在 MPC Transformer 推理领域,模型性能和效率难以兼得,于是就有如下问题:

能否安全又高效地评估预训练大型 transformer 模型,同时无需进一步再训练也能达到与明文模型相近的准确度。

Transformer模型在语言理解方面取得了显著的成功,在视觉理解方面也取得了成功。通常,Transformer模型采用两阶段的训练策略:i)首先在大型数据集上进行预训练,以获得一般理解能力,ii)然后在较小的下游数据集上进行微调[Sun等,2020年],以学习任务特定的特征,从而提高模型性能。这种训练策略在各种场景中被证明是有效的,并且已经成为主流范式。在这项工作中,我们假设模型提供者在在线服务中使用预训练和微调的Transformer模型。

安全多方计算(MPC)使不信任的各方能够在保持其私有输入安全的情况下共同计算一个函数,使用MPC进行安全神经网络推断因其高度的隐私保护而受到了广泛关注。这些工作在各种不同的模型和架构中运行,包括 two-party setting,three-party setting,four-party setting等。在这些工作中,以诚实多数抵抗半诚实对手的基于三方的方法具有最高的具体效率,并且引起了广泛关注。然而,这些方法大多只考虑卷积/深度神经网络的安全推断,不能直接扩展以支持快速安全的Transformer模型推断。最近,一些研究工作已经提出了基于MPC的Transformer模型安全推断解决方案。然而,这些方法在模型性能,效率和部署方面仍然存在局限性。在这些工作中,MPCFORMER是唯一一个已经开源的解决方案,它基于CrypTen,一个使用非串通第三方为客户端和服务器产生相关随机性的三方框架。在这项工作中,我们主要将我们提出的框架PUMA与MPCFORMER在相同的三方威胁模型下进行比较。

Background

2-out-of-3 Replicated Secret Sharing ->这玩意没看懂

Secure Design of PUMA

Overview of PUMA

在PUMA中,我们的目标是实现基于Transformer模型的安全计算。为了实现这一目标,系统定义了三个实体:模型所有者、客户端和计算方。模型所有者提供经过训练的Transformer模型,客户端负责向系统提供数据并接收推理结果,而计算方(即 ,即3PC中的三个计算方)执行安全计算协议。需要注意的是,模型所有者和客户端也可以成为计算方,在这里我们将它们分开描述以便更容易说明。

在安全推理过程中,有一个关键不变量被保持:计算方始终从客户端输入和层权重的2-out-of-3复制秘密分享开始,并以层输出的2-out-of-3复制秘密分享结束。由于分享不会向任何一方泄露任何信息,这确保了协议模块可以按任意深度顺序组合以获得适用于任何基于Transformer模型的安全计算方案。 PUMA 的主要关注点是在保持所需安全级别的同时减少计算方之间运行时间和通信成本。通过利用复制秘密共享和我们的三方协议(3PC),PUMA 在三方设置下实现了对基于Transformer模型进行快速且安全地推理。

Protocol for Secure Embedding

==这篇论文是真的莫名其妙,感觉就是把一些特别简单的东西写得弯来绕去让人看不懂,最大的贡献可能还是改进了transfomer里面的几个算子。==

script>