许可证:apache-2.0
基础模型:t5-small
标签:
- generated_from_trainer
数据集:
- xsum
评估指标:
- rouge
模型索引:
- 名称:fastSUMMARIZER-t5-small-finetuned-on-xsum
结果:
- 任务:
名称:序列到序列语言建模
类型:文本生成
数据集:
名称:xsum
类型:xsum
配置:默认
拆分:验证集
参数:默认
评估指标:
- 名称:Rouge1
类型:rouge
值:31.3222
管道标签:文本摘要
示例输入:
- 文本:"即将出现飞行出租车。我们许多人从小看科幻电影时就见过这些。日本航空公司ANA和美国科技初创公司Joby Aviation将在2025年大阪世博会上运营空中出租车。他们目前正在制造这些出租车。它们需要遵守空中交通规则,还需要培训飞行出租车驾驶员。这款五座全电动出租车可垂直起降,最远飞行241公里,最高时速321公里。Joby表示这些出租车环保,能减少碳足迹。日本是测试的理想地点,因为92%的人口居住在城市。ANA总裁表示,公司拥有70年安全可靠的飞行历史,很高兴客户能选择从国际机场快速、可持续地前往市中心。"
- 文本:"众所周知吃胡萝卜对视力有益。新加坡国立大学的新研究发现,每天吃几颗葡萄也能改善视力,尤其对老年人效果显著。首席研究员Eun Kim博士表示,这是首次证明葡萄摄入对人类眼部健康有益的研究,对日益增长的老龄化人口特别令人振奋。研究表明葡萄这种易得水果对视力有积极影响,这对不喜欢胡萝卜的人来说是好消息。研究发表在《食品与功能》期刊上。34名成年人参与了为期16周的实验,半数每天食用1.5杯葡萄,另一半食用安慰剂零食。Kim博士采用双盲测试发现,葡萄组参与者视网膜周围肌肉力量增强。视网膜通过电信号向大脑传递光信息,并能防护来自电子屏幕和LED灯的蓝光伤害。"
t5-small微调版-xsum文本摘要模型
本模型是基于t5-small在xsum数据集上微调的轻量级版本。其摘要生成速度极快(<1秒),资源占用低,效率出众。
模型演示:
https://huggingface.co/spaces/Rahmat82/RHM-text-summarizer-light
评估集表现:
- 损失值:2.2425
- Rouge1:31.3222
- Rouge2:10.0614
- Rougel:25.0513
- Rougelsum:25.0446
- 生成长度:18.8044
模型特性
该模型轻量化且响应迅速,在GPU/CPU环境下均能保持亚秒级响应。若使用ONNX运行时加速,性能可进一步提升。
调用方式:
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, pipeline
model_id = "Rahmat82/t5-small-finetuned-summarization-xsum"
model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id, use_fast=True)
summarizer = pipeline("summarization", model=model, tokenizer=tokenizer)
text_to_summarize = \"\"\"
考拉被视为可爱的代名词。但动物保护者将痛心地获悉,这种有袋动物已被列入濒危物种名单。
澳大利亚考拉基金会估计野生考拉数量在43,000-100,000只之间。由于疾病、栖息地丧失、山火、
车祸等威胁,其数量正急剧减少。世界自然基金会澳大利亚分会的Stuart Blanch表示:
"考拉在十年内从未列入名单到易危再到濒危,这种衰退速度快得惊人。"他补充说考拉正面临"滑向灭绝"的风险。
\"\"\"
print(summarizer(text_to_summarize)[0]["summary_text"])
ONNX加速版调用:
from transformers import AutoTokenizer
from optimum.onnxruntime import ORTModelForSeq2SeqLM
from optimum.pipelines import pipeline
model_name = "Rahmat82/t5-small-finetuned-summarization-xsum"
model = ORTModelForSeq2SeqLM.from_pretrained(model_name, export=True)
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True)
summarizer = pipeline("summarization", model=model, tokenizer=tokenizer,
device_map="auto", batch_size=12)
text_to_summarize = \"\"\"
[同上文本内容]
\"\"\"
print(summarizer(text_to_summarize)[0]["summary_text"])
训练参数
- 学习率:0.0002
- 训练批大小:28
- 评估批大小:28
- 随机种子:42
- 优化器:Adam (beta1=0.9, beta2=0.999, epsilon=1e-08)
- 学习率调度器:线性
- 训练轮次:2
- 混合精度训练:原生AMP
训练结果
训练损失 |
轮次 |
步数 |
验证损失 |
Rouge1 |
Rouge2 |
Rougel |
Rougelsum |
生成长度 |
2.5078 |
1.0 |
7288 |
2.2860 |
30.9087 |
9.7673 |
24.6951 |
24.6927 |
18.7973 |
2.4245 |
2.0 |
14576 |
2.2425 |
31.3222 |
10.0614 |
25.0513 |
25.0446 |
18.8044 |
框架版本
- Transformers 4.37.0
- PyTorch 2.1.2
- Datasets 2.1.0
- Tokenizers 0.15.1