【昇思MindSpore技术公开课】RWKV1-4课程预告与CPM-Bee知识点回顾

举报
yd_285938431 发表于 2024/02/02 10:56:22 2024/02/02
【摘要】 本周日(2月4日)将为大家带来RWKV1-4的解析,我们将一同见证RNN的兴衰发展与Transformers的迅猛崛起,畅聊Transformers的哪些优劣势有待我们发掘,看新RNN——RWKV能否“击败”Transformer再续往日“辉煌”。游历大模型发展历程,开阔大模型技术视野,一切尽在本周日下午14点 昇思MindSpore技术公开课——第九讲 RWKV1-4,敬请期待!

昇思MindSpore技术公开课大模型专题第二期课程火爆来袭!未报名的小伙伴抓紧时间扫描下方二维码参与课程,并同步加入课程群,有免费丰富的课程资源在等着你。课程同步赋能华为ICT大赛2023-2024,助力各位选手取得理想成绩!

报名链接:https://xihe.mindspore.cn/course/foundation-model-v2/introduction

【下节课程预告】

考虑到春节假期,昇思MindSpore技术公开课第九讲第十讲的授课时间做出如下调整,请大家悉知:

  1. 昇思MindSpore技术公开课第九讲:RWKV1-4调整为202424日(周日)1400-1530
  2. 昇思MindSpore技术公开课第十讲:MoE调整为 2024224日(周六)1400-1530

本周日(24日)将为大家带来RWKV1-4的解析,我们将一同见证RNN的兴衰发展与Transformers的迅猛崛起,畅聊Transformers的哪些优劣势有待我们发掘,看新RNN——RWKV能否击败”Transformer再续往日辉煌。游历大模型发展历程,开阔大模型技术视野,一切尽在本周日下午14点 昇思MindSpore技术公开课——第九讲 RWKV1-4,敬请期待!

课程预告海报-01.jpg


【课程回顾】

CPM-Bee发布于2023527日,是一个完全开源、允许商用的百亿参数中英文基座模型,也是CPM-Live的第二个里程碑。CPM-Bee采用Transformer的自回归架构(auto-regressive),在超万亿(trillion)高质量语料上进行预训练,拥有强大的基础能力。开发者和研究者可以在CPM-Bee基座模型的基础上在各类场景进行适配来以创建特定领域的应用模型。

 

120日的课程中,我们有幸邀请到了OpenBMB开源社区技术负责人、CPM-Bee开源大模型项目主要维护者龚柏涛老师,从模型结构、数据格式、MindSpore+CPM-Bee这三方面解析CPM-Bee大模型。下面我们对本期公开课内容进行简单的总结,迎接下一节的深入:

· CPM-Bee模型结构

  1. CPM-Bee采用了统一编码器架构,通过灵活的Attention Mask统一不同的子任务;并使用了Pre-LayerNorm结构,相比传统的Post-LayerNorm具有更稳定的训练过程

 1.png

     2. Attention Mask通过位置编码和输入数据的格式进行设置,CPM-Bee的位置编码分为两个阶段

             a)第一阶段为segment之间统一bucket(即图中、)

             b)  第二阶段为segment内部的相对距离,随着相对距离增加进行衰减,弱化远举例token之间的相互影响

             c)  如此设计的位置编码可以保持段内位置,同时使段间token的位置关系依赖于段本身,支持更复杂的文本训练

2.png

· CPM-Bee输入数据

    1.不同任务可由嵌套字典的方式指定,便于支持多任务的零样本能力   

              a) 字典中存在不同kv段,每个value可以是另一个字典

              b) 嵌套字典形成树结构,文本段之间bucket由树上关系决定

             1D2F24B3-BCBB-4F92-93A8-5C5B5B04ABF1.png

3.png

    2.训练任务与输入数据示例,以填空任务为例

              a) 最外层的key为任务类型描述

               b) input对应输入内容,其中包含特殊字符<mask>,指定需要预测的位置

               c) <ans>对应模型回复,在本示例中,嵌套了<mask>位置的预测内容

4.png

   3.通过将复杂的多轮对话信息统一在input中,实现多轮对话,其中<用户><AI>为特殊符号

               a) <用户>对应多轮对话中用户的输入

               b) <AI>对应多轮对话中模型的输出

5.png

· CPM-Bee使用方法

    1.预训练 

              a) 数据清洗:每个文本放置为一行,换行进行转义变为\n

              b) 数据处理:使用py获取二进制数据文件

              c) 编写任务转换脚本:为增强格式的鲁棒性,让模型更好地理解文本本身的内容,将导入数据转换为随机的格式,如:input → document, <question> → <query>等,或打乱格式,如将inputquestion内容拼接等;

              d) 便携数据集脚本:通过json来进行训练权重分配

              e) 编写预训练脚本并启动预训练:配置scripts/pretrain_cpm_bee.sh参数,启动预训练

 

    2.微调

             a) 数据清洗:每行数据转换为含<ans>字段的CPM-Bee可读格式

             b) 数据处理:调用py

             c) 配置微调脚本并开启微调:配置scripts/finetune_cpm_bee.sh参数,启动微调

             d) 注:CPM-Beelearning rate根据训练部署进行调整

 

   3.推理

             a) 基于CPM-Bee仓进行推理

             b) 基于Huggingface进行推理

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。