Large Language Model Is Not a Good Few-shot Information Extractor,but a Good Reranker for Hard Samples
EMNLP’2023 (Findings)
源码
https://github.com/mayubo2333/LLM-IE.
总览
南洋理工大学S-lab
研究目的:给大模型是否是一个好的少样本信息抽取解决方案?这个问题一个更确切的答案
4个IE任务,九个数据集
结论:与微调的SLM相比,当前的LLM始终表现出较差的性能、更高的延迟和更高的预算要求,不是一个好的解决方案。
在适当的prompt下,LLM可以有效的补充SLM,解决较难的样本
提出:adaptive filter-then-rerank paradigm
SLM as a filter,LLM as a reranker
促使LLMS对SLM确定的一小部分困难样本进行重新排序
成果:提出的范式在9个数据集的4个IE任务上得到平均2.4%的F1提升
论文发现:LLMs demonstrate strong predisposition to false positive predictions on negative samples
大多数负样本都是比较简单的,在较容易的样本上llms的性能可能会崩掉
slm首先检测每个样本的难度,如果是较难样本,将候选标签(按概率排序)传递给llm,llm对其重排
由于结合了专有模型,只对一小部分样本重排,所以减少了调用llms的预算和时延
作者认为他们是第一个成功实现用llms来增强few shot information extraction任务的
相关工作llm for ie,few shot ie with icl
大致分为:
(1)微调
(2)llm当作数据增强器,用于训练slm:
Is GPT-3 a good data annotator?
Exploiting asymmetry for syn-thetic training data generation: Synthie and the case of information extraction.
(3)in context learning 推理
过去研究的不足:没有一个统一和全面的基准,某些研究依赖过于简单的数据集,夸大了llm的有效性
本文使用类似QA4RE(Aligning Instruction Tasks Unlocks Large Language Models as Zero-Shot Relation Extractors)的提示策略,将IE任务转换为多项选择题
在文本中提供候选跨度
数据集:
(1) Named Entity Recognition(NER): CONLL03, OntoNotes ,FewNERD
(2) Relation Extraction (RE): TACRED, TACREV
(3) Event Detection (ED): ACE05,MAVEN, ERE
(4) Event Argument Extraction (EAE):ACE05, ERE , RAMS
构建few-shot数据集:训练集和验证集:K-shot,每个标签类型抽取K个样本
测试集:随机抽取了500个RE任务的句子和250个其他任务的句子。确保每个标签至少有一个相应的样本
评估:对ner,re,ed:micro F1
对EAE:Head-F1借鉴:Code4Struct: Code generation for few-shot event
structure prediction.
五种有监督方法评估slm能力:Vanilla fine tuning,FSLS,KonwPrompt,PAIE,UIE
实验
I为问题,f(s)为test,另一个f为demo
评估了六个llm:gpt3.5,gpt4,instructgpt,codex,llama,vicuna
prompt实例:
与SLM相比,LLM往往难以处理细粒度的数据集
而且慢:
prompt设计的影响:本文发现不同的prompt设计对ie任务影响不大,增加demo影响不大
demo的抽取策略(向量嵌入的选择)可能有影响,但是本文认为unlikely exists a
lottery prompt
结论:llm不是好的few shot ie solver
分析原因:在更多的训练样本和标签下相比slm收益较少,
(1)受限于上下文长度,SLM可以通过有监督的学习从更多的样本中不断学习,随着标注样本的增加,性能差距会越来越大。(2)仅仅从给定的prompt和LLM的test样本来理解众多标签及其关系是困难的
(3)llm不熟悉这种任务格式
as a re-ranker
使用slm作为过滤器输出n个(top N)候选标签及其概率(候选答案),使用llm对其重排序做出最终决定
llm从句子级别(识别句子中的所有实体/事件,关系),转换为确定所提供的单个事件/实体
对于一个较难样本,将提示重新定义为多选题:
(1)使用预定义模板将每个候选标签转换为选项(LLMs are more familiar with MCQ prompts than IE-format prompts)MCQ:multi choice question
(2)减少了标签范围
as a hard sample solver
以上重排思想并没得到很好的效果,但是llm在hard sample上比slm更好,因为llm可以利用其广泛的参数和知识,内在的推理能力
可以将slm的输出标签的最高概率定义为置信度
将置信度分数较低的样本归类为hard sample
可以看到置信度较低的重排序f1分数llm相比slm有提升
LLM的重排阻碍了对简单样本(正确区域)的性能,导致显著降级,特别是对于非常容易样本(最右侧区域)
结果
为什么llm在简单样本上效果不好
(1) hallucination and (2) span boundary mismatch.
普通重排的效果不好有可能是幻觉问题,往往一个正确的东西,给llm让其重新生成或排序,输出后,它反而会输出错误的东西
思考:
不同的提示对in-context learning能力没有显著影响,不能否认存在lottery
prompt ,但是寻找好的提示词需要很长时间和推理算力
llm的能力可能被高估了,公开数据集可能早就被当作训练数据,llm提前看过这些,自然表现就会比较好
度量样本的难度问题
幻觉问题
训练样本更多、标签更细的情况下。SLM的时间和成本效益要高得多
文本数据(短文本)相较于图像数据,没有那么难以获取和标注?
推理性能和花费问题