引言
想象一下,你正在使用一个大型语言模型 (LLM) 来总结一份财务报告。模型运行得非常完美。然后,你修正了输入数据中的一个小拼写错误——将“5000”改为“5,000”或者修正了一个拼写错误的公司名称。突然间,模型的输出完全反转了。它与之前的总结自相矛盾。
这种场景凸显了现代自然语言处理 (NLP) 中一个严重的脆弱性: 易碎性 (brittleness) 。 虽然语言模型 (LMs) 展现了令人印象深刻的能力,但它们通常是“黑盒”,对微小的输入扰动高度敏感。模型可能完全理解了一个句子,但如果你添加一个双重否定或将一个词换成同义词,模型就会崩溃。
对于进入 NLP 领域的学生和研究人员来说,理解如何使模型具有“鲁棒性”——即对这些变化具有适应力——是最重要的前沿课题之一。
在这篇文章中,我们将深入探讨研究论文 《Evaluating Concurrent Robustness of Language Models Across Diverse Challenge Sets》 (评估语言模型在多样化挑战集上的并发鲁棒性) 。 我们将探索研究人员如何评估这种脆弱性,更重要的是,他们提出的新方法,用于同时针对多种类型的错误对模型进行“接种 (inoculate) ”。
问题: 对扰动的敏感性
在解决问题之前,我们必须先定义它。在这项研究的背景下,作者专注于表格自然语言推理 (Tabular-NLI) 任务。该任务涉及观察一个结构化的表格 (前提) ,并确定一个句子 (假设) 是真 (蕴含 Entailment) 、假 (矛盾 Contradiction) 还是中立 (Neutral) 。
什么是扰动?
“扰动 (perturbation) ”是对输入的轻微修改,通常保留原始含义 (或以可预测的方式改变它) ,但往往会混淆模型。研究人员将这些分为五种不同的类型:
- 字符级 (char): 拼写错误或错别字 (例如,将 “wrote” 写成 “wotte”) 。
- 否定 (neg): 添加或删除否定词 (例如,“is not” 对比 “is”) 。
- 释义/改写 (stan): 在不改变含义的情况下重新措辞。
- 数值 (num): 改变数字或单位。
- 地点 (loc): 改变地理实体。
图 1: INFOTABS 数据集中的扰动示例。注意 H'1 中的拼写错误或 H'2 中的否定等微小变化是如何产生新的“挑战”句子的。
如图 1 所示,人类阅读这些受到扰动的句子仍然可以轻松理解表格和文本之间的关系。然而,语言模型往往会感到吃力。
微调的脆弱性
你可能会想,“如果模型不擅长处理拼写错误,我们就针对拼写错误训练它。”这被称为单集接种 (Single-Set Inoculation) 。 问题在于,虽然模型在处理拼写错误方面可能会变好,但它往往会忘记如何处理改写或数字。更糟糕的是,它在原始、干净的数据集上的表现可能会下降。
图 2: 核心问题。在原始数据集 (D) 上微调的模型对于标准假设 (H1, H2, H3) 表现良好。然而,当暴露于扰动数据 (D’) 时,例如轻微的数值变化或改写,模型会失效 (红叉) 。
图 2 可视化了这种失效模式。这项研究的核心问题是: 我们如何创建一个能够同时对所有这些扰动都具有鲁棒性的单一模型?
解决方案: 多集接种框架
作者引入了一个名为多集接种 (Multi-Set Inoculation) 的框架。目标是对模型进行微调或提示,使其能够同时对多种类型的攻击 (扰动) 免疫,而不会丧失其原始能力。
该方法取决于你使用的是像 BERT/RoBERTa 这样的预训练语言模型 (PLM) (你可以轻松地对其进行微调) ,还是像 GPT-4 或 LLaMA 这样的大型语言模型 (LLM) (通常通过提示访问) 。
图 3: 高层工作流程。上方路径显示了 PLM 的微调策略。下方路径显示了 LLM 的提示工程策略。
第一部分: PLM 的微调策略
对于像 RoBERTa 这样我们可以访问权重并运行梯度的模型,作者提出了三种训练策略来处理多个挑战集 (P_j):
1. 顺序训练 (SEQ)
这是直观的方法: 先在拼写错误上训练模型,然后在否定上训练,然后在数字上训练,依此类推。
- 风险: 这通常会导致灾难性遗忘 (Catastrophic Forgetting) 。 当模型学完数字时,它可能已经覆盖了帮助它理解拼写错误的权重。
2. 混合训练 (MIX)
在这个策略中,来自所有不同挑战集 (拼写错误、否定、数字等) 的样本被投入到一个单一的“大杂烩”组合数据集中。模型在这个聚合数据集上进行微调。
- 理论: 通过一次性有效地看到所有扰动,模型在不覆盖先前知识的情况下学习到了广义的鲁棒性。
3. 动态混合训练 (DYNMIX)
这是 MIX 的更智能版本。作者不是从每个集合中提取相同数量的例子,而是与模型的基线性能成反比地进行采样。
- 工作原理: 如果基线模型在否定方面很差但在拼写错误方面还可以,DYNMIX 将在训练集中包含更多的否定示例和更少的拼写错误示例。它强迫模型专注于其弱点。
第二部分: LLM 的策略 (提示工程)
微调像 GPT-4 或 LLaMA-70B 这样的大型模型在计算上很昂贵,有时通过 API 也无法实现。因此,作者设计了提示策略来实现类似的鲁棒性。
零样本 vs. 少样本
- 零样本 (\(OP_{ZS}\)): 你只是给模型指令和表格。
- 带思维链的少样本 (\(OP_{COT}\)): 你给模型指令加上几个包含“思维链”的例子 (范例) ——即解释为什么答案是真或假的推理步骤。
高级提示策略
为了处理扰动,作者引入了两种特定的提示结构:
- 单范例多提示 (SEMP): 你为每种扰动类型创建一个特定的提示。如果你正在测试拼写错误,你就给模型拼写错误的例子。
- 多范例单提示 (MESP): 这是“鲁棒”的方法。提示一次性包含所有扰动类型的指令和例子。
- MESP-MPI (指令式): 侧重于详细描述扰动是什么 (例如,向模型解释“数字拼写错误”是什么样子的) 。
- MESP-MPE (范例式): 侧重于展示更多不同扰动的例子,而不是冗长的描述。
实验与结果
研究人员在 InfoTabs 数据集上测试了这些策略。让我们看看他们发现了什么。
1. 微调结果 (RoBERTa)
在 RoBERTa 上的实验揭示了一个明显的赢家。 混合训练 (MIX) 显著优于顺序方法。
- 顺序训练的失败: 正如预测的那样,在不同集合上顺序训练导致模型忘记了之前的集合。如果模型最后学习“否定”,它在“拼写错误”上的性能就会下降。
- 混合的力量: MIX 策略提供了并发鲁棒性。它几乎提高了所有挑战集上的性能。
- 动态 vs. 静态: 有趣的是,虽然 DYNMIX (加权采样) 是有效的,但它的表现与标准 MIX 大致相当。这表明,简单地让模型接触多样化的错误“饮食”是最关键的因素,其重要性超过了该“饮食”的确切比例。
2. LLM 结果 (GPT-3.5, LLaMA-2)
大型语言模型的结果凸显了上下文和思维链 (CoT) 的重要性。
- 脆弱性: 即使是像 GPT-3.5 和 LLaMA-2 这样的大型模型,在零样本设置下也对扰动敏感。它们并不是天生鲁棒的。
- “启动”效应: 最迷人的发现之一是,解释一种类型的扰动 (例如,“注意拼写错误”) 实际上有助于模型处理其他类型的扰动 (例如,否定) 。这似乎表明,警告模型注意错误会让它进入一种更“警惕”的处理模式。
图 4: 基础模型与 MESP 提示的鲁棒性对比雷达图。彩色线条代表不同的模型 (LLaMA 与 GPT-3.5) 和策略。注意 MESP 策略 (较宽的多边形) 通常覆盖更大的区域,表明在五个轴 (char, neg, num, loc, stan) 上具有更好的性能。
如图 4 所示, MESP (多范例单提示) 策略产生了最稳健的性能。具体来说, MESP-MPE (展示更多例子) 倾向于优于 MESP-MPI (给出详细指令) 。
提示工程的关键要点: 向 LLM 展示 数据可能混乱的许多不同方式 (范例) ,比仅仅告诉它要小心 (指令) 效果更好。
结论与启示
这篇论文为多集接种提出了令人信服的理由。在现实世界中,数据很少是干净的。用户会犯拼写错误,使用俚语,并以意想不到的方式提问。仅对一种噪音具有鲁棒性的模型并不是真正的鲁棒。
以下是给学生和从业者的主要启示:
- 不要依赖标准训练: 标准微调不能保证对噪音的鲁棒性。
- 混合你的训练数据: 如果你正在微调 BERT/RoBERTa 模型,不要按顺序训练边缘情况。将你的边缘情况混合到一个多样化的训练集中。
- 提示要多样化: 如果你正在使用 LLM,你的系统提示应该包含潜在输入错误的各种示例。带有噪音示例的“少样本”提示就像疫苗一样,让模型为现实部署中的混乱情况做好准备。
通过理解和应用这些接种策略,我们可以构建不仅仅是智能,而且具有弹性的 NLP 系统。
](https://deep-paper.org/en/paper/2311.08662/images/cover.png)