夕小瑶科技说 原创

作者 | Axe_越

不知道大家在使用大语言模型(LLM)的时候有没有遇到过,明明一模一样的意思,哪怕只有一两个字不同的指令给到大模型后,都会得到完全不一样的结果。这种大模型神秘的玄学力量所带来的不一致体验,也深深折磨着广大Prompt工程师。
那到底怎么才能让LLM“情绪稳定”,不再那么敏感呢?
尽管近年来对于LLM不一致问题的成因和解决方案都有了一定研究,仍然缺乏对当前LLM鲁棒性(robustness)的定量分析,以及改进LLM指令调优(Instruction-tuning)的系统解决方案。这里我们就要推出今天的这篇文章了,它首先定义了LLM鲁棒性度量方法,并在多个不同尺寸的LLM上进行了鲁棒性的定量分析。
此外,为提高LLM鲁棒性,以缓解响应不一致问题,这篇文章还提出了一个两阶段的训练框架,包括指令增强的监督微调(Instruction-augmented Supervised Fine-tuning)和一致性对齐训练(Consistency Alignment Training)。该框架在第一阶段通过指令增强帮助模型泛化指令遵循能力,在第二阶段通过自我奖励(self-rewards)帮助模型理解哪些响应更符合人类期望。实验结果表明,通过显式地添加一致性自我对齐,这些LLM可以获得鲁棒性的提高,并更好地推广到更多指令。
论文标题
Improving the Robustness of Large Language Models via Consistency Alignment!
论文链接
https://arxiv.org/pdf/2403.14221.pdf

LLMs指令跟随鲁棒性

1. 鲁棒性评测指标

本文将表示为一个潜在空间,表示所有传达等效语义内容或用户意图的语言表述,并定义响应空间, 表示将中的每个问题映射到中可能响应上的概率分布。鉴于此,LLM 的一致性被定义为模型对来自的任意两个表述,所对应响应之间的预期一致性:
表示,所对应的响应,之间的相似度,通过LLM进行<similar,contradicted>判断,并转化为0-1得分。
在此基础上,本文提出了一致性得分(Consistency Rate,CR)和最大一致性得分(Maximum Consistency Rate,MCR)两个鲁棒性评价指标。其中:
CR计算的是模型对于来自相同语义内容的不同指令表述所生成响应之间的一致性,其在数学上被定义为:
其反映了模型在面对同一任务的多种不同表述时,生成的响应能保持多大程度的一致性。一个高的CR值意味着模型能够生成在语义上更一致的响应,即使面对不同的表述方式。
MCR是指在所有生成的响应中,一致性最高的响应集合大小与该指令空间所有响应集合大小的比例。数学上,MCR定义为:
,是在输入下的一簇内部相一致的响应集合,是在下模型生成的所有响应的数量。
作为对CR的补充,MCR关注在所有可能的响应中,模型能够产生多大比例的高度一致性的响应。这可以被看作是模型整体的最佳一致性表现。
这两个指标共同说明当前LLM离最佳鲁棒性性能有多远。

2.现有LLMs鲁棒性评测

本文从Super Natural Instruction数据集中随机采样了490个问题,对每个问题生成10种不同的表述,总共得到了4900个不同的问题。随后,本文选取了GPT-3.5、GPT-4、Vicuna和LLaMA-2用于评测,并采用GPT-4来对任意两个响应之间的相似度进行打分。评测结果如下:
就两个一致性指标而言,GPT-4、ChatGPT和Vicuna-13B是更稳健的模型。对较小的模型来说,在与不同的语言表述作斗争时,鲁棒性仍有较大提高的空间。

一致性对齐法

1. 数据构建

从Super Natural Instruction中按照训练集、验证集和测试集依次采样了700、128、56个任务(每个任务有至少一个专家撰写的指令和平均3155条input-output数据样本)。为保障数据分布均匀,每类任务最多随机采样100条样本用于训练/测试。然后,保持每个样本input-output不变,对每条任务指令生成多个语义相同的不同表述。
对于测试数据,本文额外构建了一个测试集来反映一致性。其中测试集I利用GPT-4对原始任务指令进行转述,获得10条任务指令,并为每个任务随机抽取10个样本。测试集II是在最初采样的56个任务中,每个任务随机选择的100个样本。

2. 指令增强的监督微调(SFT-IA)

采用所构建的指令增强数据集,按照生成式模型标准训练方法进行有监督微调。

3. 一致性对齐训练(CAT)

为避免训练好的模型出现指令跟随能力上升,但响应多样性下降的情况,采用一致性奖励对模型继续训练,使响应更符合人类期望。
本文定义了响应类型(answer type)用于评价模型是否理解指令从而生成期望的响应;正确性(correctness)用于评价模型是否正确回答问题。使用LLM对输入、响应和目标响应进行评估,并通过LLM生成的关键词<expected, unexpected>、<correct, incorrect>获得响应类型得分、正确性得分和最终奖励得分、和。
通过离线打分机制,获得同样样本input在不同指令下得到最高奖励分数(2分)的响应,将这些得分更高的响应与所有得分低于他们的响应进行配对,构成训练数据。从而在训练中鼓励生成那些能够获得更高奖励的响应,并减少生成那些获得较低奖励的响应的概率。这里通过排名损失和交叉熵损失的组合来实现的,其中交叉熵损失用于模仿那些获得最高奖励的响应。

4. 测评方式

在测试集I上采用CR和MCR,同时在测试集I和测试集II上采用ROUGE-1和ROUGE-L。此外,采用人工标注的方式对响应质量进行<0,1,2>打分

实验结果与分析

1. 主要结果

通过指令增强的监督微调(SFT-IA),Vicuna和Llama 2模型在一致性分数和ROUGE分数上都有显著提升,表明指令增强有助于模型更好地泛化指令遵循能力。
此外Vicuna基于SFT-IA和CAT训练后的性能优于基于Llama 2底座的,这证实了选择恰当的底座模型对于进一步训练的重要性。
而在指令增强的监督微调(SFT-IA)基础上,响应一致性对齐训练(CAT)进一步提高了所有模型的一致性分数和ROUGE分数。特别地,Vicuna13B + SFT (IA) + CAT在实验设置中甚至超过了最先进的GPT-4。
对于测试集II,Vicuna13B + SFT (IA) + CAT在ROUGE分数上同样超过了GPT4。
此外,以Vicuna-13B作为基础模型的人工评测也得出了与上述两组自动评测相符的结论,通过CAT+SFT(IA)后的模型要明显优于基础模型;而删除一致性对齐训练(CAT)步骤,或去掉经指令增强(IA)的监督微调(SFT)都会带来显著的效果下降。进一步验证了本文方法组件的必要性和有效性。

2. 详细分析

奖励方式选择:研究表明,将奖励分为响应类型和正确性两个步骤是有益的,因为确定预期的响应类型是一个更简单的任务,可以作为辅助任务来提高自我奖励的准确性。
λ的选择:通过不同λ值的实验,发现在最终训练目标中加入恰当权重的SFT损失是重要的,因为当λ设置为1或0.5时,ROUGE分数更高。
增强指令的数量:增加每个任务的增强指令数量可以提高性能,但当指令数量过多时,由于每个任务的训练实例相应减少,性能会下降。

结论与展望

1. 本文贡献

本文提出了两个指令跟随鲁棒性评测指标,并提出了一个两阶段训练框架来增强LLM的鲁棒性,其包括一个“指令增强的监督微调”步骤和一个不依赖外部人力或奖励模型的“自我奖励一致性对齐训练”步骤。此外,广泛的实验也验证了该训练框架在多个公开LLM中的有效性.

2.当前挑战与未来展望

  • 尽管当前的训练方法在使用自我奖励时是有效的,但如果模型本身的对齐性能较差,那么获得的奖励可能不会带来进一步的改进,而这一点在小尺寸LLMs上往往表现更为明显。因此未来的工作可能会着眼于如何进一步提升小尺寸LLMs的一致性,并探索如何改进自我奖励机制,或者寻找其他方法来提高模型的初始对齐性能。
  • 此外,本研究的指令重述是依赖于LLMs,相比于真实用户表达多样性,LLMs生成的指令类型仍然是有限的。未来可能会考虑从更广泛的用户群体中收集指令,以构建更多样化的测试和训练数据集。
继续阅读
阅读原文