概述
近年来,大规模语言模型已显示出惊人的能力,可以从少量样本中学习。然而,这种能力需要昂贵的大规模模型,其运行成本是一大挑战。此外,在推理过程中,需要对所有测试输入的上下文(包括演示)进行串联,从而增加了计算负担。为了解决这个问题,目前正在探索利用大规模语言模型来开发小规模语言模型的方法。
以往的工作是通过在大规模语言模型中生成基于少数几次演示的新数据,然后使用该数据集对预先训练好的小规模语言模型进行微调,从而实现高效的少数几次学习。这样,小规模模型就可以离线部署,而无需查询大规模语言模型,从而提高了推理效率。然而,使用这些方法生成的数据不受控制,信息含量有限,有可能导致虚假的相关性。如下图左侧所示,不受控制的数据变化很大,使得小规模模型难以学习。
本文研究了一种更可控、更高效的生成方法。本文提出的方法受到计算机视觉中属性操作的启发,即在编码器的潜在空间中对属性进行操作,以重建新的实例。这一想法也被应用到了语言领域,建议在保留句子原意的同时,对特定任务的语义(如情感)进行处理。如下图所示(转载),受控属性操作可以通过沿特定任务属性方向操作并保留其他属性,从而有效地找到精确的决策边界。
语言中的属性操作面临两大挑战:首先,很难选择合适的属性集。句子包含各种属性(如主题、情感、意图),这些属性可能因领域和数据集而异。使用预定义的属性集既耗费人力,又有局限性;其次,用操作过的属性重构句子需要较高的语义理解能力。传统方法依赖随机屏蔽来重构句子,这大大降低了生成句子的多样性和有效性。
为了应对这些挑战,本文提出了一种基于思维链(CoT)的方法,称为思维链属性操纵(CoTAM)。
它使用指令调整的大规模语言模型来处理属性并重建新句子。具体来说,大规模语言模型分三步进行提示。步骤 1询问大规模语言模型,将句子分解为独立于特定任务属性的多个属性。这组动态属性捕捉了单句的独特性,适合所有领域,无需对模型进行微调。第 2 步指示大规模语言模型输出切换特定任务属性和保持其他属性的指南。最后,第 3 步提示大规模语言模型根据第 2 步的指导原则重组句子。
所有这些步骤都是在对大规模语言模型的一次查询中完成的,从而确保了属性操作和重构的一致性。此外,大规模语言模型的使用提高了本文所提框架的可解释性,因为属性对用户来说是完全透明的。
在本文中,CoTAM 在四项自然语言任务(文本分类、自然语言推理、文本相似性和多选题回答)中以少量数据的形式运行。与强基线相比,它使用了相同的大规模语言模型,生成的数据量也相同。我们还通过微调小规模语言模型评估了生成数据的质量,并将评估扩展到参数效率更高的方法。这两项结果都显示了性能的显著和持续提升。
关于 CoTAM
语言建模是大规模语言建模中实现类人语言能力的基础。学习的目标是最大限度地提高预测人类文本中下一个标记的概率。这里, 指的是序列的起始标记。通过在超大语料库中训练大规模语言模型,目前的大规模语言模型可以实现出色的零误差性能,并能根据人类指令进行自然语言处理。要向大规模语言模型发出指令,需要输入一个提示 Z,然后大规模语言模型根据该提示生成一个响应 W。然后,该响应被解码并表示为输出:在思维链(CoT)中,大规模语言模型首先被引导解决一个简单的前提问题,然后更好地实现教学目标。
微调通常用于训练小规模模型。该模型有一个文本嵌入器 E 和一个分类器 C。在接收到输入文本 W 后,嵌入器 E 会将其映射到一个表示 X∈Rd其中 d 是潜在空间的大小。然后,分类器 C 将 X 映射到具有类号 c 的概率分布 P∈Rc中。计算 P 与正值 Y 之间的交叉熵损失,并通过反向传播更新模型参数。
CoTAM 的目的是从大型语言模型中生成高效数据,从而使小规模模型在微调数据最少的情况下也能表现良好。该方法的理念是生成具有不同分类目标但其他属性相同的数据对(或数据组)。这样,不同数据对(组)之间结果 P 的变化主要是由于目标特征的变化造成的。这就降低了噪声真实世界数据通常面临的复杂性。因此,P 与正值 Y 之间的交叉熵损失(用于通过反向传播更新模型参数)为目标特征对分类的影响提供了一个更准确的指标。
为了生成这样的数据,我们引入了属性运算,主要应用于人脸属性。如下图所示,训练有素的编码器将输入图像映射到潜空间中的表示。然后在潜空间中对该表示进行变换,并重建为图像。因此,重建后的图像在保留其他属性的同时,其属性也发生了明显的变化。因此,利用初始图像和重建图像之间的差异,可以对切换后的属性进行有效的分类器训练。
利用大规模语言模型强大的文本处理能力,对文本进行属性处理(OpenAI,2023 年)。具体来说,创建一个 CoT 查询,将输入文本分解为若干属性,然后在潜在空间中对这些属性进行近似。然后,CoT 在任务的目标属性之间切换,促使大规模语言模型重构所操作的句子。这里的主要问题是如何通过属性逼近潜空间。面部属性操作中的潜空间代表一组固定的显性或隐性属性。然而,固定的属性集不能应用于文本,因为文本中的一般属性不像人脸图像中的属性那样是共享的。
幸运的是,大规模语言模型能够提出文本属性(Wang 等人,2023 年),并满足动态属性分解的要求。这意味着不同的输入文本可以使用大规模语言模型提出的动态属性集来表示。因此,CoT 是利用大规模语言模型并从面部属性操作中汲取灵感而构建的。首先,大规模语言模型的任务是提出已知属性(注释标签)之外的一些属性。接着,大规模语言模型被指示考虑如何生成只有切换标签不同的句子。最后,指导大规模语言模型生成这样的句子,从而完成属性操作;在 CoT 中,由于大规模语言模型具有强大的文本操作能力,因此它同时扮演着分解和重构的角色。
按照 CoTAM 的宏观设计,CoT 的第一步是将句子分解为各种属性。这一步的指令如下。
除"“外,上句还有哪些属性 ?
除”"外,上句还有哪些其他属性?
这里, 指的是数据集中的一个已知属性。例如, 是情感分析任务中的 “积极情绪”。因此,大规模语言模型提出了一系列在重建过程中应该保留的其他属性。
第二步是让大规模语言模型建议如何使用分解步骤中切换的属性和其他属性重建句子。这一步对于 CoT 推理非常重要,因为它包含了理解如何实现目标的内容。这一步的指令如下。
如何使用这些 属性和"“写出类似的句子 ?
如何使用这些属性和”"写出类似的句子?
在这里,变成了切换后的 ,例如,如果 是sentiment:positive,那么就是 sentiment:negative。这一步将为最终的大规模语言模型输出准则,以执行重构。
第三步,也是最后一步,要求大规模语言模型使用以下指令,用一个被调换的属性重构一个句子
写出这样的句子,不作任何其他 解释。
在这里,添加 "无任何其他解释/无其他解释 "约束只是为了提高采样效率。这些就是 CoTAM 中的 CoT 实现步骤。这样,大规模语言模型就能有效地分解和重构句子。
试验
本实验使用了六个数据集来测试 CoTAM 在文本分类和其他任务中的优势。文本分类数据集包括 SST-2(情感极性)、TweetEmo(细粒度情感)和 AGNEWS(主题)。其他任务数据集包括 MNLI(自然语言推理)、MRPC(语义文本相似性)和 CSQA(多选题回答);MNLI 包括用于评估的匹配(MNLIm)和非匹配(MNLImm)数据集。为了有效地获得多个结果,如果测试数据集没有公开,则报告验证数据集的结果。
数据集是通过使用 CoT 查询 GPT-4 构建的。大规模语言模型的温度设置为零,目的是保证高质量和可重复性。在每个数据集中,CoTAM 应用于 200 个句子,创建一个小的子集作为训练数据的样本。为了进行公平比较,该子集还用于生成其他基线数据。
CoT 数据扩增(CoTDA)是一种基于大规模语言模型的扩增策略,由本文中的 CoT 场景改进而成。它不是直接寻求扩增,而是让大规模语言模型根据 CoT 建议如何写出与输入句子具有相同属性的句子;CoTDA 是探索 CoTAM 中属性切换重要性的主要基线。对于每个种子数据,都会在 0.1 的温度下增强 N-1 次,N 是数据集中的类数。因此,CoTDA 生成的新数据数量与 CoTAM 相同,以确保比较的公平性。
FlipDA是一种传统的标签切换增强方法,基于条件生成和完全调整的 T5。具体来说,句子与切换标签组合后输入 T5。然后,T5 根据新标签随机屏蔽和恢复句子的若干跨度,并切换句子的含义。由于原始的 FlipDA 需要大量的监督数据集,无法应用于少量的训练,因此通过向大型语言模型发送跨度替换指令,建立了基于大型语言模型的 FlipDA(FlipDA++)基线。
它还使用由人工或大规模语言模型直接标注的文本。人工标注包括设置 K-shots 和 NK-shot;K-shot 代表整合大规模语言模型生成的数据之前的基线;NK-shot 的训练数据量与 CoTAM 相同,但由于有人工标注,这种方法有望成为 CoTAM 的上限。预计是 CoTAM 的上限。然而,由于属性操作带来的数据质量高,CoTAM 可以超过这个上限;NK 镜头中大型语言模型的注释代表了一个简单的基准,一般在有大量未标注的域内数据时应用。默认情况下,K 设置为 10,为消除偏差,报告的所有结果均为 10 次运行的平均值。
评估数据质量的一个简单方法就是调整模型并检查其性能。本文选择 RoBERTa-Large 作为不同数据集的学习器。如果没有验证数据集,则在 32 个历元上对模型进行训练,然后进行评估。
如下表所示,与其他基于大规模语言模型的数据生成方法相比,CoTAM 在所有七项任务中都取得了最佳微调结果。
在七项任务中的六项中,CoTAM 超过了人类注释(N 路)NK 镜头的预期上限。这表明,从大型语言模型中精心生成的数据可能比用相同数量的人工标注训练出的模型训练出更好的模型。这也证实了 CoTAM 是一种通过属性操作提高数据效率的方法。
在小容量文本分类领域,文本嵌入已被证明是提高性能和效率的有力工具。
在基于实例的推理中,文本嵌入模型会将输入的句子转换成一个表征。该表征的标签根据其与注释句子表征的接近程度来确定。本实验使用最近中心点(NC)和 K-最近邻居(KNN)作为免调整算法,并将其应用于三个不同的文本分类数据集。它根据输入句子与中心点的接近程度为其分配标签。相反,KNN 则根据 K 个近邻中最常见的标签对输入句子进行标注。在本实验中,K 设置为 5。为了对文本进行编码,我们使用了简单对比句子嵌入(SimCSE)模型,并将 RoBERTa-Large 作为骨干模型。
下表显示了不同数据生成方法在使用基于实例的算法时的性能。与生成新文本的方法(如 FlipDA 和 CoTDA)相比,CoTAM 在大多数配置中都表现出更优越的性能。这表明,CoTAM 生成的数据在文本嵌入模型的潜在空间中也有更好的分布。
在 AG-NEWS 数据集中,基于实例的算法倾向于使用人类和大规模语言模型所做的域内注释。这凸显了在特定任务中使用这些算法时域内文本的重要性。
分析
目前正在进行消融研究,以确认 CoT 的每个思想的重要性。此外,还使用 GPT-3.5 涡轮增压技术对不同大规模语言模型的效果进行了研究和测试。结果表明,GPT-4 的微调效果要好得多。研究还表明,在文本分类中使用文本嵌入模型可以减少这种差异。
消融研究的结果如下表所示。研究证实,当从协同工作中删除每个想法时,绩效都会下降。特别是,“是什么”(消融)思想比 “怎么做”(方法论)思想更重要,这表明属性建议的优越性。CoT 是标签切换的必要条件,去除它将导致性能显著下降。最后,GPT-4 的表现优于 GPT-3.5-turbo,这表明 CoTAM 更倾向于大型语言模型,尤其是对于 MNLI 这样的复杂任务而言,大型语言模型具有更好的语言性能。
为了证实大规模语言模型在保持其他属性不变的情况下对单一特征进行调整的假设,CoTAM 中的数据对表示如下图所示:SimCSE 中的高维(1024 维)文本表示使用主成分分析法(PCA)简化为二维空间,可视化为使用 PCA 对数据进行可视化。
该图描绘了积极表征和消极表征之间的清晰界限,凸显了所提方法在微调和基于实例推理方面的价值。此外,表征切换的方向是一致的,这表明大规模语言模型有能力在调整一个属性的同时稳定其他属性。这种切换方向的一致性表明,LLMs 可以预测和控制其在特定特征操作中的行为;与 CoTAG 相比,CoTAM 划出了更清晰的边界,使数据学习比传统的数据增强更高效。
总结
本文提出了一种新方法–思维属性操纵链(CoTAM)。这是一种利用大规模语言模型生成的数据,以少量训练数据实现高性能的方法。
受图像处理技术的启发,CoTAM 通过改变与特定任务相关的属性并重建新句子,生成带有切换标签的数据。测试证实,CoTAM比其他基于大规模语言模型的文本生成技术更有效。
未来研究的目标是将属性操作技术应用于较小的语言模型,以提高其可扩展性和可访问性。这有望减少对大型语言模型相关的资源密集型流程的依赖,并提高效率。此外,还将通过确保输出的稳定性和提高其在实时应用中的实用性,同时保持性能质量,来进一步改进工作。
注:
论文地址:https://arxiv.org/pdf/2307.07099
源码地址:https://github.com/komeijiforce/cotam
原文地址:https://ai-scholar.tech/zh/articles/large-language-models/CoTAM