> For the complete documentation index, see [llms.txt](https://elwood.gitbook.io/foundation-model-sec/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elwood.gitbook.io/foundation-model-sec/vlm-defense/mllm-protector-ensuring-mllms-safety-without-hurting-performance.md).

# MLLM-Protector: Ensuring MLLM’s Safety without Hurting Performance

<figure><img src="/files/Z7FnvSi4YrvyLgjsuKR4" alt=""><figcaption></figcaption></figure>

#### 研究背景

随着多模态大型语言模型（MLLMs）的部署，出现了一种独特的漏洞：通过视觉输入对模型进行恶意攻击的敏感性。MLLMs在与文本输入对齐时，并没有将图像视为“外语”，这可能导致模型产生有害的响应。此外，图像信号的连续性质与文本的离散标记不同，这给对齐带来了挑战。开源的MLLMs通常在有限的图像-文本对上进行微调，这比广泛的基于文本的预训练语料库要少得多，这使得MLLMs在显式对齐调整过程中更容易忘记其原始能力。

#### 过去方案和缺点

过去的方案主要集中在文本基础的LLMs上，包括输入检测、上下文学习和与对抗性示例明确对齐模型等策略。这些策略在保持强大防御机制和保持模型功能及性能之间取得了平衡。然而，当应用于涉及图像输入的MLLMs时，这些技术变得更加具有挑战性。图像的连续性质导致比离散文本标记更多的变化，这在调整过程中提出了更多的要求，以捕捉更广泛的人类偏好和解释。

<figure><img src="/files/qquoQHSpp7sjjk0YWtaF" alt=""><figcaption></figcaption></figure>

#### 本文方案和步骤

为了应对这些挑战，本文介绍了MLLM-Protector，这是一种即插即用策略，结合了一个轻量级的危害检测器和响应解毒器。危害检测器的作用是识别MLLM可能产生的有害输出，而解毒器则纠正这些输出，以确保响应符合安全标准。这种方法在不损害模型整体性能的情况下，有效减轻了恶意视觉输入带来的风险。

#### 本文创新点与贡献

1. 对MLLMs与图像输入相关的以前未探索的漏洞进行了分析。
2. 引入了MLLM-Protector，这是一个为MLLMs设计的即插即用防御机制。
3. 通过实证证据展示了该方法在不损害模型原始性能的情况下，有效减轻了对恶意图像输入的有害输出风险。

#### 本文实验

实验使用了最近提出的MM-SafetyBench，其中包含13种常见恶意意图场景的例子。输入类型包括纯文本、稳定扩散（SD）图像、OCR图像以及SD+OCR图像。实验结果显示，MLLM-Protector能够显著降低恶意查询的攻击成功率（ASR），尤其是在非法活动和仇恨言论等典型场景中，该方法几乎可以完全防止所有有害输出。

#### 实验结论

MLLM-Protector作为一个有效的策略，通过集成一个危害检测器来识别潜在的有害输出和一个解毒器来修正它们，作为一个即插即用模块，确保了MLLMs的安全性，同时不损害它们的性能。

#### 全文结论

本文提出的MLLM-Protector策略有效地减轻了多模态大型语言模型的安全风险。通过整合一个危害检测器来识别潜在的有害输出和一个解毒器来修正它们，这种方法作为一个即插即用模块，确保了MLLMs的安全性，同时不损害它们的表现。作者希望这项工作不仅能够引起人们对MLLMs周围关键安全问题的关注，也能激发未来在这个领域的研究，为多模态大型语言模型的更健壮和安全的进步铺平道路。

这篇论文详细介绍了MLLM-Protector，这是一个为多模态大型语言模型（MLLMs）设计的即插即用安全策略。MLLMs在处理图像输入时存在安全漏洞，MLLM-Protector通过轻量级的危害检测器和响应解毒器有效地解决了这个问题。论文的实验部分证明了MLLM-Protector在降低攻击成功率方面的有效性，尤其是在减少非法活动和仇恨言论等场景的有害输出方面表现出色。

MLLM-Protector的主要贡献在于它提供了一种新的视角来看待MLLMs的安全问题，并提出了一种切实可行的解决方案。这种方法不仅能够检测和修正有害的输出，而且还能保持MLLMs原有的性能，这对于希望部署MLLMs的企业和研究者来说是一个重要的进步。

此外，论文还探讨了现有防御机制的局限性，并展示了MLLM-Protector如何克服这些挑战。通过使用不同的MLLMs进行实验，作者证明了MLLM-Protector的通用性和有效性。

总的来说，这篇论文为MLLMs的安全领域提供了宝贵的见解，并为未来的研究和开发工作奠定了基础。随着人工智能技术的不断发展，确保这些系统的安全性将变得越来越重要，MLLM-Protector是朝这个方向迈出的重要一步。

注1：

MLLM-Protector中的危害检测器和响应解毒器的具体实现细节如下：

#### 危害检测器（Harm Detector）

1. **模型架构**：危害检测器使用预训练的大型语言模型（LLM）作为其主干架构。为了适应二元分类任务（识别有害内容），将模型的最后一层替换为一个线性层，输出一个一维的表示有害性得分。
2. **训练方法**：使用传统的二元交叉熵（Binary Cross Entropy, BCE）损失函数来训练危害检测器。训练数据包括问题（question）、答案（answer）以及对应的有害性标签（harmfulness label）。
3. **推理过程**：在推理阶段，MLLM生成的输出首先被传递给危害检测器。危害检测器根据训练时学到的模式，预测输出的有害性得分。

#### 响应解毒器（Response Detoxifier）

1. **模型目标**：如果危害检测器判定输出为有害，响应解毒器的任务是修正这些输出，使其无害化，同时尽量保持与原查询的相关性。
2. **训练方法**：使用自回归语言模型损失（auto-regressive language modeling loss）来训练解毒器。这使得解毒器能够根据用户查询和有害答案生成无害的答案。
3. **修正过程**：在推理阶段，如果输出被判定为有害，它将被传递给响应解毒器。解毒器将修改输出，以去除有害内容，同时生成与查询相关且无害的响应。

#### 训练和推理

* **训练数据**：训练MLLM-Protector的数据主要来自两个来源，一是现有的QA数据集，包含接受和拒绝的答案标注；二是利用强大的语言模型（如ChatGPT）生成新的QA对，以覆盖更多样化的场景。
* **推理算法**：在推理时，MLLM生成的输出首先被传递给危害检测器。如果检测到有害内容，输出将被传递给响应解毒器进行修正。修正后的输出将替代原始输出。

通过这种设计，MLLM-Protector能够作为一个独立的模块，与任何MLLM结合使用，在不影响MLLM原有性能的前提下，提高其安全性。这种方法有效地解决了MLLMs在处理图像输入时可能产生的安全问题，保护了模型免受恶意攻击的影响。

注2;

使用自回归语言模型损失来训练解毒器（Response Detoxifier）的过程涉及以下几个关键步骤：

1. **数据准备**：
   * 需要准备一个包含用户查询（`qi`）、接受答案（`ai_acc`）和拒绝答案（`ai_rej`）的数据集。
   * 接受答案（`ai_acc`）被标记为无害（`h = 1`），而拒绝答案（`ai_rej`）被标记为有害（`h = 0`）。
2. **目标函数**：
   * 目标是训练解毒器，使其能够根据用户查询（`qi`）和有害答案（`ai_rej`）生成无害答案（`a_corr`）。
3. **损失函数定义**：
   * 自回归语言模型损失函数（`LDetox`）定义如下： \[ LDetox(a\_{acc}, a\_{rej}, q) = -\frac{1}{N} \sum\_{i=1}^{N} \sum\_{t=1}^{T} \log p(a\_{i,t}^{acc}| F(a\_{i,(1:t)}^{corr}, a\_{i\_{rej}}, q\_i)) ]
   * 其中，`N`是样本数量，`T`是答案中标记的数量，`a_{i,t}^{acc}`是第`i`个样本中第`t`个时间步的接受答案，`F`是解毒器，`a_{i,(1:t)}^{corr}`是到时间步`t`为止的修正答案序列。
4. **训练过程**：
   * 在训练过程中，解毒器接收有害答案和用户查询作为输入。
   * 通过自回归的方式，解毒器学习如何一步步地生成无害答案。自回归意味着在生成答案的每一步，都考虑了之前所有步骤的输出。
   * 训练的目标是最小化损失函数`LDetox`，这通过调整解毒器的参数来实现，以便生成的无害答案的概率最大化。
5. **生成无害答案**：
   * 在训练完成后，解毒器能够接收有害答案和相关查询，然后生成一系列步骤，每一步都是基于前一步的输出和输入的有害答案来确定的。
   * 通过这种方式，解毒器可以生成一个流畅且与查询相关的无害答案序列，代替原始的有害输出。
6. **推理应用**：
   * 在实际应用中，当危害检测器识别出一个输出为有害时，解毒器会被用来生成一个无害的替代答案。
   * 这个无害答案将被用作MLLM的最终输出，从而确保了模型的响应既安全又与用户查询相关。

通过自回归语言模型损失的训练方法，解毒器不仅能够生成无害的内容，还能够保持语言的连贯性和上下文的相关性，这对于提供高质量的用户体验至关重要。
