🚀 AraT5-Summarization-XLSum
本模型是 UBC-NLP/AraT5v2-base-1024 的微調版本,專門使用 XLSum 數據集 針對阿拉伯語文本摘要任務進行訓練。它能夠為阿拉伯語新聞文章和長篇文本生成簡潔、流暢的摘要。
🚀 快速開始
模型來源
使用示例
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
TEXT_MAX_TOKEN_LENGTH = 512
SUMMARY_MAX_TOKEN_LENGTH = 192
tokenizer = AutoTokenizer.from_pretrained("omarsabri8756/AraT5v2-XLSum-arabic-text-summarization")
model = AutoModelForSeq2SeqLM.from_pretrained("omarsabri8756/AraT5v2-XLSum-arabic-text-summarization")
def generate_summary(test_samples, model):
inputs = tokenizer(
test_samples,
padding="max_length",
truncation=True,
max_length=TEXT_MAX_TOKEN_LENGTH,
return_tensors="pt",
)
input_ids = inputs.input_ids.to(model.device)
attention_mask = inputs.attention_mask.to(model.device)
outputs = model.generate(
input_ids,
attention_mask=attention_mask,
max_length=SUMMARY_MAX_TOKEN_LENGTH,
min_length=10,
num_beams=3,
repetition_penalty=3.0,
length_penalty=2.0,
no_repeat_ngram_size = 3
)
output_str = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
return output_str
arabic_text = "شهدت مدينة طرابلس، مساء أمس الأربعاء، احتجاجات شعبية وأعمال شغب لليوم الثالث على التوالي، وذلك بسبب تردي الوضع المعيشي والاقتصادي. واندلعت مواجهات عنيفة وعمليات كر وفر ما بين الجيش اللبناني والمحتجين استمرت لساعات، إثر محاولة فتح الطرقات المقطوعة، ما أدى إلى إصابة العشرات من الطرفين."
summary = generate_summary(arabic_text, model)
print(summary)
訓練超參數
- 訓練機制:混合精度 fp16
- 優化器:AdamW
- 學習率:5e - 5,使用餘弦調度器
- 每個設備的訓練批次大小:4
- 每個設備的評估批次大小:4
- 訓練輪數:5
- 權重衰減:0.01
📚 詳細文檔
評估結果
輪數 |
訓練損失 |
驗證損失 |
Rouge1 |
Rouge2 |
Rougel |
Rougelsum |
1 |
3.999300 |
2.415354 |
0.219800 |
0.106600 |
0.222500 |
0.219970 |
2 |
2.879100 |
2.392637 |
0.241690 |
0.103100 |
0.242780 |
0.241080 |
3 |
2.646900 |
2.324992 |
0.235450 |
0.106600 |
0.237000 |
0.235820 |
4 |
2.472900 |
2.312325 |
0.261720 |
0.120900 |
0.263300 |
0.261340 |
5 |
2.388600 |
2.314750 |
0.267520 |
0.120900 |
0.269470 |
0.266570 |