YAYI-UIE

YAYI-UIE

多领域信息抽取统一模型

YAYI-UIE是一个信息抽取统一大模型,基于百万级高质量数据训练而成。该模型支持命名实体识别、关系抽取和事件抽取等任务,涵盖通用、安全、金融、生物、医疗等多个领域。YAYI-UIE在多个中英文数据集上展现出优秀的零样本性能,为信息抽取研究和应用提供了有力工具。作为开源项目,YAYI-UIE促进了中文预训练大模型社区的发展,推动了开放人工智能生态系统的建设。

YAYI-UIE信息抽取大模型指令微调开源Github开源项目
<div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/111b2551-f881-4597-b73f-8f5a22e7fd68.png" alt="YaYi" style="width: 30%; display: block; margin: auto;"> <br>

代码许可 数据许可 模型许可

[📖说明文档] [🤗HF仓库] [🔗网页端]

中文 | English

</div>

更新

[2024.03.28] 所有模型和数据已上传至魔搭社区。

介绍

雅意信息抽取统一大模型(YAYI-UIE)在百万级人工构造的高质量信息抽取数据上进行指令微调,统一训练信息抽取任务包括命名实体识别(NER)、关系抽取(RE)和事件抽取(EE),实现通用、安全、金融、生物、医疗、商业、个人、车辆、电影、工业、餐厅、科学等场景下的结构化抽取。

通过开源雅意UIE大模型,我们希望为促进中文预训练大模型开源社区的发展贡献一份力量,与每一位合作伙伴共同构建雅意大模型生态。欢迎阅读我们的技术报告🔥YAYI-UIE: A Chat-Enhanced Instruction Tuning Framework for Universal Information Extraction,了解更多技术细节。

指令

下载地址

名称🤗 HF模型标识下载地址魔搭模型标识下载地址
YAYI-UIEwenge-research/yayi-uie模型下载wenge-research/yayi-uie模型下载
YAYI-UIE 数据wenge-research/yayi_uie_sft_data数据集下载wenge-research/yayi_uie_sft_data数据集下载

训练数据

百万级语料中文占54%,英文占46%;数据集涵盖12个领域,包括金融、社会、生物、商业、工业制造、化学、车辆、科学、疾病医疗、个人生活、安全和通用。覆盖数百个场景。

  • NER:中文覆盖28个实体类型,包括人物、地缘政治、组织、身体部位、药物等;英文覆盖130个实体类型,包括动物、武器、会议、书籍等。
  • RE:中文覆盖232种关系,包括买资、增持、重组、国籍、别名、亲属、入股、转让、导致、发生地点、制造商等;英文覆盖236种关系,包括创立者、总部所在州或省、雇员、职业、创作者等。
  • EE:中文覆盖84种事件类型,包括中标、高管变动、产品行为-发布、公司上市等,以及203种论元;英文覆盖45种事件类型,包括出生、示威、会面、组织解散、离婚等,以及62种论元。

数据分布

运行方式

安装环境

  1. 将本仓库内容下载到本地/远程服务器
git clone https://github.com/wenge-research/yayi-uie.git cd yayi-uie
  1. 创建conda环境
conda create --name uie python=3.8 conda activate uie
  1. 安装环境
pip install -r requirements.txt

建议 torchtransformers 的版本不低于推荐版本。

模型推理

模型已在我们的 Huggingface 模型仓库 开源,欢迎下载使用。以下是一个简单调用 YAYI-UIE 进行下游任务推理的示例代码,可在单张 A100/A800 等GPU上运行,使用bf16精度推理时约占用 33GB 显存:

>>> import torch >>> from transformers import AutoModelForCausalLM, AutoTokenizer >>> from transformers.generation.utils import GenerationConfig >>> tokenizer = AutoTokenizer.from_pretrained("wenge-research/yayi-uie", use_fast=False, trust_remote_code=True) >>> model = AutoModelForCausalLM.from_pretrained("wenge-research/yayi-uie", device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True) >>> generation_config = GenerationConfig.from_pretrained("wenge-research/yayi-uie") >>> prompt = "文本:氧化锆陶瓷以其卓越的物理和化学特性在多个行业中发挥着关键作用。这种材料因其高强度、高硬度和优异的耐磨性,广泛应用于医疗器械、切削工具、磨具以及高端珠宝制品。在制造这种高性能陶瓷时,必须遵循严格的制造标准,以确保其最终性能。这些标准涵盖了从原材料选择到成品加工的全过程,保障产品的一致性和可靠性。氧化锆的制造过程通常包括粉末合成、成型、烧结和后处理等步骤。原材料通常是高纯度的氧化锆粉末,通过精确控制的烧结工艺,这些粉末被转化成具有特定微观结构的坚硬陶瓷。这种独特的微观结构赋予氧化锆陶瓷其显著的抗断裂韧性和耐腐蚀性。此外,氧化锆陶瓷的热膨胀系数与铁类似,使其在高温应用中展现出良好的热稳定性。因此,氧化锆陶瓷不仅在工业领域,也在日常生活中的应用日益增多,成为现代材料科学中的一个重要分支。\n抽取文本中可能存在的实体,并以json{制造品名称/制造过程/制造材料/工艺参数/应用/生物医学/工程特性:[实体]}格式输出。" >>> # "<reserved_13>" is a reserved token for human, "<reserved_14>" is a reserved token for assistant >>> prompt = "<reserved_13>" + prompt + "<reserved_14>" >>> inputs = tokenizer(prompt, return_tensors="pt").to(model.device) >>> response = model.generate(**inputs, max_new_tokens=512, temperature=0) >>> print(tokenizer.decode(response[0],skip_special_tokens=True))

指令样例 注:

  • 指令前可加入具体任务类型,用中括号【】表示(可加可不加)
  • 为了让模型能抽取更全面的信息,尽量在指令中加入细粒度的提示,比如"会见地点"、"会议地点"等,而不是统一为"地点"。
  • 尽量将输入文本放在前面,指令放在后面。
  1. 实体抽取任务
文本:xx
【实体抽取】抽取文本中可能存在的实体,并以json{人物/机构/地点:[实体]}格式输出。
  1. 关系抽取任务
文本:xx
【关系抽取】已知关系列表是[注资,拥有,纠纷,自己,增持,重组,买资,签约,持股,交易]。根据关系列表抽取关系三元组,按照json[{'relation':'', 'head':'', 'tail':''}, ]的格式输出。
文本:xx
抽取文本中可能存在的关系,并以json[{'关系':'会见/出席', '头实体':'', '尾实体':''}, ]格式输出。
  1. 事件抽取任务
文本:xx
已知论元角色列表是[时间,地点,会见主体,会见对象],请根据论元角色列表从给定的输入中抽取可能的论元,以json{角色:论元}格式输出。

模型零样本评测结果

  1. NER任务

AI、Literature、Music、Politics、Science为英文数据集,boson、clue、weibo为中文数据集

模型AILiteratureMusicPoliticsScience英文平均bosonclueweibo中文平均
davinci2.979.8713.8318.4210.0411.03---31.09
ChatGPT 3.554.454.0761.2459.126358.3738.5325.4429.3
UIE31.1438.9733.9146.2841.5638.3740.6434.9140.7938.78
USM28.185644.9336.144.0941.86----
InstructUIE4947.2153.1648.1549.349.36----
KnowLM13.7620.1814.7833.869.1918.3525.964.4425.218.53
YAYI-UIE52.445.9951.251.8250.5350.3949.2536.4636.7840.83
  1. RE任务

FewRe、Wiki-ZSL为英文数据集,SKE 2020、COAE2016、IPRE为中文数据集

模型FewRelWiki-ZSL英文平均SKE 2020COAE2016IPRE中文平均
ChatGPT 3.59.9613.1411.55 24.4719.316.7316.84
ZETT(T5-small)30.5331.7431.14----
ZETT(T5-base)33.7131.1732.44----
InstructUIE39.5535.237.38----
KnowLM17.4615.3316.400.46.569.755.57
YAYI-UIE36.0941.0738.5870.819.9722.9737.91
  1. EE任务

commodity news为英文数据集,FewFC,ccf_law为中文数据集

EET(事件类型判别)

模型commodity newsFewFCccf_law中文平均
ChatGPT 3.51.4116.1508.08
UIE-50.232.1626.20
InstructUIE23.26---
YAYI-UIE12.4581.2812.8747.08

EEA(事件论元抽取)

模型commodity newsFewFCccf_law中文平均
ChatGPT 3.58.644.444.5744.49
UIE-43.0260.8551.94
InstructUIE21.78---
YAYI-UIE19.7463.0659.4261.24

中文零样本推理性能

相关协议

局限性

基于当前数据和基础模型训练得到的SFT模型,在效果上仍存在以下问题:

  1. 抽取的信息可能会产生违背事实的错误回答。
  2. 对于具备危害性的指令无法很好的鉴别,可能会产生危害性言论。
  3. 在一些涉及段落级长文本的场景下模型的抽取能力仍有待提高。

免责声明

基于以上模型局限性,我们要求开发者仅将我们开源的代码、数据、模型及后续用此项目生成的衍生物用于研究目的,不得用于商业用途,以及其他会对社会带来危害的用途。请谨慎鉴别和使用雅意大模型生成的内容,请勿将生成的有害内容传播至互联网。若产生不良后果,由传播者自负。 本项目仅可应用于研究目的,项目开发者不承担任何因使用本项目(包含但不限于数据、模型、代码等)导致的危害或损失。详细请参考免责声明。

开源协议

本项目中的代码和数据依照 Apache-2.0 协议开源,社区使用YAYI UIE模型或其衍生品请遵循Baichuan2的社区协议和商用协议。

更新日志

  • [2023/12/15] YAYI-UIE大模型正式对外发布并开源。

致谢

引用

如果您在您的工作中使用了我们的模型,可以引用我们的论文:

@article{YAYI-UIE,
  author    = {Xinglin Xiao, Yijie Wang, Nan Xu, Yuqi Wang, Hanxuan Yang, Minzheng Wang, Yin Luo, Lei Wang, Wenji Mao, Dajun Zeng}},
  title     = {YAYI-UIE: A Chat-Enhanced Instruction Tuning Framework for Universal Information Extraction},
  journal   = {arXiv preprint arXiv:2312.15548},
  url       = {https://arxiv.org/abs/2312.15548},
  year      = {2023}
}

Star History

Star History Chart

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多