许可证: mit
数据集:
- OpenHust/vietnamese-summarization
基础模型:
- google/mt5-small
任务标签: summarization
语言:
- vi
库名称: transformers
训练笔记
访问地址: https://github.com/danhtran2mind/viet-news-sum-mt5-small-finetune/blob/main/notebooks/viet-news-sum-mt5-small-finetune.ipynb
数据集
访问地址: https://huggingface.co/datasets/OpenHust/vietnamese-summarization
基础模型
访问地址: https://huggingface.co/google/mt5-small
训练超参数
训练过程中使用了以下超参数:
- 学习率: 3e-4
- 训练批次大小: 12
- 评估批次大小: 12
- 随机种子: 42
- 权重衰减: 0.01
- 优化器: Adam (beta1=0.9, beta2=0.999, epsilon=1e-08)
- 训练轮数: 50
评估指标
- 训练损失: 0.052300
- 验证损失: 0.006372
- 验证集BLEU分数: 0.9964783232500736
依赖版本
Python版本
版本: 3.10.12
导入库
pandas==2.2.3
numpy==1.26.4
torch==2.5.1
nltk==3.2.4
pytorch-cuda==12.1
datasets==3.3.1
tqdm==4.67.1
transformers==4.47.0
使用方法
安装与设置
import torch
from transformers import T5ForConditionalGeneration, T5Tokenizer, Seq2SeqTrainingArguments, Seq2SeqTrainer
from transformers import Seq2SeqTrainingArguments, Seq2SeqTrainer
加载模型
model_name = "danhtran2mind/viet-news-sum-mt5-small-finetune"
tokenizer = T5Tokenizer.from_pretrained(model_name)
model = T5ForConditionalGeneration.from_pretrained(model_name)
推理步骤
def preprocess_input(text):
inputs = tokenizer(text, max_length=512, truncation=True, padding="max_length", return_tensors="pt")
return inputs
def generate_summary(text):
inputs = preprocess_input(text)
with torch.no_grad():
summary_ids = model.generate(
inputs["input_ids"],
attention_mask=inputs["attention_mask"],
max_length=128,
early_stopping=True
)
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
return summary
input_text = """
1月8日,德江综合医院麻醉复苏科收治了一名23岁的交通事故昏迷患者L.T.N.T.(河内章美县人)。
这位怀孕26周的孕妇同时患有肺炎和严重颅脑损伤,伴有蛛网膜下腔出血和右侧额叶硬膜下血肿。
据德江综合医院麻醉复苏科主任黎阮安医生介绍,治疗过程中最大的挑战在于需要同时保障母婴安全。
"医生们努力将妊娠维持到30周以上,确保胎儿出生后能正常发育。在保障母亲生命安全的同时,也要将对胎儿的影响降到最低",安医生表示。
治疗期间,医疗团队持续与产科和营养科协作,不断评估调整治疗方案以确保胎儿正常发育。
"特别对于气管切开昏迷患者的护理非常困难,存在感染风险、营养缺乏、压疮和胎儿窘迫等多重风险"。
经过70天治疗,孕妇情况逐渐稳定。生命体征改善,能通过气管切开自主呼吸,胎儿发育正常。
3月15日晚,这位妊娠36周的孕妇出现临产征兆,胎位不正且早期破水。医疗团队决定实施剖宫产。
手术成功,一名2公斤重的男婴呱呱坠地,黏膜红润,让医护团队和家属无比欣喜。
术后三天,产妇神志清醒,可自主进食并拔除气管套管。预计母子将于3月21日出院。
"""
input_text = input_text.replace("\n", "")
summary = generate_summary(input_text)
print(f"摘要: {summary}")
示例输出