通用信息抽取大模型PP-UIE开源发布,强化零样本学习与长文本抽取能力,全面适配多场景任务

背景与简介

信息抽取(information extraction)是指,从非结构化或半结构化数据(如自然语言文本)中自动识别、提取并组织出结构化信息。通常包含多个子任务,例如:命名实体识别(NER)、关系抽取(RE)、事件抽取(EE)。由于任务目标的多样性(如实体、关系、事件和情感等)、文本结构的异构性(如片段、三元组、记录等)以及特定应用需求的多变性,传统的信息抽取方法往往针对特定任务或领域进行优化,难以在跨任务或跨领域的情境中迁移和泛化。

随着大语言模型的发展,通用信息抽取大模型逐渐成为主流。此类模型将不同任务和领域统一为端到端的框架,并能够在未见过的数据或领域上展现出较好的性能。然而,当前主流的通用信息抽取大模型通常规模较大,这些模型在本地部署时,面临推理速度较慢、计算资源受限等问题,难以满足实际应用的需求。为应对上述挑战,飞桨团队基于开源模型和高质量数据集,开发了通用信息抽取大模型PP-UIE。PP-UIE借鉴了百度UIE的建模思想,旨在支持中英文信息抽取任务。模型涵盖命名实体识别(NER)、关系抽取(RE)和事件抽取(EE)等任务,提供0.5B、1.5B、7B和14B四个版本,以适应不同场景中的需求。同时模型在零样本预测能力上,在多个数据集(包含 Boson、CLUENER、CCIR2021等常见数据集)相比传统UIE-Base模型的抽取效果大幅度得到提升,具备更好的实用价值。

产品亮点

1. 效果更佳的零样本信息抽取能力PP-UIE具备强零样本学习能力,能快速适应新任务和数据,相比UIE-Base模型在 通用领域、新闻领域等多个数据上效果抽取效果平均提升66% ;相比开源信息抽取大模型YaYi-UIE在F1指标上提高18.3个百分点,相比DeepSeek-R1-Distill-Qwen-14B 在F1指标上提高25.8个百分点。同时PP-UIE具备更好小样本能力,只需要1-10条样本就可以快速提升模型在特定业务上的效果,相比传统的信息抽取模型,大幅降低数据标注成本。

2. 强大的长文档信息抽取能力PP-UIE具备处理长文本能力,能跨越多个段落或句子识别关键信息,形成完整理解。该能力对于大型文档等复杂文本尤为重要,传统的UIE-Base模型只能支持 256 个Token长度的文本抽取,而PP-UIE可以支持8192个Token长度文档的信息抽取,支持的文本长度提升3 2倍

3. 完备的大模型信息抽取定制能力本模型基于PaddleNLP 3.0,提供模块化、可定制化的训练和推理流程,支持灵活调整以满足不同需求。训练效率较LLama-Factory提升1.8倍 同时,在推理阶段,PaddleNLP 3.0还为用户提供了便捷的调用方式,助力用户快速完成模型的部署与实际应用。

欢迎开发者前往开源项目主页直接体验:

https://github.com/PaddlePaddle/PaddleNLP

在这里插入图片描述

亮点一: 效果更佳的零样本信息抽取能力

信息抽取任务中,要获取高质量的标注数据不仅成本高昂,而且耗时长。为了应对这一挑战,PaddleNLP开发的通用信息抽取大模型特别强化了零样本(Zero-shot)学习的能力,旨在通过少量甚至没有标注数据的支持,实现快速冷启动和高效迁移学习。

下表为模型在各数据集的零样本(zero-shot)和小样本(few-shot)能力。

在这里插入图片描述

从表格中可以看出,随着模型规模的增大,无论是零样本(zero-shot)能力还是小样本(few-shot)能力都有显著提升。具体来说:

  • 在零样本(zero-shot)任务中,模型的表现随着规模的增加逐步提高。例如,PP-UIE-0.5B模型在CMeEE数据集中F1分数为0.479,而PP-UIE-14B模型的F1分数则达到了0.556,显示出明显的提升。

抽取内容:"嫌疑人,案发城市,资损金额"

输出:"贺某,孙某,杞县阳堌镇北村,杞县,3700多元,1300元"
  • 在小样本(few-shot)任务中,随着模型参数的增大,F1值也呈现出相应的增长。PP-UIE-14B在CMeEE数据集中少样本条件下的F1达到了0.588,优于其他规模较小的模型。PP-UIE通过在输入数据前增加对应输出格式和输出内容样例,提升模型的输出准确性和格式规范性。

抽取内容:"身体部位"

zero-shot输出:"肾上腺皮质,肾上腺皮质,肾上腺皮质"

few-shot输出:"肾上腺皮质"

综上所述,模型的规模与其在零样本和小样本任务中的表现成正比,增大模型规模能够显著提高其性能。

在这里插入图片描述

PP-UIE系列 zero-shot和Few-Shot样例

同时我们和开源的信息抽取大模型YaYi-13B、DeepSeek-R1-Distill-Qwen-14B进行了效果对比测试,下表为不同数据集领域中zero-shot的效果对比
在这里插入图片描述

综合来看,PP-UIE-0.5B在零样本任务中的整体表现明显超过YaYi-UIE-13B 和DeepSeek-R1-Distill-Qwen-14B,说明PP-UIE-0.5B具有更强的零样本学习能力,且PP-UIE-0.5B可以大幅降低推理部署成本。

亮点二: 长跨度的信息抽取能力

当前,用户面临着前所未有的海量文本数据,其中不乏长篇文章、报告和文档。因此,用户对于长文信息抽取的必要性愈发凸显。在此背景下,PP-UIE系列模型凭借其长文能力,为用户提供长文信息抽取的高效工具。PP-UIE能跨越多个段落或句子识别关键信息,形成对文本内容的完整理解。传统的UIE-Base模型在处理文本时存在局限性,只能支持256个Token长度的文本抽取,这大大限制了其在处理长文本时的应用。而 PP-UIE 则突破了这一限制,可以支持8192个Token长度的文档级别的信息抽取,使得长文档信息抽取能力得到大幅提升。这一改进使得 PP-UIE 在处理复杂文本时更加高效、准确,具有广泛的应用前景。


抽取内容:"嫌疑人,案发城市,资损金额"

输出:"贺某,孙某,杞县阳堌镇北村,杞县,3700多元,1300元"

抽取内容:"时间,公司,财务数据,业务"

输出:"2023年10月18日,摩根士丹利,2023年第三季度,72亿美元,18%,165亿美元,145亿美元,14%,88亿美元,12%,全球财富管理市场,高净值客户市场,北美和欧洲市场,高净值客户,并购和IPO业务,美国联邦储备系统(美联储),债券交易业务,债券交易收入,同比下降了8%,人工智能(AI),数字化金融,科技创新基金,绿色债券,环境、社会和治理(ESG)投资,绿色金融产品,清洁能源项目,可再生能源,碳排放减排技术,高盛集团,瑞士信贷,花旗银行,全球信用卡和零售银行业务,亚洲市场,中国,印度,新兴市场,全球高净值客户,大数据,人工智能"

亮点三: 完备的大模型信息抽取定制能力

对于基础的信息抽取任务,PP-UIE系列模型可以直接上手,高效完成信息抽取。然而,面对更为复杂或特定领域的任务场景,我们强烈推荐利用轻定制功能(即仅需标注少量数据即可对模型进行微调)以进一步提高模型效果。PaddleNLP 为通用信息抽取大模型提供了完整的、可定制化的训练和推理全流程,使用户能够根据具体应用需求灵活调整模型,实现更高效、更精准的信息抽取任务。相较于LLama-Factory,PaddleNLP在训练效率上实现了1.8倍的提升(特别针对7B模型),进一步展示了其在大模型精调上的卓越性能。
在这里插入图片描述

1. 定制自己的训练数据集

步骤1:准备语料并标注

首先,需要准备相应的预标注文本,预标注文本中一行代表一条数据,并保存为txt以下格式

2022年语言与智能技术竞赛由中国中文信息学会和中国计算机学会联合主办,百度公司、中国中文信息学会评测工作委员会和中国计算机学会自然语言处理专委会承办,已连续举办4届,成为全球最热门的中文NLP赛事之一。

我们推荐使用数据标注平台doccano进行数据标注,标注方法的详细介绍请参考doccano数据标注指南。标注完成后,在doccano平台上导出文件。

· doccano数据标注指南:

https://github.com/PaddlePaddle/PaddleNLP/blob/develop/llm/application/doccano.md

步骤2:数据集格式转换

在doccano平台上导出的json格式的文件,通常不能直接用来模型微调。PaddleNLP也打通了从标注到训练的通道,即doccano导出数据后可通过doccano.py脚本轻松将数据转换为输入模型时需要的形式,实现无缝衔接。


    --doccano_file your/data/path \

    --save_dir ./data \

    --splits 0.8 0.2 0 \

    --schema_lang ch

执行以上脚本进行数据转换,执行后会在./data目录下生成训练/验证/测试集文件。

2. 模型微调

推荐使用大模型精调对模型进行微调。只需输入模型、数据集等就可以高效快速地进行微调和模型压缩等任务,可以一键启动多卡训练、混合精度训练、梯度累积、断点重启、日志显示等功能,并且针对训练过程的通用训练配置做了封装,比如:优化器、学习率调度等。

使用下面的命令,使用paddlenlp/PP-UIE-1.5B作为预训练模型进行模型微调,将微调后的模型保存至指定路径中。

如果在GPU环境中使用,可以指定gpus参数进行多卡训练:


# 返回llm目录

python -u  -m paddle.distributed.launch --gpus "0,1" run_finetune.py ./config/qwen/sft_argument.json

sft_argument.json的参考配置如下:


    "model_name_or_path": "paddlenlp/PP-UIE-1.5B",

    "dataset_name_or_path": "./application/information_extraction/data",

    "output_dir": "./checkpoints/ie_ckpts",

    "per_device_train_batch_size": 1,

    "gradient_accumulation_steps": 1,

    "per_device_eval_batch_size": 1,

    "eval_accumulation_steps":8,

    "num_train_epochs": 3,

    "learning_rate": 3e-05,

    "warmup_steps": 30,

    "logging_steps": 1,

    "evaluation_strategy": "epoch",

    "save_strategy": "epoch",

    "src_length": 1024,

    "max_length": 2048,

    "fp16": true,

    "fp16_opt_level": "O2",

    "do_train": true,

    "do_eval": true,

    "disable_tqdm": true,

    "load_best_model_at_end": true,

    "eval_with_do_generation": false,

    "metric_for_best_model": "accuracy",

    "recompute": false,

    "save_total_limit": 1,

    "tensor_parallel_degree": 1,

    "pipeline_parallel_degree": 1,

    "sharding": "stage2",

    "zero_padding": false,

    "unified_checkpoint": true,

    "use_flash_attention": false

  }

3. 定制模型一键推理

PaddleNLP提供了两种可选的方式对模型进行推理:
(1)使用 PaddleNLP的高性能 predictor进行快速推理
  • 内置全环节融合算子策略
  • 支持 Weight Only INT8及 INT4推理,支持权重、激活、Cache KV 进行 INT8、FP8量化的推理
  • 支持动态图推理和静态图推理两种方式

python predict/predictor.py \

    --model_name_or_path paddlenlp/PP-UIE-1.5B \

    --dtype float16 \

    --data_file ./application/information_extraction/data/test.json \

    --output_file ./output.json \

    --src_length  512 \

    --max_length  20 \

    --batch_size  4 \

更多关于predictor.py的配置参数说明,请参考大模型推理教程

https://paddlenlp.readthedocs.io/zh/latest/llm/docs/predict/inference.html**

(2)使用taskflow进行快速推理

paddlenlp.Taskflow支持装载定制模型,通过task_path指定模型权重文件的路径,路径下需要包含训练好的模型权重文件


>>> from paddlenlp import Taskflow

>>> schema = {"竞赛名称": ["主办方", "承办方", "已举办次数"]}

# 设定抽取目标和定制化模型权重路径

>>> my_ie = Taskflow("information_extraction", schema=schema, model='paddlenlp/PP-UIE-1.5B',precision = "bfloat16", task_path='./checkpoints/ie_ckpts')

>>> pprint(my_ie("2022年语言与智能技术竞赛由中国中文信息学会和中国计算机学会联合主办,百度公司、中国中文信息学会评测工作委员会和中国计算机学会自然语言处理专委会承办,已连续举办4届,成为全球最热门的中文NLP赛事之一。"))

[{'竞赛名称': [{'relations': {'主办方': [{'text': '中国中文信息学会,中国计算机学会'}],

                          '已举办次数': [{'text': '4'}],

                          '承办方': [{'text': '百度公司,中国中文信息学会评测工作委员会,中国计算机学会自然语言处理专委会'}]},

            'text': '2022年语言与智能技术竞赛'}]}]

· 飞桨星河社区教程链接

https://aistudio.baidu.com/projectdetail/8796056

· PaddleNLP 链接

https://github.com/PaddlePaddle/PaddleNLP

为了帮助您迅速且深入地了解PP-UIE,并熟练掌握实际操作技巧,百度高级研发工程师为您详细解读从通用信息抽取大模型 PP-UIE在多场景任务下的信息抽取能力,课程视频点击链接入群即可观看;另外,我们还为您开展《PP-UIE信息抽取》实战营,助力实操PP-UIE进行信息抽取,报名即可免费获得项目消耗算力(限时一周),名额有限,先到先得:https://www.wjx.top/vm/mBKC6pb.aspx?udsid=611062

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/982814.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

游戏引擎学习第140天

回顾并为今天的内容做准备 目前代码的进展到了声音混音的部分。昨天我详细解释了声音的处理方式,声音在技术上是一个非常特别的存在,但在游戏中进行声音混音的需求其实相对简单明了,所以今天的任务应该不会太具挑战性。 今天我们会编写一个…

Goby 漏洞安全通告| Ollama /api/tags 未授权访问漏洞(CNVD-2025-04094)

漏洞名称:Ollama /api/tags 未授权访问漏洞(CNVD-2025-04094) English Name:Ollama /api/tags Unauthorized Access Vulnerability (CNVD-2025-04094) CVSS core: 6.5 风险等级: 中风险 漏洞描述: O…

Python----数据分析(Matplotlib五:pyplot的其他函数,Figure的其他函数, GridSpec)

一、pyplot的其他函数 1.1、xlabel 在matplotlib中, plt.xlabel() 函数用于为当前活动的坐标轴(Axes)设置x轴的 标签。当你想要标识x轴代表的数据或单位时,这个函数非常有用。 plt.xlabel(xlabel text) 1.2、ylabel 在matplotl…

构建python3.8的docker镜像,以便解决: dlopen: /lib64/libc.so.6: version `GLIBC_2.28‘

1、简介 在使用pyinstaller打包工具打包应用为二进制的时候,出现了一个“”: dlopen: /lib64/libc.so.6: version GLIBC_2.28”的问题 2、解决方案 2.1、问题原因 由于使用了官方提供的镜像,而官方提供的镜像编译的机器上、glibc的版本过高&#xff…

音频3A测试--AEC(回声消除)测试

一、测试前期准备 一台录制电脑:用于作为近段音源和收集远端处理后的数据; 一台测试设备B:用于测试AEC的设备; 一个高保真音响:用于播放设备B的讲话; 一台播放电脑:用于模拟设备A讲话,和模拟设备B讲话; 一台音频处理器(调音台):用于录制和播放数据; 测试使用转接线若…

MATLAB程序介绍,三维环境下的IMM(交互式多模型),使用CV和CT模型,EKF作为滤波

本文所述的MATLAB代码为三维的交互式多模型(IMM)滤波器,结合了匀速直线运动(CV模型)和匀速圆周运动(CT模型)的状态估计。使用扩展卡尔曼滤波(EKF)来处理状态更新与观测数…

upload-labs详解(1-12)文件上传分析

目录 uploa-labs-main upload-labs-main第一关 前端防御 绕过前端防御 禁用js Burpsuite抓包改包 upload-labs-main第二关 上传测试 错误类型 upload-labs-env upload-labs-env第三关 上传测试 查看源码 解决方法 重命名,上传 upload-labs-env第四关…

第一:goland安装

GOPROXY (会话临时性),长久的可以在配置文件中配置 go env -w GOPROXYhttps://goproxy.cn,direct 长久的,在~/.bashrc文件中添加: export GOPROXYhttps://goproxy.cn,direct ----&#xff0d…

ASP使用EFCore和AutoMapper添加导航属性数据

目录 一、不使用自增主键 (1)下载AutoMapper的nuget包 (2)配置映射规则 (3)配置MappingProfile文件 (4)控制器编写添加控制器 (5)测试 二、使用自增主…

什么是Jmeter? Jmeter工作原理是什么?

第一篇 什么是 JMeter?JMeter 工作原理 1.1 什么是 JMeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源…

汽车零部件厂如何选择最适合的安灯系统解决方案

在现代制造业中,安灯系统作为一种重要的生产管理工具,能够有效提升生产线的异常处理效率,确保生产过程的顺畅进行。对于汽车零部件厂来说,选择一套适合自身生产需求的安灯系统解决方案尤为重要。 一、安灯系统的核心功能 安灯系统…

Ubuntu20.04双系统安装及软件安装(七):Anaconda3

Ubuntu20.04双系统安装及软件安装(七):Anaconda3 打开Anaconda官网,在右侧处填写邮箱(要真实有效!),然后Submit。会出现如图示的Success界面。 进入填写的邮箱,有一封Ana…

为解决局域网IP、DNS切换的Windows BAT脚本

一、背景 为解决公司普通人员需要切换IP、DNS的情况,于是搞了个windows下的bat脚本,可以对有线网络、无线网络进行切换设置。 脚本内容 echo off title 多网络接口IP切换工具:menu cls echo echo 请选择要配置的网络接口: echo echo 1. 有线网络&am…

【OMCI实践】wireshark解析脚本omci.lua文件(独家分享)

引言 omci.lua文件是Wireshark的OMCI协议解析插件的核心组件。它配合BinDecHex.lua,可以解析OMCI协议的数据包,提取出消息类型、受管实体标识、受管实体属性等关键信息,并以人类可读的形式显示在Wireshark的解码视图中,方便研发人…

JPA编程,去重查询ES索引中的字段,对已有数据的去重过滤,而非全部字典数据

一、背景 课程管理界面,查询前,需要把查询元数据给出。 学科列表、学段列表和分类列表,我们把它定义为查询元数据。 一般的业务需求是: 系统维护好多个字典,比如学科、学段等等,相当于属性库。 但是&…

vue3与react、 react hooks

一、Vue3新特性:setup、ref、reactive、computed、watch、watchEffect函数、生命周期钩子、自定义hooks函数、toRef和toRefs、shallowReactive 与 shallowRef、readonly 与 shallowReadonly、toRaw 与 markRaw、customRef、provide 与 inject、Fragment、Teleport、…

LINUX网络基础 [二] - 网络编程套接字,UDP与TCP

目录 前言 一. 端口号的认识 1.1 端口号的作用 二. 初识TCP协议和UDP协议 2.1 TCP协议 TCP的特点 使用场景 2.2 UDP协议 UDP的特点 使用场景 2.3 TCP与UDP的对比 2.4 思考 2.5 总结 三. 网络字节序 3.1 网络字节序的介绍 3.2 网络字节序思考 四. socket接口 …

基于SpringBoot+Vue的校园美食分享平台的设计与实现

获取源码:SpringBootVue的校园美食分享平台: 系统角色上分为管理员以及普通用户进行实现, 管理员主要负责整个网站后台的维护管理,包括首页、学校管理、美食类型管理、餐厅管理、美食分享管理、美食评论管理、系统信息、用户管理、角色管理和…

WPS条件格式:B列的值大于800,并且E列的值大于B列乘以0.4时,这一行的背景标红

一、选择数据区域 选中需要应用条件格式的区域(例如A2:E100 )。 二、打开条件格式 点击“开始”选项卡,选择“条件格式” > “新建规则”。 三、选择规则类型 选择“使用公式确定要设置格式的单元格”。 四、输入公式 在公式框中输入以…

自由学习记录(42)

可能会出现到后面没有教程可以看,走不动,,但还是尝试吧 过程远比想象的要多 那连Live2d的这些脚本怎么控制的都要了解一下 ------------ 文件类型和扩展名 | 编辑手册 | Live2D Manuals & Tutorials 全部导入之后 在这下载SDK Live2D…