NuExtract:结构化提取的基础模型,比GPT-4o还强!

论文:NuExtract: A Foundation Model for Structured Extraction

📖阅读时长:19分钟

🕙发布时间:2025-02-09

近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企
公众号【柏企科技说】【柏企阅文

NuExtract是一个轻量级的text-to-JSON大语言模型(LLM),它能从文本中提取任意复杂的信息,并将其转换为结构化数据。该模型可直接用于零样本设置,也能通过微调解决特定的提取问题。这些模型可在HuggingFace上获取。

结构化提取

结构化提取旨在从文档中提取各类信息,如实体、数量、日期等,并识别它们之间潜在的层次关系。随后,提取的信息会以树状结构进行组织,这种树状结构通常遵循特定模板(也叫模式),以便轻松解析,用于填充数据库或直接执行自动操作。

结构化提取示例

NuExtract创建过程。

模板/模式表示

模式由一个空JSON表示。每个数组都填充有一个元素模板,空字符串代表待提取的字段。由于对支持其他JSON类型兴趣不大(数字通常也可作为字符串返回),所以只有字符串会被输出。采用这种模板格式,正是因为其简单性。而且,这种模板格式不允许包含字段描述,因为示例被认为比描述更具参考价值。

数据集创建

我们使用了C4数据集中的30万段英文文本,C4数据集是一个规模庞大且领域多样的通用数据集,旨在从大多数文本中挖掘出有价值的提取内容。为了注释这些文本,首先会让大语言模型根据每段文本生成一个模板。

!!!开始上下文!!!
*<text-to-annotate>* *<text-to-annotate>*</text-to-annotate>
!!!结束上下文!!!

目标:生成信息提取数据集。

输入:文本文档 + 注释说明。

输出:1个JSON对象(模式)。

图式:描述要提取的信息。

每个字段应:

  1. 是一个清晰简洁的名称,用于表示提取的数据。
  2. 仅允许字符串类型作为值(可以是字符串数组、包含字符串值的对象,或者是包含字符串值对象的数组等)。
  3. 不允许有布尔值、整数、枚举等类型。

模式可以聚焦于上下文文档的部分内容,也可以涵盖整个文档。

约束:提取的信息在主题上应保持连贯,并形成结构良好的JSON模式,各字段间关系明确。

*<few-shot examples>* *<few-shot examples>*</few-shot>

一旦模板准备就绪,就可以用大语言模型依据每个模板提取信息。对于一半的示例,会从全文提取信息;另一半则会删除部分文本(但保留原始模板)。删除部分文本会使输出产生空字段,这能让模型明白,在信息缺失时返回空字符串是可行的。这种负采样方式是应对模型幻觉问题的一种手段。

!!!开始上下文!!!
*<text-to-annotate>* *<text-to-annotate>*</text-to-annotate>
!!!结束上下文!!!

目标:从与给定模式对应的文本中提取字符串。

输入:文本文档 + 模式。

输出:1个JSON对象

图式:描述要提取的信息。

  1. 仅允许字符串类型作为值(可以是字符串数组、包含字符串值的对象,或者是包含字符串值对象的数组等)。
  2. 不允许有布尔值、整数、枚举等类型。
  3. 模式可以聚焦于上下文文档的部分内容,也可以涵盖整个文档。

输出:

  1. 输出应严格遵循模式。
  2. 输出应符合模式要求,并包含从上下文文档中提取的信息。
  3. 提取的字符串应与上下文文档中的完全一致,不允许改写。
  4. 如果上下文中不存在相关信息,空字符串返回“”,空数组返回[]。若对象列表为空,则返回[]。
  5. 仅以JSON格式返回提取的信息,请勿输出其他内容。

要提取的信息:

*<schema>* *<schema>*</schema>

这个提示与Llama 3 70B模型配合使用,对30万段文本进行注释。未遵循模板的示例,以及在文本中未找到提取值的示例都会被筛选掉,最终得到5万个注释示例。

基本模型

编码器 - 解码器架构可能是这项任务的理想选择。然而,这类模型的训练程度不及近期的生成式大语言模型。所以,我们选用了纯解码器大语言模型。NuExtract使用Phi-3-mini(38亿参数),NuExtract-large使用Phi-3-Small(70亿参数),NuExtract-tiny使用Qwen1.5–0.5B(5亿参数)。这些基础模型都在数据集上进行了微调。

评价

为评估NuExtract模型在结构化提取任务中的表现,我们创建了一个基准测试。具体做法是挑选诸如解析简历这类“问题”,为每个问题创建模板,查找原始文本并手动提取信息。

此外,还制定了评估NuExtract模型性能的指标。我们采用树匹配方法对齐提取的值,通过精确匹配计算相应值之间的相似度。然后,利用平均叶相似度得出一个介于0(完全不同)到1(完全匹配)之间的度量值。

NuExtract模型与零样本设置中流行的通用LLM的比较

  • NuExtract-tiny性能优于GPT-3.5,且模型大小至少小100倍。
  • NuExtract性能优于Llama3–70B,模型大小小35倍。
  • NuExtract-large达到GPT-4o的水平,模型大小至少小100倍。

NuExtract模型与化学提取问题的流行通用LLM的比较

对化学问题进行微调后,NuExtract模型的性能显著提升。

  • NuExtract-tiny尽管只有5亿参数,但微调后性能超越了GPT-4o。
  • NuExtract和NuExtract-large在微调后表现卓越。

由此可见,针对结构化提取问题微调小型语言模型,能带来显著优势。

NuExtract 1.5

NuExtract 1.5是用于结构化提取的基础模型新版本。它支持多语言,能处理任意长度的文档,在英语任务上,模型大小比GPT-4o小500倍的同时,性能还优于GPT-4o。该模型也可在HuggingFace上获取。

数据集创建

训练数据集的原始文档来自C4数据集,其中50%为英文文档,50%为其他语言文档(主要包括法语、德语、西班牙语、意大利语和葡萄牙语)。与原始NuExtract相比,为使NuExtract 1.5能更好地处理长文档,数据集中纳入了更多长文档。

一半的文档,无论其原本语言是什么,都使用英文模板;另一半则使用与文档相同的语言模板。这便于用户在处理多种语言文档时,创建统一的英文模板。后续,使用与原始NuExtract相同的自动注释流程。

无限语境

为解决长序列的内存问题,NuExtract经过训练,能够在获取先前信息的同时从文档中提取信息。为赋予NuExtract 1.5这种能力,我们在数据集中添加了新示例,并提供先前信息,例如:继续提取的示例。

有了这些示例,模型需要学会合并新旧信息。这一合并过程并不简单,有时还会遇到冲突信息。在这种情况下,由于新信息更具相关性,会覆盖原有的温度值。

这种“延续”能力,类似于递归神经网络,通过滑动上下文窗口处理文本时,迭代地重新注入当前信息状态,从而实现对任意长文档的处理。

训练

我们使用Phi-3.5 mini(38亿参数)在数据集上进行训练,得到NuExtract 1.5。也曾尝试用5亿参数的模型在该数据集上训练,但发现模型太小,无法实现多语言支持和延续能力。因此,Qwen 2.5 0.5B仅在英文文档上进行训练,且未使用延续示例。

评价

英语表现

  • 零样本结果:在结构化提取基准测试中,NuExtract 1.5的零样本性能显著优于原始NuExtract,且略微超过GPT-4o。

  • 少样本结果:通过少样本学习(NuExtract进行微调,GPT-4o进行上下文学习),所有模型性能都大幅提升。GPT-4o的表现略优于NuExtract 1.5,而NuExtract 1.5明显优于NuExtract 1.5 tiny,这意味着更大的NuExtract模型或许能超越GPT-4o。
多语种表现

在结构化提取基准测试的多语言零样本测试中,NuExtract 1.5相比原始NuExtract有显著进步,但仍不及GPT-4o。模型大小可能是影响多语言性能的关键因素。

长文档性能

  • 8k - 10k令牌文档:NuExtract 1.5在8k - 10k令牌范围的文档处理上优于GPT-4o,这表明它能有效处理长上下文。同时,NuExtract 1.5明显优于NuExtract 1.5 tiny。

  • 10k - 20k令牌文档:使用10k令牌滑动窗口时,NuExtract 1.5持续优于GPT-4o,证实了其在长文档处理上的强大性能以及延续策略的有效性。

  • 提取窗口大小影响:随着提取窗口变小,NuExtract 1.5的性能会平稳下降。GPT-4o需要2k令牌窗口才能超越NuExtract 1.5。较小的窗口能显著降低内存使用。虽然延续过程并不完美,但它能实现对超出GPU内存容量文档的处理。

## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!

本文由mdnice多平台发布


柏企科技圈
23 声望5 粉丝