人工智能大模型预训练微调LoRARLHF强化学习分布式训练【免费下载链接】PaddleNLPEasy-to-use and powerful LLM and SLM library with awesome model zoo.项目地址https://gitcode.com/gh_mirrors/pa/PaddleNLP点击查看免费下载本指南围绕 PaddleNLP 中slm/examples/text_summarization/pointer_summarizer示例系统讲解经典论文Get To The Point: Summarization with Pointer-Generator Networks在 Paddle v2.0 上的落地实现、可复现训练的默认超参数配置以及基于 ROUGE-1/2/L 的完整评测方法。读完本文你将理解指针生成Pointer-Generator与覆盖率Coverage机制为何能缓解摘要生成中的 OOV 与重复问题掌握本示例用于复现论文级效果的训练设置并学会在 PaddleNLP 生态中解析评测指标的含义。Pointer-Generator 网络摘要生成中的复制-生成混合机制Pointer-Generator Network 由 Abigail See 等人于 2017 年提出是序列到序列Seq2Seq文本摘要模型的一个经典变体。它在标准 Seq2Seq Attention 架构上引入了两个关键机制指针机制Pointer Mechanism传统摘要模型只能从固定词表生成词汇遇到词表外的专有名词OOV 词时容易产生未登录词错误。指针机制允许模型在从词表生成一个新词与直接从源文本中复制一个词之间动态权衡从而把原文中的关键实体直接搬运到摘要中。覆盖率机制Coverage Loss注意力机制在长文本生成时容易反复关注同一区域导致摘要中同一短语重复出现。覆盖率机制累计历史注意力分布并在损失函数中惩罚对已关注区域再次聚焦的行为显著抑制重复生成。本仓库中的实现正是这两种机制同时开启README 明确注明 with pointer generation and coverage loss enabled下训练的成果这也是其 ROUGE 指标能达到论文相当水平的关键原因。Paddle v2.0 实现从 PyTorch 实现的忠实移植slm/examples/text_summarization/pointer_summarizer/README.md说明了该示例的定位它是论文Get To The Point: Summarization with Pointer-Generator Networks的Paddle v2.0 实现代码对齐并改编自一个此前公开的 PyTorch 实现atulkum/pointer_summarizer保证了网络结构、训练流程与评测口径的可比性仓库文档明确建议要复现论文中的 state-of-the-art 效果应使用 config.py 中列出的默认超参数——这一提示表明该示例将可复现性作为一等公民而不是随意改动的教学玩具。在 PaddleNLP 仓库中该示例位于 slm/examples/text_summarization/pointer_summarizer与 bart、prophetnet、unimo-text 等示例并列构成 PaddleNLP 的文本摘要示例家族。其中 ProphetNet 示例的文档同样引用了本示例作为参考实现可见其在仓库摘要任务中的基础地位。关键训练配置复现论文效果的默认超参数README 反复强调超参数对结果的决定性作用。复现报告给出的训练设置要点如下配置项值说明训练轮次iterations100,000训练迭代总数批大小batch_size8每批次样本数机制开关指针生成 Coverage Loss两项同时启用超参数来源config.py 默认值复现论文效果需沿用默认值从该示例的训练口径可以看出batch_size8属于较小的批大小配合 100k 迭代意味着模型经历了约 80 万样本的训练量这与 Pointer-Generator 论文在 CNN/DailyMail 上的标准训练规模约数万篇文档反复多轮相匹配沿用 config.py 默认超参是复现的前提——包括词表大小、注意力维度、学习率、Beam Search 宽度等细节都应以默认配置为准任何改动都可能偏离论文报告的水平。需要注意的是在本仓库快照中该示例目录以 README 形式归档config.py 的具体数值以原文档所述为准实际运行时请以该示例目录下源码中的默认值为准。训练数据CNN/DailyMail 非匿名化摘要数据集Pointer-Generator 论文使用 CNN/DailyMail 新闻数据集进行训练与评测PaddleNLP 同样围绕该数据集组织本示例。在仓库中数据集加载逻辑由 paddlenlp/datasets/hf_datasets/cnn_dailymail.py 提供其关键事实如下数据特征共两个article新闻正文即待摘要的源文档与highlights以s、/s包围的要点拼接即目标摘要此外附带id字段数据来源为 CNN Stories 与 DailyMail Stories 两个语料子集按官方的 train / val / test 文件列表all_train.txt、all_val.txt、all_test.txt切分数据集提供多版本3.0.0cased 版本默认、2.0.0目标句以换行分隔便于按摘要级 ROUGE 评测、1.0.0与 0.0.2 数据相同。评测时采用 cased 版本数据处理参考了 abisee/cnn-dailymail 的 make_datafiles.py 流程为缺失句号的文本行补上句号并按highlight标记切分正文与要点。该数据集脚本从 paddlenlp/datasets/hf_datasets/cnn_dailymail.py 中声明的下载地址获取原始语料并完成解析可直接作为本示例的数据准备入口。评测指标ROUGE 系列在 PaddleNLP 中的实现本示例的评测指标为 ROUGERecall-Oriented Understudy for Gisting Evaluation包括 ROUGE-1、ROUGE-2 与 ROUGE-L。PaddleNLP 在 paddlenlp/metrics/rouge.py 中提供了完整实现Rouge1 / Rouge2基于RougeN基类rouge.py#L23-L94分别计算候选摘要与参考摘要之间 1-gram、2-gram 的重叠数量与召回率其中_get_ngrams负责生成词级 n-gram 集合RougeLrouge.py#L107-L231基于最长公共子序列LCS计算句子级结构相似度其 F 值公式中gamma默认为 1.2用于权衡召回率权重三个指标统一输出precision精确率、recall召回率、f1F1 值三个维度与本 README 给出的评测报告格式完全对应。评测口径上该实现按摘要级summary-level聚合候选与参考均以整句为单位计算 ROUGE 得分与 README 中使用 summary-level ROUGE 更容易评测的设计意图一致。模型表现100k 迭代后的完整 ROUGE 评测报告在batch_size8、训练 100,000 迭代、指针生成与 Coverage Loss 均开启的配置下Paddle 实现的评测报告含 95% 置信区间如下ROUGE-1: rouge_1_f_score: 0.3980 with confidence interval (0.3959, 0.4002) rouge_1_recall: 0.4639 with confidence interval (0.4613, 0.4667) rouge_1_precision: 0.3707 with confidence interval (0.3683, 0.3732) ROUGE-2: rouge_2_f_score: 0.1726 with confidence interval (0.1704, 0.1749) rouge_2_recall: 0.2008 with confidence interval (0.1984, 0.2034) rouge_2_precision: 0.1615 with confidence interval (0.1593, 0.1638) ROUGE-l: rouge_l_f_score: 0.3617 with confidence interval (0.3597, 0.3640) rouge_l_recall: 0.4214 with confidence interval (0.4188, 0.4242) rouge_l_precision: 0.3371 with confidence interval (0.3348, 0.3396)将核心 F1 指标与两个基线横向对比实现ROUGE-1 F1本 Paddle 实现0.3980此前 PyTorch 实现0.3907原论文报告值0.3953几点值得注意的解读置信区间都控制在 0.003 以内如 ROUGE-1 的 f_score 区间 (0.3959, 0.4002)说明评测结果稳定、样本量充足指标差异具有统计意义Paddle 实现以 0.3980 超出 PyTorch 基线0.3907与论文报告值0.3953这是在相同训练规模100k 迭代、batch_size8与相同数据上的直接对比结果从指标结构看recall 普遍高于 precision如 ROUGE-1 recall 0.4639 vs precision 0.3707这符合摘要评测的典型特征——模型倾向于生成信息覆盖度更高的长摘要而精确匹配比例相对较低。评测口径与可复现性说明要复现上表指标需满足以下口径这与 PaddleNLP 的 ROUGE 实现及数据版本严格对应数据集版本使用 CNN/DailyMail cased 版本3.0.0按 cnn_dailymail.py 中声明的切分方式划分训练/验证/测试集评测单元采用摘要级 ROUGE即候选与参考均以句子为单位计算 LCS 与 n-gram 重叠而非拼接为整段后统一计算指标实现直接使用 paddlenlp/metrics/rouge.py 中的 RougeN / RougeL 类gamma取默认值 1.2训练设置严格执行 config.py 默认超参数、batch_size8、100k 迭代、指针生成与 Coverage Loss 双开任一条件变更都会改变最终指标。如果需要在 PaddleNLP 中自行开展摘要评测可以直接复用 RougeL 等指标类初始化时传入trans_func或vocab通过update累积候选/参考对最后调用accumulate得到平均得分Rouge1、Rouge2 则通过RougeN的 n1、n2 实例化获得与本示例 README 报告的指标一一对应。小结slm/examples/text_summarization/pointer_summarizer以一篇简洁的 README 记录了 Paddle v2.0 上 Pointer-Generator 网络的完整落地要点忠实对齐 PyTorch 参考实现、以 config.py 默认超参数保障可复现性、在 CNN/DailyMail 非匿名化数据上以 100k 迭代与 batch_size8 完成训练并产出 ROUGE-1 F1 0.3980 的可复现评测结果同时超过 PyTorch 基线0.3907与原论文报告值0.3953。对于希望在 PaddlePaddle 框架中复现经典摘要模型、理解复制-生成混合机制与 Coverage Loss 训练技巧的开发者这是一个开箱即用的完整参考。赞分享人工智能大模型预训练微调LoRARLHF强化学习分布式训练【免费下载链接】PaddleNLPEasy-to-use and powerful LLM and SLM library with awesome model zoo.项目地址https://gitcode.com/gh_mirrors/pa/PaddleNLP点击查看免费下载相关推荐IntelliQ社区贡献指南如何参与开源项目并提交优质PRIntelliQ社区贡献指南如何参与开源项目并提交优质PR 欢迎加入IntelliQ开源社区作为一个基于LLM大语言模型意图识别、参数抽取结合slot词槽技人工智能AI 应用NLP交互助手后端前端Ganache插件开发指南如何扩展自定义区块链功能Ganache插件开发指南如何扩展自定义区块链功能 Ganache是一个功能强大的区块链开发工具允许开发者快速搭建本地区块链环境进行测试和开发。本指南将详细区块链开发工具告别传统摘要缺陷Pointer-Generator网络的革命性文本摘要技术详解告别传统摘要缺陷Pointer Generator网络的革命性文本摘要技术详解 摘要痛点与解决方案清单 | 传统Seq2Seq缺陷 | Pointer Gen创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考