GliNER multi-task: Generalist Lightweight Model for Various Information Extraction Tasks
GliNER 多任务: 适用于各种信息提取任务的通用轻量级模型
paper: https://arxiv.org/abs/2406.12925
github: https://github.com/urchade/GLiNER
1.背景动机
介绍IE新框架,transformer/bert/gpt:
近年来,Transformer架构,尤其是BERT的引入,标志着语言理解领域取得了突破性进展。BERT 能够从两个方向(从左到右和从右到左)理解上下文,极大地提高了准确性,尤其是在命名实体识别(NER)、关系提取等任务以及其他 IE 任务中。继 BERT 之后,GPT-3 和更新版本(生成预训练Transformer)等模型进一步推动了这一领域的发展。这些模型规模庞大,能够生成连贯且与上下文相关的文本,为信息获取开辟了新的可能性,使系统能够处理更复杂、更细微的信息提取任务,并适应用户需求。
生成式的缺陷:
生成式方法有其自身的局限性。
- 首先,它们的计算效率不高,即使文本中已经有了输出,也需要生成。
- 此外,它们往往无法提供结构化的输出,这可能会导致错误并降低可解释性。
2.Model
GliNER使用的预训练模型:
GLiNER 使用的是 DeBERTA v3 large,它对原始 DeBERTA 模型进行了更有效的维护改进,用替换标记检测(RTD)取代了掩码语言建模(MLM)。
模型架构流程:
- 经过deberta后,将token输入lstm:通过 DeBERTA后,GLiNER提取每个label和token本身的嵌入。此外,token嵌入还会通过双向 LSTM 模型。这种方法加快了模型的训练速度,因此在数据量较少的情况下很有帮助;此外,它还能限制negative tokenization和位置编码人工痕迹的影响。
- 获取embedding后,送入评分模块:在获得label和token的表征后,我们会将其传递给一个评分模块,该模块会预测token在实体中的位置(开始、内部、结束)及其类别。
首先,每个token表征和label表征都被投影到一个高维空间中。让
T
∈
R
B
×
L
×
H
\mathbf{T}\in\mathbb{R}^{B\times L\times H}
T∈RB×L×H 成为标记表示矩阵,其中
B
B
B 是批量大小,
L
L
L 是序列长度,
H
H
H 是隐藏大小。让
L
i
n
R
B
×
C
×
H
\mathbf{L}in\mathbb{R}^{B\times C\times H}
LinRB×C×H 成为label表示矩阵,其中
C
C
C 是类的数量。投影定义如下
T
′
=
Linear
T
(
T
)
∈
R
B
×
L
×
2
H
L
′
=
Linear
L
(
L
)
∈
R
B
×
C
×
2
H
(1)
\mathbf{T}^{\prime} =\text{Linear}_{T}(\mathbf{T})\in\mathbb{R}^{B\times L\times 2H} \\ \mathbf{L}^{\prime} =\text{Linear}_{L}(\mathbf{L})\in\mathbb{R}^{B\times C\times 2H} \tag{1}
T′=LinearT(T)∈RB×L×2HL′=LinearL(L)∈RB×C×2H(1)
然后,标记的元素乘法将标记和标签表示串联起来。通过以下方式对维度进行扩展和排列,使其与数据串联一致:
T
′
′
→
T
′
′
′
∈
R
2
×
B
×
L
×
C
×
H
L
′
′
→
L
′
′
′
∈
R
2
×
B
×
L
×
C
×
H
(2)
\mathbf{T}^{''} \rightarrow\mathbf{T}^{'''}\in\mathbb{R}^{2\times B \times L\times C\times H} \\ \mathbf{L}^{''} \rightarrow\mathbf{L}^{'''}\in\mathbb{R}^{2\times B\times L\times C\times H} \tag{2}
T′′→T′′′∈R2×B×L×C×HL′′→L′′′∈R2×B×L×C×H(2)
沿着最后一个维度串联这些表示:
C
=
cat
(
T
0
′
′
′
,
L
0
′
′
′
,
T
1
′
′
′
⊙
L
1
′
′
′
)
∈
R
B
×
L
×
C
×
3
H
(3)
\mathbf{C}=\text{cat}(\mathbf{T}_{0}^{\prime\prime\prime},\mathbf{L}_{0}^{ \prime\prime\prime},\mathbf{T}_{1}^{\prime\prime\prime}\odot\mathbf{L}_{1}^{ \prime\prime\prime})\in\mathbb{R}^{B\times L\times C\times 3H} \tag{3}
C=cat(T0′′′,L0′′′,T1′′′⊙L1′′′)∈RB×L×C×3H(3)
接下来,将组合表征通过 MLP 得出每个类别的最终分数(起点、终点、分数):
S
=
MLP
(
C
)
∈
R
B
×
L
×
C
×
3
(4)
{S}=\text{MLP}(\mathbf{C})\in\mathbb{R}^{B\times L\times C\times 3} \tag{4}
S=MLP(C)∈RB×L×C×3(4)
为了选择最终的输出跨度集,采用 GLiNER 原始实现中所使用的相同的贪婪解码。使用内部得分的平均值作为跨度得分:
ϕ
(
i
,
j
,
c
)
=
1
j
−
i
+
1
∑
k
=
i
j
ϕ
i
(
k
,
c
)
(5)
\phi(i,j,c)=\frac{1}{j-i+1}\sum_{k=i}^{j}\phi_{i}(k,c) \tag{5}
ϕ(i,j,c)=j−i+11k=i∑jϕi(k,c)(5)
其中,
ϕ
(
i
,
j
,
t
)
\phi(i,j,t)
ϕ(i,j,t) 表示从位置
i
i
i 开始到位置
j
j
j 结束的跨度得分,代表token类别
c
c
c。函数
ϕ
i
(
k
,
c
)
\phi_{i}(k,c)
ϕi(k,c)是位于跨度内
k
k
k位置的token的内部得分,表示该token属于实体类
c
c
c的可能性。通过对跨度上的这些分数求平均值,我们可以得到跨度与token类别
c
c
c匹配程度的度量。
3.任务
该模型会被提示执行以下任务:
命名实体识别 (NER) - 识别文本中的实体,如姓名、组织、日期和其他特定项目并进行分类。
开放式 NER - 根据用户提供的说明对实体进行识别和分类,例如,提取特定公司的所有产品。
关系提取:对文本中实体之间的关系进行检测和分类。
摘要:提取最重要的句子,对输入文本进行摘要,捕捉基本信息。
问题解答:在给出问题的文本中寻找答案。
开放式信息提取 - 根据用户的开放式提示提取文本片段,例如提取产品描述。
4.原文阅读
Abstract
信息提取任务需要准确、高效和可泛化的模型。经典的有监督深度学习方法可以实现所需的性能,但它们需要大型数据集,而且适应不同任务的能力有限。另一方面,大型语言模型(LLM)具有良好的泛化能力,这意味着它们可以根据用户要求适应许多不同的任务。但是,大型语言模型的计算成本很高,而且往往无法生成结构化的输出结果。在本文中,我们将介绍一种新型的 GLiNER 模型,它可以用于各种信息提取任务,同时又是一种小型编码器模型。我们的模型在零镜头 NER 基准上取得了 SoTA 性能,在问题解答、摘要和关系提取任务上取得了领先性能。此外,本文还将介绍使用 GLiNER 模型进行命名实体识别的自学习方法的实验结果。
1 Introduction
介绍信息抽取IE的背景需求:
信息提取(IE)是许多领域的一门重要学科,包括科学、商业、公共管理等等。考虑到信息提取方法应用领域的重要性和影响力,对信息提取模型的要求非常严格。
- 高效:它们既要高效,也就是每次处理更多的非结构化数据所需的计算资源要少。
- 高准确率:高准确性是首要要求,尤其是对于生物医学或商业等学科,因为错误的数据可能会对人造成伤害或导致经济损失。
- 高迁移性:考虑到信息提取任务的多样性以及解决这些任务的环境,信息提取模型应能毫不费力地适应新任务和新领域。
信息提取(IE)方法的历史可以追溯到二十世纪六七十年代人工智能和计算语言学的早期。早期的信息提取系统以规则为基础,依靠人工制作的模式和启发式方法从文本中提取特定类型的信息。这些系统通常比较脆弱,而且只适用于特定领域,需要花费大量精力进行更新和维护。20 世纪 90 年代机器学习的出现带来了重大进步,使人们能够开发出更灵活、更强大的 IE 系统。隐马尔可夫模型(HMMs)和条件随机场(CRFs)等统计方法为实体识别和关系提取提供了更具通用性的方法。
介绍IE新框架,transformer/bert/gpt:
近年来,深度学习的兴起彻底改变了这一领域,基于神经网络的模型在各种 IE 任务中实现了最先进的性能。Transformer架构,尤其是BERT(Transformer双向编码器表征)的引入,标志着语言理解领域取得了突破性进展。BERT 能够从两个方向(从左到右和从右到左)理解上下文,极大地提高了准确性,尤其是在命名实体识别(NER)、关系提取等任务以及其他 IE 任务中。继 BERT 之后,GPT-3 和更新版本(生成预训练转换器)等模型进一步推动了这一领域的发展。这些模型规模庞大,能够生成连贯且与上下文相关的文本,为信息获取开辟了新的可能性,使系统能够处理更复杂、更细微的信息提取任务,并适应用户需求。这些现代方法不仅提高了准确性和效率,还显示出对新领域和新任务更强的适应性,解决了早期技术的许多局限性。
然而,生成式方法有其自身的局限性。
- 首先,它们的计算效率不高,即使文本中已经有了输出,也需要生成。
- 此外,它们往往无法提供结构化的输出,这可能会导致错误并降低可解释性,而可解释性对于生物医学等领域非常重要。
在这项工作中,我们将讨论基于 GLiNER 工作的新方法。它在zero-shot NER 和其他信息提取基准上展示了 SoTA 结果,同时更高效、更可控。
2 Methods
2.1.Models architecture
我们的模型基于 GLiNER 标记分类架构。与最初的工作相比,它对标记而不是跨度进行分类,并能进行长序列提取,这对于长实体提取、摘要、文本清理等任务非常重要。GLiNER 建立在 BERT 等编码器架构之上。在我们的案例中,我们使用的是 DeBERTA v3 large,它对原始 DeBERTA 模型进行了更有效的维护改进,用替换标记检测(RTD)取代了掩码语言建模(MLM)。
GLiNER 模型的主要优势在于,它通过同一编码器模型中的单一前向路径来表示标签和文本。这使得标签和文本之间可以通过transformer的注意机制进行双向信息交换。通过transformer后,我们提取每个标签和标记本身的嵌入。此外,标记嵌入还会通过双向 LSTM 模型。从我们的实验来看,这种方法加快了模型的训练速度,因此在数据量较少的情况下很有帮助;此外,它还能限制负标记化和位置编码人工痕迹的影响。
在获得标记和标签的表征后,我们会将其传递给一个评分模块,该模块会预测标记在实体中的位置(开始、内部、结束)及其类别。
首先,每个标记表征和标签表征都被投影到一个高维空间中。让
T
∈
R
B
×
L
×
H
\mathbf{T}\in\mathbb{R}^{B\times L\times H}
T∈RB×L×H 成为标记表示矩阵,其中
B
B
B 是批量大小,
L
L
L 是序列长度,
H
H
H 是隐藏大小。让
L
i
n
R
B
×
C
×
H
\mathbf{L}in\mathbb{R}^{B\times C\times H}
LinRB×C×H 成为标记表示矩阵,其中
C
C
C 是类的数量。投影定义如下
T
′
=
Linear
T
(
T
)
∈
R
B
×
L
×
2
H
L
′
=
Linear
L
(
L
)
∈
R
B
×
C
×
2
H
(1)
\mathbf{T}^{\prime} =\text{Linear}_{T}(\mathbf{T})\in\mathbb{R}^{B\times L\times 2H} \\ \mathbf{L}^{\prime} =\text{Linear}_{L}(\mathbf{L})\in\mathbb{R}^{B\times C\times 2H} \tag{1}
T′=LinearT(T)∈RB×L×2HL′=LinearL(L)∈RB×C×2H(1)
经过适当的重塑后,我们用标记的元素乘法将标记和标签表示串联起来。
我们通过以下方式对维度进行扩展和排列,使其与数据串联一致:
T
′
′
→
T
′
′
′
∈
R
2
×
B
×
L
×
C
×
H
L
′
′
→
L
′
′
′
∈
R
2
×
B
×
L
×
C
×
H
(2)
\mathbf{T}^{''} \rightarrow\mathbf{T}^{'''}\in\mathbb{R}^{2\times B \times L\times C\times H} \\ \mathbf{L}^{''} \rightarrow\mathbf{L}^{'''}\in\mathbb{R}^{2\times B\times L\times C\times H} \tag{2}
T′′→T′′′∈R2×B×L×C×HL′′→L′′′∈R2×B×L×C×H(2)
我们沿着最后一个维度串联这些表示:
C
=
cat
(
T
0
′
′
′
,
L
0
′
′
′
,
T
1
′
′
′
⊙
L
1
′
′
′
)
∈
R
B
×
L
×
C
×
3
H
(3)
\mathbf{C}=\text{cat}(\mathbf{T}_{0}^{\prime\prime\prime},\mathbf{L}_{0}^{ \prime\prime\prime},\mathbf{T}_{1}^{\prime\prime\prime}\odot\mathbf{L}_{1}^{ \prime\prime\prime})\in\mathbb{R}^{B\times L\times C\times 3H} \tag{3}
C=cat(T0′′′,L0′′′,T1′′′⊙L1′′′)∈RB×L×C×3H(3)
然后,我们将组合表征通过 MLP 得出每个类别的最终分数(起点、终点、分数):
S
=
MLP
(
C
)
∈
R
B
×
L
×
C
×
3
(4)
{S}=\text{MLP}(\mathbf{C})\in\mathbb{R}^{B\times L\times C\times 3} \tag{4}
S=MLP(C)∈RB×L×C×3(4)
为了选择最终的输出跨度集,我们采用了与本工作中深入研究的 GLiNER 原始实现中所使用的相同的贪婪解码。我们使用内部得分的平均值作为跨度得分:
ϕ
(
i
,
j
,
c
)
=
1
j
−
i
+
1
∑
k
=
i
j
ϕ
i
(
k
,
c
)
(5)
\phi(i,j,c)=\frac{1}{j-i+1}\sum_{k=i}^{j}\phi_{i}(k,c) \tag{5}
ϕ(i,j,c)=j−i+11k=i∑jϕi(k,c)(5)
其中,
ϕ
(
i
,
j
,
t
)
\phi(i,j,t)
ϕ(i,j,t) 表示从位置
i
i
i 开始到位置
j
j
j 结束的跨度得分,代表token类别
c
c
c。函数
ϕ
i
(
k
,
c
)
\phi_{i}(k,c)
ϕi(k,c)是位于跨度内
k
k
k位置的标记的内部得分,表示该标记属于实体类
c
c
c的可能性。通过对跨度上的这些分数求平均值,我们可以得到跨度与标记类别
c
c
c匹配程度的度量。
2.2.Data
在这项工作中,我们使用处理英语维基百科文章的 Llama3 8B 模型生成了一个合成数据集。给定一篇随机文章后,该模型会被提示执行以下任务:
命名实体识别 (NER) - 识别文本中的实体,如姓名、组织、日期和其他特定项目并进行分类。
开放式 NER - 根据用户提供的说明对实体进行识别和分类,例如,提取特定公司的所有产品。
关系提取:对文本中实体之间的关系进行检测和分类。
摘要:提取最重要的句子,对输入文本进行摘要,捕捉基本信息。
问题解答:在给出问题的文本中寻找答案。
开放式信息提取 - 根据用户的开放式提示提取文本片段,例如提取产品描述。
此外,对于输出中的开放式 NER、摘要、问题解答和开放式信息提取等任务,要求模型根据文本的上下文为任务生成提示。
对于每项任务,我们都会对 LLM 的输出进行处理,使其与 GLiNER 格式保持一致。每个示例都包含标记化文本和跨度列表,我们将开始和结束标记索引与标签放在一起。在关系提取中,标签表示源实体和关系的连接,而在开放信息提取中,我们选择了 "匹配 "标签。对于问题解答,我们使用 "答案 "标签。
另一个更高质量的数据集用于后期微调。它结合了一半的合成数据集和一半的人工编辑 NER 数据集。
2.3.Models training
模型训练包括两个不同的阶段。首先,我们在一个大型合成数据集上对模型进行了微调。之后,我们在一个高质量的数据集上进行了额外的微调,该数据集由 50% 的命名实体识别(NER)示例和 50% 的其他任务示例组成。
在第一个微调阶段,对模型进行了 120,000 步的训练,批量大小为 8。 编码器的学习率被设置为 1 × 1 0 − 5 1\times 10^{-5} 1×10−5,而模型的其他部分的学习率为 5 × 1 0 − 5 5\times 10^{-5} 5×10−5。编码器和模型的其他部分都使用了 0.01 的权重衰减。我们使用了Adam优化器和 PyTorch 的默认参数。使用的学习率调度器是余弦退火调度器。模型的训练采用了二元交叉熵损失函数,加权方案为正例加权 0.75,负例加权 0.25。在 GLiNER 模型的训练过程中,每个示例仅限于 30 个标签,最大序列长度为 768 个单词。
在随后的训练阶段,对模型进行了进一步微调,编码器的学习率为 5 × 1 0 − 6 5\times 10^{-6} 5×10−6,模型其他部分的学习率为 7 × 1 0 − 6 7\times 10^{-6} 7×10−6 。在这一阶段应用了线性调度器。训练又进行了 1,000 步,批量大小与之前相同。
此外,我们还研究了我们的模型和其他 GLiNER 模型的自我训练能力。我们从领域 NER 基准中自动预注释了一个数据集,并在该数据集上使用与第二训练阶段相同的学习率对模型进行了微调。为了进一步提高模型的性能,我们在损失函数中引入了标签平滑参数,这对模型的最终性能产生了积极影响。
标签平滑是一种正则化技术,用于通过修改目标概率分布来提高分类模型的泛化能力。标签平滑不是将 1 的概率分配给正确的类别,而将 0 的概率分配给所有其他类别,而是将稍低的概率分配给正确的类别,并将剩余的概率分布给其他类别。这种技术有助于防止模型对其预测过于自信,从而减少过度拟合。
对于二元分类,我们按以下方法对目标进行了平滑处理:
targets
←
targets
×
(
1
−
α
)
+
0.5
×
α
(6)
\text{targets}\leftarrow \text{targets}\times(1-\alpha)+0.5\times\alpha \tag{6}
targets←targets×(1−α)+0.5×α(6)
其中,
α
\alpha
α 是标签平滑参数。
2.4.Evaluation
2.4.1 Named Entity Recognition
该模型与其他 GLiNER 类型的模型进行了比较,包括基于跨度的模型和基于标记的模型,如 NuMind-Zero。我们对所有模型都进行了评估,评估采用的是零次搜索的跨领域 NER 基准。我们记录了所有数据集的 Micro-F1 分数以及精确度和召回率。这些数据集涵盖了不同的领域,包括人工智能、文学、政治、科学、电影和 Restaura 包 natbib 警告;第 4 页上的引文 "gao-etal-2019-fewrel "在 nts 上未定义。过滤预测实体的阈值为 0.5,所有评估均在跨度级别上进行。结果见表 2 和结果与讨论部分。
2.4.2 Question-Answering
我们在 SQuAD2.0 数据集测试子集(Rajpurkar 等人,2016 年,2018 年)上使用 SQuAD 2.0 版的官方评估脚本对问题解答任务进行了评估,该脚本可计算预测值与实际值之间的精确匹配度和 F1 分数。我们将 GLiNER 多任务与能够解决此类任务的模型进行了比较,见表 1。GLiNER 多任务过滤预测实体的阈值、UTC 集合设置为 0.5,输入采用简单聚合策略:“{问题}@{语境}”。使用默认设置和以下输入格式对 Flan-T5 模型进行了测试:问题问题:{question}@nRules":答案只能使用上下文中的文本。绝对不生成上下文中未提供的文本序列,包括上下文中未出现的标点符号:{上下文}"。Meta-Llama-3-8B-Instruct 采用温度 0.1 和与 Flan-T5 模型相同的聚合策略进行了测试。
2.4.3 Summarization
表 1 中的模型在 CNN Daiymail 数据集的前 1k 个示例上进行了摘要任务测试。对于 GLiNER 多任务和 UTC 收集,我们使用了 0.1 的阈值来过滤预测实体,并使用了以下输入格式:"总结给定文本,突出最重要的信息:“n{context}”。对于所有生成模型,我们都使用了提示:“提示:总结给定文本,突出最重要的信息。nText:{text}”,Meta-Llama-3-8B-Instruct 的温度为 0.1。将预测的字符串与数据集中人类创建的摘要进行比较,并得出 ROUGE-1、ROUGE-2 和 ROUGE-L 分数。计算标准偏差是为了了解数据的分布和变异性,这可以间接指出模型在不同数据上的稳定性。
2.4.4 Relation Extraction
我们还在 FewRel 数据集 "val_wiki "子集的关系提取任务中测试了表 1 中的模型。GLiNER 多任务使用输入格式进行了测试:"识别给定文本中的关系,突出显示相关实体:{文本}“和标签格式:标题<= {relation}”。为了预测UTC 集合的尾部或对象,我们使用了以下输入格式:“根据以下关系:‘{relation}‘和以下源实体:’{head}’'nText:{text}”。对于 Flan-T5 数据集,我们使用了"主题和关系:{head}<= {relation} un Context:{text}"作为输入格式。Meta-Llama-3-8B-Instruct 在评估时使用了以下提示:"作为答案的目标实体,只使用文本中的文字。绝对不要生成文本中没有提供的序列,包括文本中没有出现的标点符号。给出以下关系:‘{relation}‘和’{relation}’,识别目标实体。
2.4.5 Self-learning
在自学习程序单次迭代后,我们在跨域 NER 数据集上测试了几个 GLiNER 模型,观察到大多数模型在大多数数据集上都有改进。我们进行了多次实验,改变了超参数,如用于自学习的数据集、学习率以及损失函数参数(如 alpha 和 gamma)。此外,我们还调整了标签平滑参数,该参数对模型性能有显著影响。最佳结果和最优超参数记录并展示在 "结果与讨论 "部分。
3 Results and Discussion
3.1.Named Entity Recognition Results
在 NER 基准测试中,我们的模型一直优于其他 GLiNER 模型,尤其是在政治和文学等主题方面。不过,它最初在人工智能相关主题上表现不佳。通过自我训练实验,我们成功地大幅提高了它在人工智能数据集上的性能。值得注意的是,其他所有模型都是针对NER的,而我们的模型是在各种任务中训练出来的。这表明,即使是像DeBERTa-large这样相对紧凑的编码器模型(它是所有测试模型的骨干),也能在各种任务中取得有竞争力的性能。这凸显了迁移学习在命名实体识别等特定任务中的潜在优势。
3.2.Question-Answering Results
GLiNER 多任务在问题解答任务中取得了最高成绩(表 3),精确匹配分数为 87.72,但UTC-DeBERTa-large-v2 的 F1 分数更高,为 92.53,而UTC-DeBERTa-large-v2 为 91.99。生成模型的得分相对较低,这凸显了此类任务中模型对输入数据的不稳定性,尤其是随着模型规模的扩大。
3.3.Summarization Results
GLiNER 多任务模型的表现优于列表中的所有模型(表 4),其 ROUGE-1 分数为 0.2484 0.1142,ROUGE-2 分数为 0.0881 0.0892,ROUGE-L 分数为 0.2279 0.1117。
3.4.Relation Extraction Results
在 "关系提取 "任务中,GLiNER 多任务模型以 82.5 的精确匹配和 87.36 的 F1 分数取得了令人印象深刻的成绩。由于否定是从一批属于其他任务的示例中抽取的,因此针对硬否定的更好的抽样策略应该能取得更好的结果。在未来的工作中,我们将探索这一方向以及 GLiNER 模型的端到端关系提取能力。
3.5.Self-training Results
总体而言,在跨领域 NER 基准测试中,F1 分数平均提高了 2%(表 6)。更有趣的是,在初始模型表现相对较差的数据集上,我们观察到了重大改进。例如,我们的多任务 GLiNER 模型在 CrossNER 人工智能数据集上的初始 F1 分数为 0.5105,而经过自学习程序后,分数达到了 0.6325。在模型已经表现出较好性能(F1 分数超过 0.6)的情况下,我们观察到性能没有差异或略有下降。
3.6.Discussion
在这项研究中,我们利用功能强大的 DeBERTa v3 编码器模型,在一系列信息提取任务中探索了基于 GLiNER 的标记分类架构。我们的研究结果证明了我们方法的有效性
我们对使用大型语言模型(LLM)(如 Llama3 8B)生成合成数据的研究表明,它具有为 NLP 模型训练创建多样化高质量数据集的潜力。这种方法使我们能够在广泛的任务中训练基于编码器的模型,大大提高了模型的泛化能力。值得注意的是,我们的模型在多个数据集上超越了其教师模型。这表明,用 LLM 开放式生成标签数据,比用固定的类集和用户设定的其他约束条件进行标签生成的结果更好。
我们模型的结构对其性能也起着至关重要的作用。与解码器相比,基于编码器的模型具有多项优势,包括双向关注机制、输出效率和一致性。此外,GLiNER 架构能够在一次前向传递中处理标签和文本,这使其有别于 UTC 等类似方法。与双编码器架构相比,编码器的双向性有利于标签和文本之间的双向通信,从而为标签和标记提供更好的表示。
此外,我们利用我们的模型和其他 GLiNER 模型对自我训练技术进行了探索,结果表明,通过迭代自我学习程序,性能得到了提高。这凸显了自学技术在提高模型性能方面的潜力,尤其是在标注数据有限的情况下,从而强调了自学技术在实际应用中的重要性。
总之,我们的工作证明了利用各种技术(包括合成数据生成、多任务学习和自学习)提高 NLP 模型在一系列信息提取任务中的性能的有效性。这些发现有助于推动人工智能研究的发展,并有望对现实世界的各种应用产生影响。
4 Conclusion
GLiNER 多任务模型在各种信息提取任务(包括命名实体识别 (NER)、关系提取、摘要和问题解答)中表现出很强的通用性。虽然还需要进一步的研究才能充分了解其理解各种提示的能力,但它已经显示出在众多关键应用中的巨大潜力。总之,我们已经证明,即使是在大型、多样化数据集上进行微调的相对较小的编码器模型,也能表现出良好的提示调整能力,并在各种信息提取任务中取得良好的性能。由于 LLM 的推理成本很高,而且容易产生幻觉,无法提供结构性输出,因此在这类任务中使用 LLM 可能效果不佳。有趣的是,GLiNER 多任务模型的表现优于其教师模型 Meta-Llama-3-8B-Instruct,凸显了其卓越的性能。这凸显了合成数据生成的有效性和类似编码器模型的鲁棒性。GLiNER 的架构提供了更强的可扩展性、对输出的更大控制以及更好的互操作性。这种方法的成功为今后的研究开辟了几条途径。我们计划继续探索这一方向,尤其是重点研究此类多任务编码器模型的扩展特性。此外,我们的目标是创建更多样、更大型的高质量数据集,以进一步提高模型的性能和泛化能力。