开源开放 | 开源知识图谱抽取工具发布大模型版DeepKE-LLM

这篇具有很好参考价值的文章主要介绍了开源开放 | 开源知识图谱抽取工具发布大模型版DeepKE-LLM。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DeepKE-LLM链接:

https://github.com/zjunlp/DeepKE/tree/main/example/llm

OpenKG地址:

http://openkg.cn/tool/deepke

Gitee地址:

https://gitee.com/openkg/deepke/tree/main/example/llm

开放许可协议:Apache-2.0 license

贡献者:浙江大学(张宁豫、张锦添、王潇寒、桂鸿浩、姜一诺、陈华钧)


1、背景

DeepKE是一个开源可扩展的知识图谱抽取工具,可实现命名实体识别、关系抽取和属性抽取等抽取任务,并支持低资源少样本、文档篇章和多模态等复杂场景。在大模型时代,我们对DeepKE进行了全面升级并发布大模型版DeepKE-LLM智析抽取大模型)。该版本基于大模型对数据进行智能解析以实现知识抽取,支持多种大模型、遵循指令和自定义知识类型、格式。

开源开放 | 开源知识图谱抽取工具发布大模型版DeepKE-LLM

2、支持多种大模型

DeepKE-LLM目前支持多个大模型如Llama系列模型(Alpaca、Linly等)、ChatGLM等(MOSS、CPM-Bee、Falcon开发测试中将于近期支持),并通过自研的EasyInstruct支持调用OpenAI和Claude的系列模型,还进行了多实例并发请求(BatchPrompt)优化。此外,DeepKE-LLM提供了丰富的提示(Prompt)形式,含文本指令、代码提示(Code Prompt)等,以满足不同场景下知识抽取的需求。

DeepKE-LLM还提供了一个抽取大模型—智析。特别地,把LLaMA-13B与ZhiXi-13B-Diff合并需要约100GB的内存,显存没有要求(由于大模型合并策略导致的内存开销;为了方便使用,我们提供了fp16权重并将在未来优化合并方式);在模型推理阶段如果基于GPU使用ZhiXi-13B需要约26GB显存。我们将在KnowLM(https://github.com/zjunlp/KnowLM)项目中提供完整的大模型预训练、微调框架及多种大模型选择。

2.1 上手DeepKE-LLM

首先执行以下脚本安装python依赖包。

>> conda create -n deepke-llm python=3.9
>> conda activate deepke-llm
>> cd example/llm
>> pip install -r requirements.txt

大模型时代, DeepKE-LLM采用全新的环境依赖

注意!!是example/llm文件夹下的requirements.txt

使用方式一:按照KnowLM项目指引完成环境配置、模型权重获取与恢复后执行以下脚本测试抽取效果:

>> python examples/generate_lora.py --load_8bit --base_model ./zhixi --lora_weights ./lora --run_ie_cases

使用方式二:按照DeepKE-LLM项目指引完成环境配置、模型权重获取与恢复后执行:

>> CUDA_VISIBLE_DEVICES="0" python inference_llama.py \
   --base_model '智析大模型相对路径' \
   --lora_weights '智析大模型Lora权重相对路径' \
   --input_file '输入文件相对路径' \
   --output_file '输出文件相对路径' \
   --load_8bit \

下图对比了通过DeepKE-LLM使用智析大模型和ChatGPT的中英双语知识抽取效果。可以发现其取得了较为准确和完备的抽取效果。此外,我们也发现智析仍会出现一些抽取错误,我们会在未来继续增强底座模型的中英文语义理解能力并引入更多高质量的指令数据以提升模型性能。

开源开放 | 开源知识图谱抽取工具发布大模型版DeepKE-LLM

2.2 上手大模型微调

DeepKE-LLM还支持多种大模型如Llama系列、ChatGLM等的微调。依照文档的说明,下载完毕数据和模型后,可通过下列脚本即可完成抽取大模型的指令微调训练(基于Llama-7B的Lora微调),我们还提供了多机多卡训练脚本供用户使用。

>> CUDA_VISIBLE_DEVICES="0" python finetune_llama.py \
   --base_model '大模型相对路径' \
   --train_path '训练数据相对路径' \
   --output_dir '输出模型相对路径' \
   --batch_size 128 \
   --micro_train_batch_size 4 \
   --num_epochs 3 \
   --learning_rate 1e-4 \
   --cutoff_len 512 \
   --val_set_size 1000 \
   --lora_r 8 \
   --lora_alpha 16 \
   --lora_dropout 0.05 \
   --lora_target_modules '[q_proj,v_proj]' \
   --train_on_inputs \
   --group_by_length \

2.3 使用 GPT、Anthropic系列模型

通过pip install easyinstruct安装EasyInstruct包,根据LLMICL中文档配置好数据集和API Key等参数后,直接运行python run.py文件即可。

其他模型的使用烦请查阅DeepKE-LLM的README文档。

3、抽取大模型训练

智析大模型基于LLaMA(13B)进行了全量预训练,并基于知识图谱转换指令(KG2Instructions,如下图)技术产生的大量指令数据来提高语言模型对于人类抽取指令的理解。

开源开放 | 开源知识图谱抽取工具发布大模型版DeepKE-LLM

为了在保留原来的代码能力和英语能力的前提下,来提升模型对于中文的理解能力,我们并没有对词表进行扩增,而是搜集了中文语料、英文语料和代码语料。其中中文语料来自于百度百科、悟道和中文维基百科;英文语料是从LLaMA原始的英文语料中进行采样,同时扩充了英文维基数据(原始论文中的英文维基数据的最新时间点是2022年8月,我们额外爬取了2022年9月到2023年2月,共六个月的数据)。对上面爬取到的数据集,我们使用了启发式的方法,剔除了数据集中有害的内容和重复的数据。最后我们使用5500K条中文样本、1500K条英文样本、900K条代码样本基于transformers的trainer搭配Deepspeed ZeRO3进行预训练。

接着,我们构建了针对抽取加强的指令微调数据集以提升模型的知识抽取能力,主要采取的是基于知识图谱转换指令(KG2Instructions)技术。我们基于维基百科和WikiData知识图谱,通过远程监督、Schema约束过滤等方法构建大量的指令数据,并通过随机采样人工指令模板的方式提升指令的泛化性。此外,我们还使用大量开源中英文学术抽取数据集构建指令微调数据集。

除了知识抽取能力之外,智析大模型也继承了基座模型的通用指令遵循能力如翻译、理解、代码、创作和推理等能力,详情烦请查阅KnowLM(https://github.com/zjunlp/KnowLM)的文档。

4、小结和展望

新版本的DeepKE-LLM支持使用多个大模型并提供了基于指令遵循的抽取能力。欢迎各位小伙伴提出意见建议(Issue)和支持(PR)。在今后我们还将继续开发和增强抽取大模型,支持更多的功能如大模型定制化知识增强和编辑、大小模型及多智能体(LLMs)协同、具身交互场景知识获取与协作等。

致谢:感谢多年来对DeepKE项目提供支持的同学(部分同学已毕业)、老师和朋友(排名不分先后):余海阳、陶联宽、徐欣、乔硕斐、毛盛宇、黎洲波、李磊、欧翌昕、王鹏、习泽坤、方润楠、陈想、毕祯、陈静、梁孝转、李欣荣、黄睿、翁晓龙、徐子文、张文、郑国轴、张珍茹、谭传奇、陈强、熊飞宇、黄非等。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

点击阅读原文,进入 OpenKG 网站。
文章来源地址https://www.toymoban.com/news/detail-493427.html

到了这里,关于开源开放 | 开源知识图谱抽取工具发布大模型版DeepKE-LLM的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【事件图谱】事件抽取与事件关系抽取

    事件抽取(Event Extraction, EE)是NLP领域中一种经典的信息抽取任务,在商业、军事等领域的情报工作中应用非常广泛。本文简单介绍了事件抽取任务和事件之间的几种关系。并根据现在的研究介绍了几种事件抽取和关系抽取的方法。最后简单盘点了事件抽取的研究的发展趋势。

    2024年02月02日
    浏览(50)
  • 【ChatOCR】OCR+LLM定制化关键信息抽取(附开源大语言模型汇总整理)

    最近百度飞桨团队推出了一款基于文心大模型的通用图像关键信息抽取工具PP-ChatOCR。它结合了OCR文字识别和文心一言大语言模型,可以在多种场景下提取图像中的关键信息,效果非常惊艳。而传统的OCR识别技术的准确率容易受到多种因素影响,例如图像质量、字符布局、字体

    2024年02月05日
    浏览(47)
  • 大语言模型无代码构建知识图谱概述

            2023年3月15日,ChatGPT4.0的横空出世,将人们对大语言模型的关注推到了风口浪尖。由于其在智能问答、翻译以及文本生成等工作任务上的卓越表现,业界一度出现了不再需要发展知识图谱相关技术的观点,知识图谱相关概念严重受挫。无可置疑的是,大语言模型的

    2024年01月21日
    浏览(42)
  • GPT模型与知识图谱的融合之旅

    随着人工智能技术的飞速发展,知识图谱已经成为了连接数据与智能决策的桥梁。它不仅能够为机器学习提供丰富的语义信息,还能够为人类提供更加直观的知识结构。在这一背景下,GPT(Generative Pre-trained Transformer)模型以其卓越的自然语言处理能力,成为了构建知识图谱的

    2024年04月13日
    浏览(34)
  • 知识图谱实战应用9-基于neo4j的知识图谱框架设计与类模型构建

    大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用9-基于neo4j的知识图谱框架设计与类模型构建。我将构建KnowledgeGraphs的类,用于操作Neo4j图数据库中的知识图谱数据。方便管理整个知识图谱操作。创建KnowledgeGraphs类可以使操作数据的代码更加模块化和可复用。使用

    2024年02月07日
    浏览(52)
  • LangChain 2 ONgDB:大模型+知识图谱实现领域知识问答

    Here’s the table of contents:   LangChain 是一种 LLMs(大语言模型) 接口框架,它允许用户围绕大型语言模型快速构建应用程序和管道。 Langchain2ONgDB 是参考 Langchain2Neo4j 的实验项目,将ONgDB集成到了 LangChain 生态系统。 在 Langchain2Neo4j 的基础上去掉了 Keyword search(全文检索) 和

    2024年02月17日
    浏览(46)
  • 大语言模型无代码构建知识图谱+视频链接

            之前通过系列文章介绍了如何利用HugggingFists系统无代码构建知识图谱,这次给出视频,方便大家更直观的了解如何操作。视频链接如下:         《玩转数据之利用LLM构建知识图谱》         文章链接:         《大语言模型无代码构建知识图谱(1)--提示工

    2024年03月24日
    浏览(46)
  • 大语言模型无代码构建知识图谱(1)--提示工程准备

            2023年3月15日,ChatGPT4.0的横空出世,将人们对大语言模型的关注推到了风口浪尖。由于其在智能问答、翻译以及文本生成等工作任务上的卓越表现,业界一度出现了不再需要发展知识图谱相关技术的观点,知识图谱相关概念严重受挫。无可置疑的是,大语言模型的

    2024年01月21日
    浏览(45)
  • 开放同飞,华为云发布盘古大模型全域协同生态

    本文分享自华为云社区《开放同飞,华为云发布盘古大模型全域协同生态》,作者:华为云头条。 近日,主题为“开放同飞,共赢行业AI新时代”的华为云盘古大模型主题论坛在北京召开,华为云EI服务产品部部长尤鹏、多位华为云盘古大模型领域专家及客户、伙伴发表主旨

    2024年02月10日
    浏览(40)
  • 知识图谱-命名实体-关系-免费标注工具-快速打标签-Python3

    你好! 这是一款实体关系联合标注的本地小程序,以 P y t h o n 3 Python3 P y t h o n 3 实现。本系统是一种标注文本语料中命名实体与关系或属性的半自动化软件系统,应用 P y t h o n Python P y t h o n 编程实现可视化界面和主要功能,利用 H T M L HTML H TM L 和 C S S CSS CSS 提示标注教程与

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包