许可协议:llama2
数据集:
- ACE05
- bc5cdr
- conll2003
- ncbi_disease
- conll2012_ontonotesv5
- rams
- tacred
- wnut_17
语言:
- 英文
评估指标:
- F1值
流水线标签:文本生成
标签:
- 代码
- 文本生成推理
- 信息抽取
- IE
- 命名实体识别
- 事件抽取
- 关系抽取
- LLaMA
Guideline following Large Language Model for Information Extraction
GoLLIE 7B模型卡片
我们推出GoLLIE,这是一个经过训练以遵循标注指南的大语言模型。GoLLIE在零样本信息抽取任务上超越了以往方法,并允许用户即时定义标注模式进行推理。与之前的方法不同,GoLLIE能够遵循详细定义,而不仅仅依赖LLM中已有的知识。
模型描述
模式定义与推理示例
标签以Python类表示,指南或说明通过文档字符串引入。模型从result = [
行开始生成。
@dataclass
class Launcher(Template):
"""指主要用于将有效载荷从地球表面运送到太空的飞行器。发射器可携带卫星、载人航天器和货物等各类有效载荷进入不同轨道甚至地球轨道之外。通常为多级飞行器,使用火箭发动机推进。"""
mention: str
"""
发射器名称。
例如:"Sturn V"、"Atlas V"、"Soyuz"、"Ariane 5"
"""
space_company: str
crew: List[str]
@dataclass
class Mission(Template):
"""任何计划中或已完成的地球大气层外具有特定目标的航行,包括载人或无人任务。涵盖卫星、国际空间站(ISS)、其他天体及深空探测任务。"""
mention: str
"""
任务名称。
例如:"Apollo 11"、"Artemis"、"Mercury"
"""
date: str
departure: str
destination: str
text = (
"火星探测任务Ares 3计划于2032年执行。SpaceX建造的Starship火箭将从Boca Chica发射,"
"搭载宇航员Max Rutherford、Elena Soto和Jake Martinez。"
)
result = [
Mission(mention='Ares 3', date='2032', departure='Boca Chica', destination='Mars'),
Launcher(mention='Starship', space_company='SpaceX', crew=['Max Rutherford', 'Elena Soto', 'Jake Martinez'])
]
快速开始
请阅读我们的🚀 示例Jupyter笔记本开始使用GoLLIE。
最佳加载方式是使用自定义load_model
函数,也可通过AutoModelForCausalLM类加载。
重要提示:我们的flash attention实现与Huggingface的attention存在微小数值差异,必须使用trust_remote_code=True
参数,否则结果会较差。Flash attention需要CUDA GPU支持,目前不支持CPU运行(未来版本将解决)。首先安装flash attention 2:
pip install flash-attn --no-build-isolation
pip install git+https://github.com/HazyResearch/flash-attention.git#subdirectory=csrc/rotary
然后加载模型:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("HiTZ/GoLLIE-7B")
model = AutoModelForCausalLM.from_pretrained("HiTZ/GoLLIE-7B", trust_remote_code=True, torch_dtype=torch.bfloat16)
model.to("cuda")
通过🚀 示例笔记本学习如何定义指南、生成模型输入及解析输出!
训练数据
下图展示了用于训练和评估GoLLIE的任务列表。但如🚀 创建自定义任务笔记本所示,GoLLIE能处理大量未见任务。详见📖论文。
评估结果
环境影响
模型 |
硬件 |
FLOPs |
耗时(小时) |
二氧化碳当量(kg) |
GoLLIE 7B |
1xA100 |
11.9e18 |
44.5 |
1.57 |
GoLLIE 13B |
1xA100 |
22.7e18 |
79.5 |
2.80 |
GoLLIE 34B |
2xA100 |
55.8e18 |
94.6 |
6.67 |
引用
@misc{sainz2023gollie,
title={GoLLIE: Annotation Guidelines improve Zero-Shot Information-Extraction},
author={Oscar Sainz and Iker García-Ferrero and Rodrigo Agerri and Oier Lopez de Lacalle and German Rigau and Eneko Agirre},
year={2023},
eprint={2310.03668},
archivePrefix={arXiv},
primaryClass={cs.CL}
}