昇思大模型平台打卡体验活动:项目3基于MindSpore的GPT2文本摘要

news2024/11/25 16:31:49

昇思大模型平台打卡体验活动:项目3基于MindSpore的GPT2文本摘要

1. 环境设置

本项目可以沿用前两个项目的相关环境设置。首先,登陆昇思大模型平台,并进入对应的开发环境:
https://xihe.mindspore.cn/my/clouddev

image.png

接着,启动Ascend环境,然后点击“查看Jupyter”,这样就可以进入我们的开发环境。

image.png

为了帮助大家熟悉环境,我们每次都会重申这个步骤。熟练掌握环境的启动方法对于后续的学习非常有帮助。

2. 介绍GPT2模型

GPT2(Generative Pretrained Transformer 2)是由OpenAI开发的语言模型,它通过大规模无监督预训练和微调(Fine-tuning)在多个自然语言处理任务中取得了显著的效果。GPT2模型主要采用自回归的Transformer架构,可以生成连贯的文本,适用于文本摘要、文本生成等任务。

在本次实验中,我们将使用GPT2模型来进行文本摘要任务。

3. 数据集加载与处理

1. 数据集加载

本次实验使用的nlpcc2017摘要数据集,该数据集包含新闻正文及其对应的摘要,总共有50000个样本。数据集包含了丰富的新闻内容,可以为模型提供足够的训练数据。

image.png

2. 数据预处理

原始数据的格式如下:

article: [CLS] article_context [SEP]
summary: [CLS] summary_context [SEP]

为了方便模型处理,我们对数据进行了预处理,将其转换为以下格式:

[CLS] article_context [SEP] summary_context [SEP]

通过这种格式,模型可以同时读取文章和摘要内容,从而生成摘要。数据预处理的核心是将文本进行tokenization,并且确保每个样本都能通过统一格式输入到模型中。

image.png

4. 模型构建

1. 构建GPT2ForSummarization模型

在这个实验中,我们基于GPT2构建了用于文本摘要的模型——GPT2ForSummarization。在训练过程中,需要特别注意shift right的操作,即生成摘要时,模型的目标是预测下一个词,并且在训练时,输入序列的目标会与输出序列的目标错开一个位置。

这一操作是生成任务中的关键,能够帮助模型有效地学习如何生成符合上下文的摘要。

image.png

2. 模型训练与评估

训练过程中,模型的效果逐步提高,虽然训练时间相对较长,但最后的训练效果相当不错。随着训练的进行,模型能够较好地理解新闻文章与其摘要之间的关系,生成准确且简洁的摘要内容。

训练时需要使用适当的评估指标,如ROUGE分数,来衡量模型生成摘要的质量。ROUGE分数是文本摘要任务中常用的评估指标,能够有效评估生成摘要与参考摘要之间的重叠度。

5. 总结

通过本项目,我们使用了MindSpore平台中的GPT2模型来完成文本摘要任务。该项目的成功实施展示了GPT2在文本摘要领域的强大能力,同时也展示了如何在MindSpore平台上快速构建和训练自然语言处理模型。

整个实验过程中,我们重点讲解了数据预处理、模型构建以及训练过程中的关键操作,如shift right。虽然训练时间较长,但模型的效果证明了该方法在文本摘要中的有效性。


本项目通过在MindSpore平台上实现GPT2模型的训练和应用,完成了新闻文章的自动摘要生成,为自然语言处理任务提供了一个实际且有效的解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2237842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

定时器输入捕获实验配置

首先,第一个时基工作参数配置 HAL_TIM_IC_Init( ) 还是一样的套路,传参是一个句柄,先定义一个结构体 Instance:指向TIM_TypeDef的指针,表示定时器的实例。TIM_TypeDef是一个包含了定时器寄存器的结构体,用…

计算机视觉读书系列(1)——基本知识与深度学习基础

研三即将毕业,后续的工作可能会偏AI方向的计算机视觉方面,因此准备了两条线来巩固计算机视觉基础。 一个是本系列,阅读经典《Deep Learning for Vision System》,做一些总结跑一些例子,也对应本系列文章 二是OpenCV实…

运维智能化转型:AIOps引领IT运维新浪潮

1. AIOps是什么? AIOps(Artificial Intelligence for IT Operations),即人工智能在IT运维中的应用,通过机器学习技术处理运维数据(如日志、监控信息和应用数据),解决传统自动化运维…

SkyNet嵌入式系统目标检测实践测试分析

目标检测和跟踪对于资源受限的嵌入式系统来说是具有挑战性的任务。尽管这些任务是人工智能领域中计算量最大的任务之一,但它们在嵌入式设备上只能使用有限的计算和内存资源。与此同时,这种资源受限的实现通常需要满足额外的苛刻要求,如实时响…

「OC」SDWebimage的学习

「OC」SDWebimage的学习 前言 在知乎日报这个项目之中,我在很多情况下都会进行图片资源的网络申请。通过上网搜索我了解到了SDWebimage这个功能丰富的第三方库,进行了较为浅层的学习。因为SDWebimage这个库之中的相关内容还是较为多且复杂的&#xff0…

SIwave:释放 SIwizard 求解器的强大功能

SIwave 是一种电源完整性和信号完整性工具。SIwizard 是 SIwave 中 SI 分析的主要工具,也是本博客的主题。 SIwizard 用于研究 RF、clock 和 control traces 的信号完整性。该工具允许用户进行瞬态分析、眼图分析和 BER 计算。用户可以将 IBIS 和 IBIS-AMI 模型添加…

Kafka 可观测性最佳实践

Kafka 概述 Kafka 是由 LinkedIn 开发一个分布式的基于发布订阅模式的消息队列,是一个实时数据处理系统,可以横向扩展。与 RabbitMQ、RockerMQ 等中间件一样拥有几大特点: 异步处理服务解耦流量削峰 监控 Kafka 是非常重要的,因…

342--358作业整理(错误 + 重点)

目录 1. 在需要运行的类中 定义 main 方法 2. this 。访问逻辑:先访问本类中,再访问父类中可以访问的成员(不包括和本类中重名的成员) 3. super 。访问逻辑:super(父类对象)直接访问父类及以…

Android自启动管控

1. 自启动管控需求来源 自启动、关联启动、交叉启动、推送启动等现象的泛滥除了对个人信息保护带来隐患外,还会导致占用过多的系统CPU和内存资源,造成系统卡顿、发热、电池消耗过快;还可能引入一些包含“恶意代码”的进程在后台隐蔽启动&…

智能的编织:C++中auto的编织艺术

在C的世界里,auto这个关键字就像是一个聪明的助手,它能够自动帮你识别变量的类型,让你的代码更加简洁和清晰。下面,我们就来聊聊auto这个关键字的前世今生,以及它在C11标准中的新用法。 auto的前世 在C11之前&#x…

函数式编程Stream流(通俗易懂!!!)

重点:只关注传入的参数列表和方法体(数据操作) 1.Lambda表达式 本质是匿名内部类的优化,先写匿名内部类 1.1 基本用法 public class lambdaTest {public static void main(String[] args) { // int i calculateNum((…

C#里对数组的排序操作

一般情况下是采用 Array.Sort(a) 来进行排序。 例子代码如下: /** C# Program to Sort a String using Predefined Function*/ using System; class linSearch {public static void Main(){Console.WriteLine("Enter Number of Elements you Want to Hold in the Arra…

算法每日双题精讲——双指针(移动零,复写零)

🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 别再犹豫了!快来订阅我们的算法每日双题精讲专栏,一起踏上算法学习的精彩之旅吧!💪…

【Android】View—基础知识,滑动,弹性滑动

基础知识 什么是View 在 Android 中,View 是用户界面(UI)中的基本组件,用于绘制图形和处理用户交互。所有的 UI 组件(如按钮、文本框、图片等)都是 View 的子类。可以说,View 是构建 Android …

【Unity】Game Framework框架学习使用

前言 之前用过一段时间的Game Framework框架,后来有那么一段时间都做定制小软件,框架就没再怎么使用了。 现在要做大型项目了,感觉还是用框架好一些。于是又把Game Framework拾起来了。 这篇文章主要是讲Game Framework这个框架是怎么用的…

【SoC设计指南 基于Arm Cortex-M】学习笔记1——AMBA

AMBA简介 先进微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)是用在arm处理器上的片上总线协议规范集。 AMBA总线协议规范集包含AHB、APB、AXI等。 AHB:先进高性能总线(Advanced High-performance Bus) APB&…

pytorch模型转onnx的动态batch转换说明

将PyTorch模型(.pth)转换为ONNX格式时,通常需要指定一个batch size。这是因为ONNX模型需要一个固定的输入形状,而批处理大小是输入形状的一部分。 下面是一个简单的转换示例,假设你已经加载了一个PyTorch模型&#xff…

【王木头】最大似然估计、最大后验估计

目录 一、最大似然估计(MLE) 二、最大后验估计(MAP) 三、MLE 和 MAP 的本质区别 四、当先验是均匀分布时,MLE 和 MAP 等价 五、总结 本文理论参考王木头的视频: 贝叶斯解释“L1和L2正则化”&#xff…

从0到1基于LangChain制作一个AI猫娘

前言: 看到B站上的AIVtuber的项目落地了,就心血来潮想制作一个AI的猫娘供自己使用,顺便出一个简单的教程,跳过理论,直接实践,作者也还在学习摸索中,所以有错误可以直接在评论区指正。&#xff0…