# Vaccine: Perturbation-aware Alignment for Large Language Model

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

1. 研究背景： 随着大型语言模型（LLMs）在各种任务中取得成功，确保这些模型在实际部署中保持无害和有益的输出成为一个重要挑战。为了解决这个问题，研究者们通常在LLMs部署前对其进行对齐，以确保它们的行为符合人类偏好。然而，用户微调服务（用户上传数据进行微调）为服务提供商带来了新的安全挑战，因为即使是少量的有害数据也可能破坏模型的对齐。这种攻击面使得微调后的模型可能产生有害的输出。

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

1. 过去方案和缺点： 以往的对齐技术，如监督微调（SFT）和强化学习（RLHF），在保持模型对齐方面取得了一定的成效。但是，这些方法在面对用户微调时存在局限性，尤其是在处理有害数据时。例如，SFT在用户数据中混入有害数据时，可能会导致模型对齐的破坏。此外，这些方法通常需要额外的计算资源，并且在微调阶段可能无法有效地过滤或减轻有害数据的影响。
2. 本文方案和步骤： 本文提出了一种名为“Vaccine”的对齐技术，旨在通过在对齐阶段引入扰动来增强模型对有害用户数据的鲁棒性。Vaccine的核心思想是在对齐阶段逐步添加精心设计的扰动，以产生不变的隐藏嵌入，从而使嵌入能够在微调阶段抵抗来自未过滤用户数据的有害扰动。具体步骤包括：首先在对齐数据上找到最优的有界扰动，然后在微调阶段添加这些扰动，以优化模型使其能够抵抗这些扰动。Vaccine通过不变的隐藏嵌入，使模型能够在保持对齐的同时，对良性提示保持推理能力。

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

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

1. 本文实验和性能： 实验结果表明，Vaccine在保持对齐的同时，能够显著降低模型在面对有害提示时的有害得分（最高降低9.8%），同时在微调任务中保持了良好的性能（损失不超过1.8%）。此外，Vaccine在不同的模型（如Llama2、Opt、Vicuna）和微调任务中表现出了一致的性能提升。这些结果表明Vaccine是一种有效的对齐解决方案，能够在不牺牲模型性能的情况下，提高模型对有害数据的抵抗力。

阅读总结报告： 本文针对LLMs在用户微调过程中可能面临的安全风险，提出了一种新的对齐技术Vaccine。Vaccine通过在对齐阶段引入扰动，增强了模型对有害用户数据的鲁棒性。实验结果表明，Vaccine能够有效地降低模型在面对有害提示时的有害得分，同时保持了对良性提示的推理能力。这种方法为LLMs的安全对齐提供了一种新的视角，并为未来的研究和实践提供了有价值的参考。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://elwood.gitbook.io/foundation-model-sec/llm-defense/vaccine-perturbation-aware-alignment-for-large-language-model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
