🚀 BigBird Pegasus在BookSum数据集上的应用
本项目基于BookSum数据集训练了一个摘要生成模型。该模型旨在精准概括源内容,生成易于阅读和理解的摘要,为用户提供高效的信息提取方案。
🚀 快速开始
模型目标
本模型致力于实现以下两个目标:
- 精准概括源内容。
- 生成易于阅读和理解的摘要(相比arXiv上的部分摘要,本模型生成的摘要可读性更强)。
为达成这些目标,模型使用了BookSum数据集进行训练,以提供解释性摘要。解释性摘要不仅整合信息,还会说明整合后的信息为何重要。
训练情况
本模型总共训练了七个轮次(约70,000步),已接近完成。后续将根据结果发现和反馈持续改进(由于已经过较长时间的训练,改进速度会较慢)。模型的起始检查点为google/bigbird-pegasus-large-bigpatent
。
✨ 主要特性
- 精准概括:能够准确地对源内容进行概括,提取关键信息。
- 易读性强:生成的摘要易于阅读和理解,避免了晦涩难懂的表述。
- 解释性摘要:不仅整合信息,还能解释信息的重要性。
📦 安装指南
使用本模型前,你需要安装transformers
库。可以使用以下命令进行安装:
pip install transformers
💻 使用示例
基础用法
以下是使用本模型进行摘要生成的基本步骤:
- 创建摘要生成器对象:
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from transformers import pipeline
model = AutoModelForSeq2SeqLM.from_pretrained(
"pszemraj/bigbird-pegasus-large-K-booksum",
low_cpu_mem_usage=True,
)
tokenizer = AutoTokenizer.from_pretrained(
"pszemraj/bigbird-pegasus-large-K-booksum",
)
summarizer = pipeline(
"summarization",
model=model,
tokenizer=tokenizer,
)
- 定义待摘要的文本,并通过管道进行处理:
wall_of_text = "your text to be summarized goes here."
result = summarizer(
wall_of_text,
min_length=16,
max_length=256,
no_repeat_ngram_size=3,
clean_up_tokenization_spaces=True,
)
print(result[0]["summary_text"])
高级用法
一个包含批量摘要演示的扩展示例可参考此处。
备用检查点
如果遇到运行时或内存问题,可以尝试使用这个较早的检查点(40,000步),它在解释性摘要任务上的表现几乎与当前模型相当,但运行速度更快。此外,你还可以查看基于BookSum数据集微调的其他类似摘要模型,如long-t5 base和LED-Large。
📚 详细文档
模型指标
属性 |
详情 |
模型类型 |
基于BigBird Pegasus的序列到序列模型 |
训练数据 |
BookSum数据集 |
评估指标 |
ROUGE-1、ROUGE-2、ROUGE-L、ROUGE-LSUM、loss、gen_len |
推理参数
参数 |
值 |
max_length |
64 |
no_repeat_ngram_size |
2 |
encoder_no_repeat_ngram_size |
3 |
repetition_penalty |
2.4 |
length_penalty |
0.5 |
num_beams |
4 |
early_stopping |
true |
模型结果
任务 |
数据集 |
ROUGE-1 |
ROUGE-2 |
ROUGE-L |
ROUGE-LSUM |
loss |
gen_len |
摘要生成 |
kmfoda/booksum |
34.0757 |
5.9177 |
16.3874 |
31.6118 |
3.522040605545044 |
254.3676 |
摘要生成 |
launch/gov_report |
40.015 |
10.7406 |
20.1344 |
36.7743 |
3.8273396492004395 |
228.1285 |
📄 许可证
本模型使用Apache-2.0许可证。