English | 简体中文
大模型时代, DeepKE-LLM采用全新的环境依赖
conda create -n deepke-llm python=3.9
conda activate deepke-llm
cd example/llm
pip install -r requirements.txt
注意!!是example/llm文件夹下的 requirements.txt
- [2024/04] 发布中英双语大模型知识抽取框架OneKE,同时开源基于Chinese-Alpaca-2-13B全参数微调的版本。
- [2024/02] 发布大规模(
0.32B
tokens)双语(中文和英文)信息抽取(IE)指令数据集IEPile, 以及基于IEPile
训练的两个模型baichuan2-13b-iepile-lora、llama2-13b-iepile-lora。 - [2023/11] knowlm-13b-ie权重进行了更新,这次更新主要是调整了NAN输出,缩短了推理长度,并支持了不指定schema的指令。
- [2023/10] 我们发布了一个新的双语(中文和英文)基于主题的信息抽取(IE)指令数据集,名为InstructIE和论文。
- [2023/08] 推出了专门用于信息抽取(IE)的KnowLM版本,命名为knowlm-13b-ie。
- [2023/07] 发布了训练所使用的部分指令数据集,包括knowlm-ke和KnowLM-IE。
- [2023/06] 发布了第一版的预训练权重knowlm-13b-base-v1.0和第一版的zhixi-13b-lora。
- [2023/05] 我们启动了基于指令的信息抽取项目。
现有数据集
名称 | 下载 | 数量 | 描述 |
---|---|---|---|
InstructIE | Google drive Hugging Face ModelScope WiseModel |
30w+ | 双语(中文和英文)基于主题的信息抽取(IE)指令数据集 |
IEPile | Google Drive Hugging Face WiseModel ModelScpoe |
200w+ | 大规模(0.32B tokens)高质量双语(中文和英文)信息抽取(IE)指令微调数据集 |
InstructIE详细信息
一条数据的示例
{
"id": "bac7c32c47fddd20966e4ece5111690c9ce3f4f798c7c9dfff7721f67d0c54a5",
"cate": "地理地区",
"text": "阿尔夫达尔(挪威语:Alvdal)是挪威的一个市镇,位于内陆郡,行政中心为阿尔夫达尔村。市镇面积为943平方公里,人口数量为2,424人(2018年),人口密度为每平方公里2.6人。",
"relation": [
{"head": "阿尔夫达尔", "head_type": "地理地区", "relation": "面积", "tail": "943平方公里", "tail_type": "度量"},
{"head": "阿尔夫达尔", "head_type": "地理地区", "relation": "别名", "tail": "Alvdal", "tail_type": "地理地区"},
{"head": "内陆郡", "head_type": "地理地区", "relation": "位于", "tail": "挪威", "tail_type": "地理地区"},
{"head": "阿尔夫达尔", "head_type": "地理地区", "relation": "位于", "tail": "内陆郡", "tail_type": "地理地区"},
{"head": "阿尔夫达尔", "head_type": "地理地区", "relation": "人口", "tail": "2,424人", "tail_type": "度量"}
]
}
各字段的说明:
字段 | 说明 |
---|---|
id | 每个数据点的唯一标识符。 |
cate | 文本的主题类别,总计12种不同的主题分类。 |
text | 模型的输入文本,目标是从中抽取涉及的所有关系三元组。 |
relation | 描述文本中包含的关系三元组,即(head, head_type, relation, tail, tail_type)。 |
需要参考数据转换
IEPile详细信息
IEPile
中的每条数据均包含 task
, source
, instruction
, output
4个字段, 以下是各字段的说明
字段 | 说明 |
---|---|
task | 该实例所属的任务, (NER 、RE 、EE 、EET 、EEA ) 5种任务之一。 |
source | 该实例所属的数据集 |
instruction | 输入模型的指令, 经过json.dumps处理成JSON字符串, 包括"instruction" , "schema" , "input" 三个字段 |
output | 输出, 采用字典的json字符串的格式, key是schema, value是抽取出的内容 |
在IEPile
中, instruction
的格式采纳了类JSON字符串的结构,实质上是一种字典型字符串,它由以下三个主要部分构成:
(1) 'instruction'
: 任务描述, 它概述了指令的执行任务(NER
、RE
、EE
、EET
、EEA
之一)。
(2) 'schema'
: 待抽取的schema(实体类型
, 关系类型
, 事件类型
)列表。
(3) 'input'
: 待抽取的文本。
以下是一条数据实例:
{
"task": "NER",
"source": "MSRA",
"instruction": "{\"instruction\": \"你是专门进行实体抽取的专家。请从input中抽取出符合schema定义的实体,不存在的实体类型返回空列表。请按照JSON字符串的格式回答。\", \"schema\": [\"组织机构\", \"地理位置\", \"人物\"], \"input\": \"对于康有为、梁启超、谭嗣同、严复这些从旧文化营垒中走来的年轻“布衣”,他们背负着沉重的历史包袱,能够挣脱旧传统的束缚,为拯救民族的危亡而献身,实在是中华民族的脊梁。\"}",
"output": "{\"组织机构\": [], \"地理位置\": [\"中华\"], \"人物\": [\"康有为\", \"梁启超\", \"谭嗣同\", \"严复\"]}"
}
该数据实例所属任务是 NER
, 所属数据集是 MSRA
, 待抽取的schema列表是 ["组织机构", "地理位置", "人物"], 待抽取的文本是"对于康有为、梁启超、谭嗣同、严复这些从旧文化营垒中走来的年轻“布衣”,他们背负着沉重的历史包袱,能够挣脱旧传统的束缚,为拯救民族的危亡而献身,实在是中华民族的脊梁。", 输出是 {"组织机构": [], "地理位置": ["中华"], "人物": ["康有为", "梁启超", "谭嗣同", "严复"]}
中英双语大模型知识抽取框架OneKE和基于Chinese-Alpaca-2-13B全参数微调的版本: 使用指南
LLaMA,它是一组从7B到65B参数的基础语言模型。我们还提供了基于KnowLM框架的抽取大模型智析
的支持。其首先(1)使用中英双语语料首先对LLaMA(13B)进行进一步全量预训练,在尽可能保留原来的英文和代码能力的前提下,进一步提高模型对于中文理解能力和知识储备;接着(2)使用指令数据集对第一步的模型微调,来提高语言模型对于人类指令的理解。模型详细信息请参考KnowLM.
为了更好地处理知识图谱构建中的关系三元组抽取(RTE)任务,我们设计了代码形式的提示建模关系三元组的结构,并使用代码语言模型(Code-LLM)生成更准确的预测。代码形式提示构建的关键步骤是将(文本,输出三元组)对转换成Python中的语义等价的程序语言。
In-Context Learning 是一种指导大语言模型的方法,可以提升其在特定任务上的表现。它通过在特定上下文中进行迭代学习,对模型进行微调和训练,以使其更好地理解和应对特定领域的需求。通过 In-Context Learning
,我们可以让大语言模型具备信息抽取、数据增强以及指令驱动的知识图谱构建等功能。
LoRA通过学习秩分解矩阵对来减少可训练参数的数量,同时冻结原始权重。这大大降低了适用于特定任务的大型语言模型的存储需求,并在部署期间实现了高效的任务切换,而无需引入推理延迟。详细可查看原论文LoRA: Low-Rank Adaptation of Large Language Models.
PT方法,即P-Tuning方法,参考ChatGLM官方代码 ,是一种针对于大模型的soft-prompt方法。 P-Tuning,仅对大模型的Embedding加入新的参数。 P-Tuning-V2,将大模型的Embedding和每一层前都加上新的参数。
如果您使用了本项目代码, 烦请引用下列论文:
@misc{knowlm,
author = {Ningyu Zhang and Jintian Zhang and Xiaohan Wang and Honghao Gui and Kangwei Liu and Yinuo Jiang and Xiang Chen and Shengyu Mao and Shuofei Qiao and Yuqi Zhu and Zhen Bi and Jing Chen and Xiaozhuan Liang and Yixin Ou and Runnan Fang and Zekun Xi and Xin Xu and Lei Li and Peng Wang and Mengru Wang and Yunzhi Yao and Bozhong Tian and Yin Fang and Guozhou Zheng and Huajun Chen},
title = {KnowLM Technical Report},
year = {2023},
url = {http://knowlm.zjukg.cn/},
}