小红书技术REDtech

NeurIPS2024 | 大模型指令嵌入:面向任务识别的指令表示

Image

指令微调对于提升大语言模型 (LLMs) 的指令遵循能力至关重要。指令微调的本质在于通过调整模型,使其适应指令的交互风格或格式,并充分利用预训练阶段积累的知识与技能,高效完成各种任务。因此,对于指令数据而言,最重要的是其所代表的任务,而非具体的语义和知识信息。

文本嵌入在多项自然语言处理任务中发挥着关键作用,例如文本语义相似性计算和信息抽取。在指令微调领域,文本嵌入同样具有广泛的应用场景,包括指令微调数据选择和上下文学习示例的选择等。然而,传统的文本嵌入主要关注对完整语义信息的捕捉,而非针对指令任务特征的识别与表达。

在NeurIPS 2024上,小红书搜索算法团队提出了指令嵌入的概念 —— 一种文本嵌入的专用子集,重点在于对指令进行任务识别,而非提取句子级别的语义信息。在此基础上,团队进一步构建了一个可用于指令嵌入模型训练、测试的数据集IEB。

随后,团队基于IEB数据集对模型进行了训练和测试,并在四个不同的下游任务中对比了指令嵌入与传统文本嵌入的效果,包括指令微调数据选择、上下文学习示例选择、指令测试集压缩以及指令集任务关联性分析。结果显示,指令嵌入相比传统文本嵌入更适合处理指令相关任务,表现出更优异的效果。

论文标题:

Instruction Embedding: Latent Representations of Instructions Towards Task Identification

论文地址:

https://www.arxiv.org/abs/2409.19680

项目主页:

https://github.com/Yiwei98/instruction-embedding-benchmark

Image

LLMs在根据给定指令生成能够解决特定任务的回复方面表现出卓越的能力。这些模型最初通过预训练获得广泛的通用能力,随后通过指令遵循数据集进行微调,以提升其对齐人类偏好的能力。指令微调可以被视为一个简单的过程,即模型仅需学习与用户交互的风格或格式,以解决特定问题,而相关的知识和能力已在预训练阶段获得。

文本嵌入在诸多自然语言处理任务中发挥着关键作用,例如文本语义相似性计算和信息抽取。同样地,作为一种文本形式,指令的表示对于许多任务也至关重要,例如指令微调的数据选择和上下文学习的提示检索。然而,对于指令的嵌入,核心关注点应在于任务类别的识别,而非整体语义信息的捕捉。这是因为指令微调的目的是帮助模型学习如何在不同任务中与用户交互,而非学习指令所传递的具体能力与知识。因此,对于指令而言,任务相似性远比语义相似性更为重要。下图展示了一个案例,其中传统文本嵌入方法在两条样本之间展现出较高的整体语义和句法相似性,尽管它们实际代表完全不同的任务;而在处理相似任务的样本时,相似性反而较低。

Image

在本研究中,我们提出了一种名为“指令嵌入”的新概念,这是文本嵌入的一个专用子集,其重点在于对指令进行任务识别,而非提取句子级别的语义信息。为此,我们构建了一个全新的数据集 —— IEB,用于指令嵌入的训练和评估。我们利用IEB训练了指令嵌入编码模型,并对其进行了指令任务识别测试以及微调数据选择、上下文学习示例选择等下游任务测试。

Image

2.1 IEB数据集

我们提出了指令嵌入评估基准(IEB),用于评估指令表示的质量。与当前主要评估语义相似性的文本嵌入基准不同,IEB专注于通过指令实现任务区分。因此,我们在IEB中为指令标注了其对应的任务类别。我们将任务定义为:指令的任务是我们期望大型语言模型(LLM)执行的一类活动或工作,可以通过一个关键短语(主要是动词-名词短语)来表示。

2.1.1 数据抽取

我们从三个广泛认可的指令微调数据集:DatabricksDolly、Alpaca 和 Self-instruct 提取样本,并使用了Berkeley Neural Parser 对指令进行解析,以提取相关的语法结构和关键成分。

Image

经过人工观察并结合任务类别的需求,指令通常可以通过相应的解析标记识别器分为以下四组(具体示例见下表):

  1. VP (VB+NN):指代动词短语结构,其中动词最接近解析树的根节点,并直接与名词相连。在上图中,我们绘制了最常见的根动词及其直接名词对象。

  2. SBARQ:由 wh- 词或 wh- 短语引导的直接问句。

  3. SQ:指代倒装的是/否问句。

  4. 其他:包括以下其他结构:

    (i) 动词短语但缺少直接连接的名词;

    (ii) 一些罕见情况,例如不含动词,仅由名词短语组成。

    我们将这些情况定义为以下四类:

    a) 动词引导的知识问题。

    b) 单一动词用于任务的指令。

    c) 动词引导的数学问题。

    d) 仅由名词短语组成的知识性问题。

Image

2.1.2 数据合成

在指令数据中,我们发现了一些复杂句子,例如:“Pretend you are a project manager of a construction company. Describe a time when you had to make a difficult decision."。尽管这类句子在数据集中仅占少量比例,但它们可以作为IEB中具有挑战性的样本。然而,由于这类句子相对难以识别,我们采用GPT-4基于现有的任务类别名称(包括动词和对应的名词)生成样本。生成的提示为“Generate an instruction represents the {task category} task, which contains two sentences. Note that the second generated sentences must contain the task word”。

Image

2.1.3 质量控制

自动过滤

我们发现,低频样本更可能是噪声,因此我们剔除了样本数少于10的类别。此外,我们使用 GPT-4 检查样本是否属于其标注的类别。在此过程中约有12.9%的样本被过滤。

类别合并

考虑到许多表示指令的动词或名词是同义词,例如 provide 和 give,将它们归为不同类别并不合适。为此,我们使用 WordNet 提取同义词,将动词和名词均为同义词或完全相同的两个类别合并。

人工评估

我们随机选择了100个任务类别,并从每个类别中抽取一个样本。该工作的一名合作作者(专家标注者)对这些样本是否属于其标注类别进行了评估。评估使用的指令与自动过滤部分相同。结果表明,93%的样本类别是准确的,这显示了大多数标注类别标签的正确性。

2.1.4 IEB统计信息

我们将IEB划分成了EFT (Embedding Fine-Tuning)、IFT (Instruction Fine-Tuning) 两个子集,每个子集都包含训练集和测试集两个部分。

Image

2.2 指令嵌入

传统的文本嵌入主要关注捕捉文本的整体语义信息 。然而,指令数据的核心在于任务词所指示的任务,这些任务词通常由一个动词和一个名词组成,分别明确了任务动作和任务领域(或动作对象)。因此,我们提出了一种指令嵌入方法,旨在捕捉指令中所包含的任务类别信息,而非通用的语义信息。

2.2.1 基于提示的指令嵌入

指令嵌入的核心对指令任务进行表示。受PromptBERT的启发,我们提出了一种基于提示的指令嵌入方法(PIE),通过精心设计的提示,引导模型提取指令中的任务信息。指令嵌入由最后一个输入词元的隐藏状态表示。

PIE提示:

Image

语义提示 (Semantic-prompt):

Image

2.2.2 指令嵌入微调

我们进一步在EFT训练集上基于SimCSE的对比学习框架对PIE模型进行微调。在该过程中,我们将原始基于dropout的正样本对构建方法替换为基于EFT训练集中指令任务标签的方法。形式化地,设  表示EFT训练集,其中每个  代表  中的一个特定任务类别,每个  是属于  的一个指令实例。在训练过程中,我们采用带有批内负样本的交叉熵目标函数。对于给定的指令  ,我们从  中随机抽取不同的指令  组成一个任务相关的指令对。设  和  分别表示  和  的嵌入表示,针对  的学习目标在包含N对样本的小批量中可以通过以下公式表示:

Image

其中,  是温度系数,  表示余弦相似度   。

在对比学习中,困难负样本抽取(Hard Negative Sampling)被广泛采用。在本研究中,我们提出了一种基于动词-名词形式的指令任务标签的困难负样本抽取策略:对于任务类别为动词-名词对  的指令  ,将任务类别为  或   的另一条指令  

视为  的困难负样本。在寻找困难负样本时,我们优先选择动词相同但名词不同的样本。

Image

3.1 指令任务识别测试

基于IEB基准数据集,我们引入了指令聚类任务(Instruction Clustering Task, ICT)和指令意图相似性测试(Instruction Intention Similarity, IIS)用于评估指令嵌入的效果。

ICT旨在准确地将来自不同任务的指令进行分组。具体而言,指令聚类基于给定指令的嵌入,使用k-means算法进行,其中k的值预定义为EFT测试集中的任务类别数量。我们采用以下指标对聚类结果进行评估:调整兰德指数(Adjusted Rand Index, ARI)、聚类纯度(Clustering Purity, CP)、同质性分数(Homogeneity Score, Homo)、轮廓系数(Silhouette Score, Silh)。

IIS测试旨在与语义文本相似性(STS)任务对齐,用于评估指令嵌入在衡量指令间相似性上的表现。IIS测试集来源于IFT训练集,通过特定规则生成。

  • 全量校验:这种方法涉及对数据库中所有数据的一次性检查,确保高准确度。然而,它反映的仅是校验时刻的数据状态。全量数据校验又被分为同构全量数据校验和异构全量数据校验,通常情况下,全量数据校验建议多次周期性运行,以确保数据一致性。

  • 增量校验:此方法基于数据变更事件,仅校验新变更的数据,减少了校验量并提高了实时性。但它无法覆盖历史数据的一致性校验。

在实际应用中,我们会根据具体情况灵活结合这两种校验方式,以更有效地确保数据的准确性和时效性。

Image

在非微调的基线模型中,PIE 提示通过引导模型提取任务类别,在 ICT 和 IIS 测试中表现显著优于未使用提示的模型。BERT 因指令遵循能力有限未能从 PIE 提示中获益,而 Vicuna 尽管在无提示时不如 Llama2,但使用 PIE 提示后表现更佳,这得益于其通过指令微调提升的指令遵循能力,使其能够在 PIE 提示的引导下更好地提取任务相关信息。经过 EFT 训练集的监督微调后,BERT 弥补了与 Llama2 和 Vicuna 的差距,并在某些场景下表现更优。尽管使用 PIE 提示与使用语义提示或未使用提示的模型之间的性能差距在监督微调后显著缩小,使用 PIE 提示的模型仍然领先,表明其引导作用在微调后依然重要。

3.2 下游任务测试

我们设计了四个下游任务进行进一步评估。我们的核心目标是验证指令嵌入相比于传统文本嵌入(后者主要关注句子整体语义信息),在指令相关的下游任务中具有更高的适用性。因此,我们选取了各嵌入类型中表现最优的模型进行对比,即经过微调的 PIE-Llama2 和在 Wiki 数据集上微调的 Llama2。

3.2.1 指令数据选择

我们对 IFT 训练集使用 k-means 聚类,并提取最接近聚类中心的样本以实现数据压缩。我们在 IFT 测试集和 AlpacaEval 上评估指令微调模型的性能,并使用GPT-4 Turbo 进行打分,其中 IFT 测试集采用 GPT-4 Turbo 自身的输出作为基线进行对比。结果表明,指令嵌入可以更有效地替代传统文本嵌入,提升所选指令的多样性。

Image

3.2.2 ICL事例选择

 在本实验中,我们通过计算IFT训练集中每条测试指令的余弦相似性,选择与其最相关的两条指令数据作为示例。我们在 IFT 测试集和 AlpacaEval 上对四个模型进行评估:Vicuna-7B-v1.5、Llama2-7B-chat、Mistral-7B-Instruct-v0.2和LongChat-7B-v1.5-32k。结果表明,指令嵌入能够更有效地选择任务相关的示例,从而显著提升 LLMs 在上下文学习中的表现。

3.2.3 测试集压缩

近年来,一些研究致力于使用更少的样本测试模型,目标是通过选择更平衡的小型基准数据集,使其表现比原始完整基准更加一致。与指令微调的数据选择类似,这一过程同样可以通过聚类实现。在本实验中,我们分别选择10、50和100个测试样本,并比较小型基准与原始 IFT 测试基准在性能估计误差(%)上的差异。按照相关研究的方法,每种设置运行100次实验。结果表明,通过指令嵌入选择更具代表性的测试样本,可以有效减少估计误差,从而提升小型基准的可靠性。

Image

3.2.4 指令集任务关联性分析

我们通过指令嵌入分析不同开源数据集之间指令任务的相关程度。结果表明指令嵌入能够有效区分数学任务(如GSM8k、MATH)和代码任务(如MBPP)。数学任务数据集之间的相关性显著高于数学任务与代码任务数据集之间的相关性。此外,更大且更通用的指令数据集与其他数据集的相关性更为显著。

Image
Image

本项工作提出了指令嵌入的概念,其核心在于识别任务类别,而非传统的句子级语义分析。同时,我们发布了公开可用的 IEB 数据集,用于训练和评估指令嵌入。为确保指令嵌入更聚焦于任务特性,我们提出了一种基于提示的方法,可用于无监督和监督微调场景。在两个基本评估任务和四个下游任务中的实验表明,指令嵌入在指令相关任务中表现更优。指令嵌入的引入,以及 IEB 数据集和 PIE 方法的开发,为大型语言模型的指令相关任务提供了重要支持。

论文地址:https://www.arxiv.org/abs/2409.19680

Image

李易为

现博士就读于北京理工大学,小红书社区搜索组实习生。在 NeurIPS、ICLR、ACL、NAACL、AAAI 等机器学习、自然语言处理领域顶级会议上发表数篇一作论文,主要研究方向为大语言模型、开放域对话生成等。

施家宜

小红书交易搜索组实习生。在 NeurIPS 发表两篇论文,曾获 DSTC11 Track 4 第二名。主要研究方向为大语言模型指令微调。

冯少雄

负责小红书社区搜索精排LTR和满意度。在 ICLR、NeurIPS、AAAI、ACL、EMNLP 等机器学习、自然语言处理领域顶级会议上发表数篇论文。

Image

小红书社区搜索算法工程师

(全职 / 实习) 

岗位职责: 

1、对小红书搜索效果进行优化,包括搜索算法和策略的调研、设计、开发、评估等环节,提升用户体验; 

2、发现并解决搜索场景中在查询分析、意图识别、向量召回、排序模型、去重等方向的问题; 

3、解决小红书搜索实际问题,更好地满足用户的搜索需求; 

4、跟进业内搜索相关模型和算法的前沿进展,并在实际业务中进行合理应用。 

任职资格: 

1、本科及以上学历,计算机相关专业背景; 

2、有搜索、推荐、广告、图像识别等相关背景优先; 

3、熟悉机器学习、NLP、数据挖掘、知识工程的经典算法,并能在业务中灵活解决实际问题; 

4、在国际顶级会议(KDD、SIGIR、WSDM、ICLR、NeurIPS、ICML、ACL、EMNLP 等)以第一作者发表过高水平论文者、知名数据挖掘比赛(例如 KDD Cup 等)中取得领先名次者优先;

5、积极向上,踏实勤奋,自我驱动,善于沟通,解决问题优先。 

欢迎感兴趣的同学发送简历至 [email protected]

并抄送至 

[email protected]

[email protected]

Image
Image

往期精彩内容指路 

小红书MySQL数据一致性校验能力探索与实践

小红书向量检索团队获得CIKM 2024最佳应用研究论文奖!

Apache Pulsar在小红书在线场景下的探索与实践

添加小助手,了解更多内容

微信号 / REDtech01

Image