🚀 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許可證。