数据集:
- kritsadaK/EDGAR-CORPUS-Financial-Summarization
基础模型:
- pszemraj/led-large-book-summary
管道标签: summarization
模型卡片:模型ID
本模型卡片描述了专为金融文本摘要任务微调的LED模型,旨在总结财报和报表等长篇金融文档。该模型基于LED(Longformer Encoder-Decoder)架构,通过全局与局部注意力机制高效处理长文档。
模型详情
模型描述
fahil2631/led-financial_summarization-genai15
(又名LED-FINAL-GENAI15
)是基于pszemraj/led-large-book-summary
微调的金融摘要模型,由**华威商学院(2024/2025届)GEN AI GROUP 15团队(Fakhri, Amaan, Aisyah, Aditya, Jerry, Mewmew, Ridhi, Chinmay)**开发。
模型训练数据来自kritsadaK/EDGAR-CORPUS-Financial-Summarization
数据集,包含EDGAR系统1993-2020年间的10-K文件等金融文本。摘要主要由ChatGPT生成(占比70%),确保风格统一。
该模型可精准总结长达8000token的金融文档,保持核心内容连贯性。
- 开发团队: 华威商学院GenAI Group 15(2024/2025)
- 基础模型: pszemraj/led-large-book-summary
- 任务类型: 抽象摘要(金融领域)
- 语言: 英语
模型来源
使用场景
本模型适用于以下金融文档摘要场景:
用户(包括直接使用方与下游使用方)应充分了解模型的风险、偏见与局限性。需更多信息以提供进一步建议。
快速开始
可通过简易管道或自定义全局注意力掩码两种方式使用led-financial_summarization-genai15
模型。
🔥 基础用法(通过pipeline)
import torch
from transformers import pipeline
hf_name = 'fahil2631/led-financial_summarization-genai15'
summarizer = pipeline(
"summarization",
model=hf_name,
tokenizer=hf_name,
device=0 if torch.cuda.is_available() else -1,
)
wall_of_text = """输入您的长金融文本"""
result = summarizer(
wall_of_text,
min_length=16,
max_length=256,
no_repeat_ngram_size=3,
encoder_no_repeat_ngram_size=3,
repetition_penalty=2.5,
num_beams=4,
early_stopping=True,
)
print(result[0]["summary_text"])
🔥 使用全局注意力掩码
import torch
from transformers import pipeline,AutoTokenizer, AutoModelForSeq2SeqLM
hf_name = 'fahil2631/led-financial_summarization-genai15'
summarizer_1 = pipeline(
"summarization",
hf_name,
device=0 if torch.cuda.is_available() else -1,
)
wall_of_text = """输入您的长金融文本"""
inputs = tokenizer(
wall_of_text,
return_tensors="pt",
truncation=True,
max_length=8000
)
global_attention_mask = torch.zeros(inputs["input_ids"].shape, dtype=torch.long)
global_attention_mask[:, 0] = 1
global_attention_mask[:, -1] = 1
model_1 = AutoModelForSeq2SeqLM.from_pretrained(hf_name).to(device)
summary_ids_1 = model_1.generate(
inputs["input_ids"].to(device),
attention_mask=inputs["attention_mask"].to(device),
global_attention_mask=global_attention_mask.to(device),
max_length=256,
min_length=16,
num_beams=4,
repetition_penalty=2.5,
no_repeat_ngram_size=3,
early_stopping=True
)
result_globalmask_pretrained = tokenizer.decode(summary_ids_1[0], skip_special_tokens=True)
result_globalmask_pretrained
训练详情
训练数据
使用kritsadaK/EDGAR-CORPUS-Financial-Summarization数据集的过滤子集,包含1993-2020年美国上市公司提交的10-K文件。每份文档配有ChatGPT或Claude生成的摘要,训练时仅保留ChatGPT生成摘要(约占70%)。通过文档ID哈希分组划分数据集防止内容泄漏。
- 总样本量: 6,664(仅ChatGPT)
- 训练集: 5,331
- 验证集: 666
- 测试集: 667
- 输入字段:
input
(原始文档)、summary
(目标摘要)、model
(生成器类型)
- 过滤条件:
model == "ChatGPT"
训练过程
微调数据集: EDGAR-CORPUS-Financial-Summarization
训练批次: 1(梯度累积)
训练轮次: 3
优化器: 8-bit AdamW
学习率: 3e-5
评估间隔: 每500步
检查点保存: 每1000步
GPU: NVIDIA L4
超参数配置
- 训练模式: FP16混合精度
- 批次大小: 1(梯度累积步数=2,有效批次=2)
- 学习率: 3e-5
- 训练轮次: 3
- 优化器: bitsandbytes实现的8-bit AdamW
- 评估间隔: 每500步
- 检查点保存: 每1000步
- 最大输入长度: 8000token
- 最大输出长度: 256token
- 束搜索: 4束
- 重复惩罚: 2.5
- 禁重复n-gram: 3
- 全局注意力掩码: 首token启用
性能指标
- GPU型号: NVIDIA L4
- 训练速度: 约2.5小时/1000步(总计7995步)
- 训练吞吐量: ~1.68样本/秒
- 检查点大小: ~1.84GB(.safetensors格式)
- 模型存储大小: ~1.84GB
评估
评估指标
采用标准ROUGE指标:
- ROUGE-1: 衡量系统摘要与参考摘要间unigram重叠率
- ROUGE-2: 衡量bigram重叠率
- ROUGE-L: 衡量最长公共子序列
- ROUGE-Lsum: 针对多句摘要的ROUGE-L变体
评估结果
在测试集随机20个样本上的表现:
模型 |
ROUGE-1 |
ROUGE-2 |
ROUGE-L |
ROUGE-Lsum |
led-financial_summarization-genai15 |
0.5121 |
0.2089 |
0.2987 |
0.4359 |
BART-financial-summarization |
0.4574 |
0.1976 |
0.2728 |
0.3876 |
LED-large-book-summary |
0.3066 |
0.0470 |
0.1391 |
0.2128 |
结论
led-financial_summarization-genai15
在所有ROUGE指标上均优于BART模型和基础LED模型,证明其在提取金融文档上下文并生成信息丰富摘要方面的有效性。