文章目录
题目
Gollie:注释指南改进零样本信息提取
论文地址:https://arxiv.org/abs/2310.03668
摘要
大型语言模型 (LLM) 与指令调优相结合,在泛化到未见过的任务时取得了重大进展。然而,它们在信息提取(IE)方面不太成功,落后于特定任务模型。通常,IE 任务的特点是复杂的注释指南,这些指南描述任务并向人类提供示例。以前利用此类信息的尝试都失败了,即使是最大的模型也是如此,因为它们无法遵循开箱即用的指南。在本文中,我们提出了 GoLLIE(IE 大型语言模型指南),该模型能够通过微调以符合注释指南,从而改进未见过的 IE 任务的零样本结果。综合评估经验表明,GoLLIE 能够泛化并遵循看不见的准则,优于之前零样本信息提取的尝试。消融研究表明,详细的指导方针是获得良好结果的关键。代码、数据和模型将公开。
信息提取(IE)的任务非常具有挑战性。这一挑战在详细的指南中显而易见,其中包含精细的定义和大量的例外情况,人类注释者必须遵循这些指南来执行任务。当前 SoTA 模型的性能在很大程度上取决于人工注释数据的数量,因为该模型从这些示例中学习指导。然而,在新的注释模式中进行测试时,这种性能会显着下降。在 IE 中获得良好结果的常见做法是从头开始在每个新域和模式中手动注释,因为几乎不存在跨应用程序域的传输。不幸的是,这在财务成本和人力方面都是不可行的。
引言
IE 任务需要的信息不仅仅是标签名称,它们还需要注释指南。目前的LLM已经接受过遵循说明的培训,但他们未能遵循开箱即用的注释指南。例如,下图显示了特定领域的零样本命名实体识别的结果。当提示指导方针时,gpt-3.5-turbo 的结果很低,在音乐或政治领域的 F1 分数约为 20。构建一个能够实现高性能零样本信息提取的系统,减少对昂贵的人工注释的依赖,仍然是一个开放的挑战。在这项工作中,我们提出了 GoLLIE(遵循指南的 IE 大型语言模型),这是一个经过微调的LLM,旨在学习如何遵守一小部分众所周知的 IE 任务的指南。综合零样本评估经验表明,GoLLIE 在零样本信息提取方面优于 SoTA。
大型语言模型 (LLM) 在开发可泛化到未见过的任务的系统方面取得了重大进展。使用大量互联网数据训练了LLM,发现给定自然语言任务描述的预训练模型可以在没有明确监督的情况下执行问答、机器翻译或总结等任务。基于这一发现,指令调优(通常称为多任务微调)已成为实现未知任务泛化的主要方法。此过程涉及在大量未标记数据上预训练模型,然后针对各种任务集合对其进行微调,这些任务被表述为文本到文本问题。向模型提供自然语言指令或提示,以识别其应解决的任务。研究已经证明,增加语言模型的参数数量,再加上指令调优数据集的大小和质量的改进,可以增强泛化能力。LLM在各种具有挑战性的任务中表现出了令人印象深刻的零样本泛化能力,包括编码、常识推理和`医学应用等。
在信息提取(IE)领域,最近的共享任务表明,XLM-RoBERTa和 mDEBERTA等仅编码器的语言模型仍然存在最有效的模型。利用 LLM 和自然语言指令进行 IE 的尝试不太成功,因为它们的性能落后于仅编码器模型。在十亿参数 LLM 之前,间接监督方法通过利用从文本蕴涵和问答等任务中学到的知识来改进零样本 IE。实体类型方法,该方法使用 LSTM 将维基百科的标签描述编码为嵌入,然后用于对输入进行评分。利用外部知识的方法在细粒度零样本 NER 上也取得了成功。引入了一种统一的文本到结构生成方法,可以对不同的 IE 任务进行通用建模。提出将 IE 任务转换为语义匹配问题,使他们的方法能够推广到新领域并标记训练期间未见过的本体。将 IE 任务定义为自然语言描述性指令,并在各种 IE 任务中训练了LLM。在对具有看不见的标签本体的任务的评估中,他们的模型优于其他指令调整方法。大多数针对 IE 的指令调整尝试都有一个限制:它们仅考虑提示中的标签名称(例如,“列出所有人员”)。这带来了两大挑战。首先,并非所有数据集都对“人”等标签具有相同的定义(有些数据集不包括虚构人物或代词)。其次,标签名称本身不足以描述复杂或不太常见的标签。虽然有人尝试提示LLM使用指南,但LLM有关任务标签的丰富先验知识阻止了模型遵守这些指南。
方法
输入-输出表示,我们对模型的输入和输出采用了基于 Python 代码的表示。这种方法不仅提供了清晰且人类可读的结构,而且还解决了通常与自然语言指令相关的几个挑战。它能够以统一的格式表示任何信息提取任务。输入可以使用 Python 代码格式化程序(例如 Black)自动标准化。输出结构良好,解析它很简单。此外,当前大多数LLM都在其预训练数据集中包含代码,这表明这些模型已经熟悉这种表示形式。上图显示了该格式的三个主要部分:模式定义、输入文本和输出注释。模式定义形成输入的初始段。本节包含有关表示为 Python 类的标签的信息;指导方针,明确表达为文档字符串;以及以代码注释的形式呈现的代表性注释候选者。类定义的数量对应于数据集中标签的数量。课程很灵活,并且针对每项任务而有所不同。例如,NER 数据集的类仅需要一个属性来指定与该类相对应的文本范围。另一方面,事件参数提取 (EAE) 或槽位填充 (SF) 等更复杂的任务需要更多类属性来对任务进行分类,例如事件参与者列表。输入文本是输入的第二部分。输入文本在 Python 中表示为字符串变量。输出注释是模型生成的部分。 result=后模型开始生成。注释是表示为模式定义部分上定义的类的实例列表。解析输出很简单;在 Python 中执行生成的代码会生成一个包含结果的列表。这种易于解析输出的方式是我们模型的一个显着优势。附录 E 提供了对该方法效率的进一步详细分析。
指南增强表示这项工作的主要贡献是使用指南作为推理过程的一部分来改进零样本泛化。上图显示了带有和不带有指导方针的类定义示例。不同的数据集通常以多种不同的方式定义指导方针:有些提供标签的复杂定义,但有一些例外和特殊处理,而另一些则仅给出一些有代表性的候选标签。标签的填充物。为了规范化输入格式,我们将标签定义包含为类文档字符串,并将候选者作为主要参数的注释(通常是提及或跨度)。 EAE 或 SF 等复杂任务需要参数或槽的附加定义,为此,我们在每个类参数上添加了一些小定义作为注释。在本文中,我们将没有指南的模型称为 Baseline,将有指南的模型称为 GoLLIE。
训练正则化我们希望确保模型遵循指导方针,而不仅仅是学习识别特定的数据集并在它们上正确执行。为此,我们在训练期间引入各种噪声。这会阻止模型识别特定数据集、回忆特定标签或仅关注标签名称,而不是学习遵循指南中每个标签的实际描述。我们应用了以下正则化。类顺序打乱,对于每个示例,输入类的顺序被随机打乱。这使得模型更难记住整个任务定义。类丢失,我们随机删除一些输入类。通过从输入和输出中消除少数类,我们迫使模型学习仅输出输入中定义的类的实例。这不仅鼓励模型专注于模式定义,而且还最大限度地减少了推理过程中出现幻觉的情况。指南释义,我们生成标签定义的变体,以防止模型轻松记住它们。我们还认为这将使该方法对于定义的不同变化更加稳健。代表性候选者抽样,与我们对释义所做的类似,对于每个输入,我们从每类 10 个固定池中抽样 5 个不同的候选者。类名称屏蔽涉及用占位符(例如 LABEL 1)替换标签类名称(例如 PERSON)。这可以防止模型在训练期间利用标签名称,并强制其参与并理解指南。
实验
评估零样本能力需要将数据分为训练数据集和评估数据集。然而,许多信息提取基准都基于相同的域或共享其模式的一部分。为了确保零样本评估不受类似数据的影响,我们根据数据域划分了一组基准。对于训练,我们主要保留来自新闻和生物医学领域的数据集,而对于评估,我们使用来自不同领域的数据集。这种方法有助于避免在评估过程中引入任何噪音。在评估数据集中,我们包括 CrossNER,这是一个分为多个领域的数据集,为了简单起见,我们将每个领域称为一个单独的数据集:人工智能、文学、音乐、政治和科学。另外,我们将 MIT Movie 和 MIT Restaurant 称为电影和餐厅。表 1 包含有关实验中使用的数据的信息。我们训练模型执行 5 种不同的任务:命名实体识别 (NER)、关系提取 (RE)、事件提取 (EE)、事件参数提取 (EAE) 和槽位填充 (SF)。然而,我们仅在感兴趣的三个主要任务上评估了模型:NER、EE 和 EAE。另外两个任务被添加到训练数据中,以增加多样性并提高模型的灵活性。为了提高模型的质量,对两个数据集进行了少量修改。首先,Ontonotes 5 的训练数据由于自动标注而大幅减少。其次,TACRED 数据集从 RE 转换为 SF,以增加任务的复杂性。这些修改使我们的系统无法与这些任务的现有技术相媲美。然而,我们感兴趣的焦点是零样本评估,因此,其好处比在监督设置上添加 2 个可比点更有趣。在 CASIE 数据集中,我们检测到注释的事件跨度不一致。模型通常注释子字符串而不是整个范围。因此,我们根据预测的事件类别评估所有模型,而不考虑确切的文本跨度。对于参数,我们使用部分匹配。我们使用每个数据集作者发布的指南。当此类指南未公开时,我们会要求人类专家根据开发分会的注释来创建它们。当可用时,从指南中提取代表性候选者,否则,根据词频从列车分割中采样候选者或根据指南手动策划候选者。使用 Vicuna 33B v1.3 自动生成释义。
主干LLM:GoLLIE 是 Code-LLaMA 的微调版本。 然而,在开发过程中考虑了其他骨干 LLM,例如 LLaMA、LLaMA-2或 Falcon,因为我们的方法使用代码来表示输入和输出,Code-LLaMA 模型在初步实验中效果更好。为了进行公平比较,本文开发的基线也基于 Code-LLaMA。本文的所有开发都是使用 Code-LLama 的 7B 参数版本完成的,但是,为了进行缩放分析,我们还训练了 13B 和 34B 参数模型。训练设置:为了训练模型,我们使用 QLoRA。 LoRA 冻结预先训练的模型权重,并将可训练的秩分解矩阵注入到 Transformer 架构的线性层中。在初步实验中,该设置在零样本任务上优于微调整个模型,同时训练速度更快。我们按照 Dettmers 等人的建议将 LoRA 应用于所有线性变压器块层。使用余弦调度器对模型进行 3 个 epoch 的训练,有效批量大小为 32,学习率为 3e-4。我们的训练基础设施是 2 台 NVIDIA A100,每台 80GB。可比系统:我们的主要比较点是 Instruct-UIE,因为它是最接近我们系统的方法,但不使用指南。考虑进行比较的另一个系统是 PromptNER,它建议使用 Chain-of-Though 来提示 GPT-3.5 和 T5 的定义,以执行少样本 NER。与我们不同的是,他们没有对模型进行微调以遵守指南。为了公平比较,我们只考虑了论文中报告的零样本结果。此外,当 Instruct-UIE 和 PromptNER 的结果不可用时,还会添加其他 SoTA 系统进行比较。鉴于我们的系统是为零样本场景设计的,监督实验旨在验证我们的系统不会降低其性能。因此,对于监督场景,我们选择了 SoTA 中与我们最具有可比性的设置的系统。
监督数据集上的结果如上表所示。将 GoLLIE 与基线进行比较,它们都获得非常相似的结果,平均绝对差异为 0.3 个 F1 点。这是预期的,因为基线模型隐式地学习了在微调期间根据数据分布注释数据集的指南。此外,尽管 GoLLIE 微调中引入了噪声以便根据准则进行概括,但性能仍接近基线。与其他系统相比,我们的模型总体上取得了相似的结果。关注我们的模型表现明显不佳的两个数据集 WNUT 和 NCBIDisease,我们发现该任务仍需要具体技术。例如,使用外部知识来检测新兴和稀有实体。在 NCBIDisisease 数据集中,在生物医学领域语料库上预训练的模型取得了最佳结果。利用 Flan-T5,它在生物医学领域任务上非常熟练。然而,这些改进是对我们的建议的补充。
零样本的结果如下表所示。总体而言,与基线相比,在几乎每个数据集上使用指南时,结果都有显着改善,平均绝对差异为 13 个 F1 点。尽管根据领域划分评估基准,但训练标签和评估基准之间总是存在一些重叠。例如,数据集 E3C 和 WikiEvents 与 BC5CDR、ACE05 和 RAMS 等数据集共享其模式的很大一部分。这种现象反映在结果中。GoLLIE 大幅超越了当前的 zeri-shot SoTA 方法 Instruct-UIE和基于 Entailment 的 IE。与 Instruct-UIE 相比,主要区别在于骨干模型、训练数据量以及指南的使用与否。Instruct-UIE 利用 11B FlanT5,它是在 473 个 NLP 数据集上微调的 T5。在数据方面,Instruct-UIE总共利用了来自不同领域的34个IE数据集(将不同的任务计为数据集),我们只利用了12个数据集。与我们的方法相反,他们不使用指南信息。尽管如此,我们的方法表现明显更好,表明指南对结果有重要影响。
PromptNER 还在提示中添加了一些定义信息,以便执行零样本 NER。我们将我们的方法与图中的他们(表示为 GPT-3.5)进行比较。尽管他们的方法也利用了指南,但我们的方法在所有数据集上的表现明显更好,这表明LLM(即使使用 175B 参数)很难遵循指南。他们通过在上下文中添加示例来解决这个问题,但在可比较的设置(T5-XXL)上仍然远远落后。模型扩展:最近的研究表明,增加语言模型的参数数量可以提高泛化能力。更高的参数数量可带来卓越的平均零样本性能。然而,一些数据集和任务可以从更大的LLM中受益匪浅,而另一些则不然。我们认为,某些数据集并没有看到增加 LLM 规模的好处,因为它们的性能受到我们讨论的指南问题的阻碍。虽然一般来说,较大的模型在监督和零样本设置中都能取得更好的结果,但具有 7B 参数主干的 GoLLIE 已经表现出强大的零样本能力。可见标签与不可见标签:零样本数据集中并非所有标签都是不可见的;训练数据集和零样本数据集中的标签之间存在重叠。尽管这些标签可能有非常不同的注释准则,但我们也会报告训练期间未接触到的标签集的结果,以更好地了解 GoLLIE 的泛化能力。下图汇总了零样本场景中已见和未见标签的跨数据集的 F1 分数。所有模型在看不见的标签上表现出稍低的性能。对于基线模型,性能下降更为明显。相比之下,GoLLIE 表现出更好的泛化能力,显示出可见标签和未看见标签之间的 F1 分数差距较小。此外,随着模型参数数量的增加,差距会更小。
消融
我们进行了消融,以查看零样本评估中几个组件的贡献。我们分析提出的不同正则化技术。此外,我们将基线表示为“w/o all”,即删除包括指南在内的所有组件时。除了平均零样本 F1 之外,我们还提供了 GoLLIE 的单边 p 值。类顺序改组、指南释义和类名屏蔽似乎对最终结果没有显着贡献,而类丢失虽然显着,但改进很小。损失仅根据结果标记进行计算,从本质上限制了模型与准则过度拟合的可能性。相反,代表性注释项向模型发出了更强的信号。我们看到指南中的定义和代表性候选者如何互补并有助于相互改进。
我们的目的是更好地理解通过指南提示LLM的效果。我们专注于不同数据集上的特定标签,结果如上表所示。我们的分析涵盖了 GoLLIE 实体标记的成功和不成功案例。对于后者,我们还旨在确定模型未能正确标记这些实体的原因。详细信息在指南中:MEDIA、VULNERABILITYPATCH、TRAILER 和 TASK 等标签本质上是多义的,因此很难仅根据标签名称来确定适当的分类。因此,由于信息不足,基线很难有效地对这些标签下的项目进行分类。相反,GoLLIE 成功地遵循了这些指南,强调了它们的实用性。当注释不符合准则时:对于 MultiNERD 数据集的 TIME 标签,我们发现我们的模型将年份标记为 TIME 实体。根据注释指南,这是正确的。令人惊讶的是,年份没有被标记为数据集中的实体。在这种情况下,GoLLIE 成功地遵循了指南;不幸的是,数据集注释没有。不明确的标签:CoNLL03 和 CrossNER 数据集使用的杂项类别是指未包含在数据集设置的预定义类别中的任何命名实体。这个定义非常模糊,并且是对不适合任何类型的各种元素的包罗万象。预定义类别。类似地,电影数据集的 PLOT 类别用于标记各种元素。例如,电影中的事件(例如谋杀、赛马)、角色(例如吸血鬼、僵尸)和原籍国(例如英国)等。这种缺乏特异性阻碍了标记此类元素的一致规则或指南的制定,这对人类和机器来说都是一个问题。因此,GoLLIE 也无法准确地标记它们。
细粒度实体和粗实体之间的冲突:CrossNER 数据集为每个域中的人名引入了两个标签。例如,在科学领域中,使用标签“SCIENTIST”和“PERSON”。前者用于标记任何不是科学家的人。类似地,文学域包括标签“WRITER”和“PERSON”。该指南帮助 GoLLIE 将实体正确标记为 WRITER。然而,尽管有指导方针,GoLLIE 仍然将个人归类为“人”,即使他们是科学家。从技术上讲,这并不是不正确的,因为根据定义,每个科学家也是一个人。强烈的标签先入之见:在其政治领域集中,CrossNER 包含“政治政党”标签。 GoLLIE 的表现优于基线,再次证明了为模型提供指导的实用性。然而,我们经常发现该模型将政党归类为组织。如表 1 所列,大多数预训练数据集源自新闻领域,其中政党是一个常见实体。然而,没有一个微调数据集包含 POLITICAL PARTY 实体;相反,它们被归类为组织。因此,在推理过程中,该模型始终将政党标记为组织。我们相信这个问题可以通过扩大微调数据集的数量和多样性来解决。总之,我们预计 GoLLIE 将在具有明确定义和明确界限的指导方针的标签上表现良好。另一方面,模糊的标签或非常粗糙的标签带来了挑战。
在这方面,相信 GoLLIE 会受益于学习遵循“始终标记最具体的类”或“在没有其他特定类的情况下注释此类”等指令。我们还预计 GoLLIE 将从扩大预训练数据集的数量和多样性中受益。在本文中,我们介绍了 GoLLIE,这是一种经过专门微调以符合注释指南的LLM,该指南旨在帮助人类注释数据集。全面的零样本评估从经验上证明,注释指南对于LLM来说非常有价值,因为 GoLLIE 成功地利用了它们。与之前的零样本 IE 尝试相比,GoLLIE 实现了更好的零样本结果,后者不利用指南,或使用未针对遵循指南进行微调的模型。GoLLIE 是模型开发方面的重大进步,可以泛化到未见过的 IE 任务。未来,我们计划通过使用更大、更多样化的预训练数据集来增强 GoLLIE。我们还将通过扩展模型可以遵循的指令集来提高模型在模糊和粗糙标签上的性能。
标签:指南,INFORMATION,SHOT,GoLLIE,GOLLIE,标签,模型,样本,数据 From: https://blog.csdn.net/weixin_43961909/article/details/140333855