基于MindSpore框架的Bert模型新闻分类体验
非常有幸参加了MindSpore21天实战营,本堂是第二堂课,指导老师刘烨东。本文对训练营作业和体验过程进行了记录!下图说明了BERT的实验流程。
SUB1:BERT模型的简单体验
如实验的框架所示,简单体验过程为evaluation的验证过程,是直接利用训练好的结果,来对数据集或者简单的一句话进行分类。本过程使用了ModelArts平台及OBS的服务,能够增加对2者的角色认知。
首先下载本次体验所需的数据集:
1、tnews数据集 (提取码:123456)
2、tnews-3_3335.ckpt 这个是finetune已训练的模型
3、bert源码 这个是本次所要运行的训练、测试的代码
登录华为云,进入OBS控制台--à对象存储服务,建立简单体验的存储路径关系:Bert--->Simple_test--->tnews_data/ bert/output,在Simple_test目录下,新建tnews_data、bert和output目录。
然后进入tnews_data目录,选择上传对象,将下载好的tnews数据集上传到该目录;进入bert目录,将下载好的bert压缩包解压缩文件上传到该目录,最后将验证数据集使用的tnews.ckpt上传到bert目录,因为是简单体验,所以此处直接上传finetune训练的结果tnews-3_3335.ckpt。
进入Modelarts管理控制台,点击训练管理-à训练作业,选择创建,在弹出的创建训练作业表中,为简单体验取个好理解的名字,比如“Simple_test_bert”;
接下来配置一些具体的参数,如下图所示:
配置完成后,选择下一步,对照检查无误就可以提交,启动本次训练作业。排队时间是比较长的。好处是无需蹲机守候,只需过段时间来查看是否训练完成、有无意外需处理即可。
验证测试的输出日志如下,可以看到验证测试的精度结果。
对单句新闻的分类体验,只需在运行参数选项下,新增predict参数,并在参数值中,输入单句新闻语句,不可以有中文符号。如下图所示。
Evaluation的结果如下,识别语句是“京鲁对抗打了谁的脸”识别结果是军事新闻:
SUB2:BERT模型的进阶体验
进阶体验相比简单体验过程增加了对预训练模型的finetune训练过程。
首先下载本次体验所需的数据集:
1、tnews数据集 (提取码:123456)
2、bert_base.ckpt 这个是pretune已训练的模型
3、bert源码 这个是本次所要运行的训练、测试的代码
登录华为云,进入OBS控制台--à对象存储服务,建立进阶体验的存储路径关系:bert--->Second_test--->tnews_data/ bert/output,在Second_test目录下,新建tnews_data、bert和output目录。
然后进入tnews_data目录,选择上传对象,将下载好的tnews数据集上传到该目录;进入bert目录,将下载好的bert压缩包解压缩文件上传到该目录,最后将finetune数据集使用的bert_base.ckpt上传到bert目录。
进入Modelarts管理控制台,点击训练管理-à训练作业,选择创建,在弹出的创建训练作业表中,为简单体验取个好理解的名字,比如“Second_test_bert”;
训练输出位置要输出到本次训练的源码目录中,方便finetune训练完成后,进一步进行验证测试。即将finetune的训练模型tnews-3_3335.ckpt文件输出到源码文件夹中。
配置完成后,选择下一步,对照检查无误就可以提交,启动本次训练作业。
结果如下:
之后的evaluation过程同本次初级体验。“国安鲁能对决暴露了什么”识别为体育新闻!
————————————本次体验到此结束——————————————————
- 点赞
- 收藏
- 关注作者
评论(0)