昇思MindSpore公开课大模型专题第二季课程火爆来袭!未报名的小伙伴抓紧时间扫描下方二维码参与课程,并同步加入课程群,有免费丰富的课程资源在等着你。

第一节课程我们带来了从GLM到ChatGLM的全面讲解,并且带领大家在OpenI启智社区云脑算力上,使用Ascend+ModelArts+MindSpore部署ChatGLM聊天机器人。下面我们对第一期课程知识点进行简单总结,迎接下一节课程的继续深入。
一、
课程回顾
1、GLM模型结构
1)LLM的进化树:浅析Autoregressive、Autoencoding和Encoder-Decoder结构。
2)Autoregressive Blank Infilling:GLM的核心设计,继承Encoder-Decoder结构的理念结合了Autoregressive、Autoencoding的特点,可以通过改变遮盖内容的长度和数量,实现NLU、Conditional Generation、Unconditional Generation任务三合一。

3)大模型稳定训练的结构优化,包括:
-
Float32的softmax
-
调节Embedding层梯度
-
DeepNorm: Post LayerNorm
-
RoPE:融合相对位置信息的旋转位置编码
-
门控注意单元GLU
2、Positional Embedding:Transformer输入的位置信息编码
1)absolute positional embeddings: 对于第k个位置的向量xk,添加位置向量pk(仅依赖于位置编号k),得到xk+pk :
-
Sinusoidal Positional Embedding:



优点:
-
计算self-attention q,k点积时,保留了词语的相对位置信息(不会因词语的绝对位置发生改变)
-
前面位置的positional embedding不受后续新增token的影响(easier to cache)
-
token之间的依赖会随着相对距离的增长而逐步衰减(符合认知,距离越远的词普遍关联不大)
-
3、ChatGLM演进路线

4、使用NPU+MindSpore Transformers试用ChatGLM推理:
1)到OpenI启智申请账号,开启云脑任务(NPU)/自己用GPU创建环境。
2)安装MindSpore和MindSpore Transformers
-
MindSpore安装:参考https://www.mindspore.cn/install
-
MindSpore Transformers安装:
1、git clone -b dev https://gitee.com/mindspore/mindformers.git
2、cd mindformers
3、bash build.sh
4、如果使用MindSpore1.10版本,请安装MindFormers 0.6版本(git clone -b r0.6 …)
-
克隆昇思MindSpore技术公开课代码仓:
git clone https://github.com/mindspore-courses/step_into_llm.git
-
cd step_into_llm/Season2.step_into_llm/01.ChatGLM/
-
下载ckpt和tokenizer文件
1、ckpt:wget https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/XFormer_for_mindspore/glm/glm_6b.ckpt
2、tokenizer:wget https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/XFormer_for_mindspore/glm/ice_text.model
-
运行推理部署文件:python cli_demo.py
往期回顾 【昇思MindSpore技术公开课】第二期课程即将开课,报名开启大模型之旅
昇思MindSpore技术公开课(大模型专题第一期)课程整体回顾请查收!第二期课程正在赶来
二、
下节课预告
下节课程我们邀请到了中国科学院空天信息创新研究院研究员 实验室副主任 孙显老师带来多模态遥感智能解译基础模型的讲解,介绍多模态遥感智能解译基础模型的原理、训推等相关技术,以及模型相关行业应用。10月28日(下周六)16:00-17:30,我们不见不散!
昇思MindSpore公开课大模型专题第二季课程火爆来袭!未报名的小伙伴抓紧时间扫描下方二维码参与课程,并同步加入课程群,有免费丰富的课程资源在等着你。
第一节课程我们带来了从GLM到ChatGLM的全面讲解,并且带领大家在OpenI启智社区云脑算力上,使用Ascend+ModelArts+MindSpore部署ChatGLM聊天机器人。下面我们对第一期课程知识点进行简单总结,迎接下一节课程的继续深入。
一、
课程回顾
1、GLM模型结构
1)LLM的进化树:浅析Autoregressive、Autoencoding和Encoder-Decoder结构。
2)Autoregressive Blank Infilling:GLM的核心设计,继承Encoder-Decoder结构的理念结合了Autoregressive、Autoencoding的特点,可以通过改变遮盖内容的长度和数量,实现NLU、Conditional Generation、Unconditional Generation任务三合一。
3)大模型稳定训练的结构优化,包括:
Float32的softmax
调节Embedding层梯度
DeepNorm: Post LayerNorm
RoPE:融合相对位置信息的旋转位置编码
门控注意单元GLU
2、Positional Embedding:Transformer输入的位置信息编码
1)absolute positional embeddings: 对于第k个位置的向量xk,添加位置向量pk(仅依赖于位置编号k),得到xk+pk :
Sinusoidal Positional Embedding:
优点:
计算self-attention q,k点积时,保留了词语的相对位置信息(不会因词语的绝对位置发生改变)
前面位置的positional embedding不受后续新增token的影响(easier to cache)
token之间的依赖会随着相对距离的增长而逐步衰减(符合认知,距离越远的词普遍关联不大)
3、ChatGLM演进路线
4、使用NPU+MindSpore Transformers试用ChatGLM推理:
1)到OpenI启智申请账号,开启云脑任务(NPU)/自己用GPU创建环境。
2)安装MindSpore和MindSpore Transformers
MindSpore安装:参考https://www.mindspore.cn/install
MindSpore Transformers安装:
1、git clone -b dev https://gitee.com/mindspore/mindformers.git
2、cd mindformers
3、bash build.sh
4、如果使用MindSpore1.10版本,请安装MindFormers 0.6版本(git clone -b r0.6 …)
克隆昇思MindSpore技术公开课代码仓:
git clone https://github.com/mindspore-courses/step_into_llm.git
cd step_into_llm/Season2.step_into_llm/01.ChatGLM/
下载ckpt和tokenizer文件
1、ckpt:wget https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/XFormer_for_mindspore/glm/glm_6b.ckpt
2、tokenizer:wget https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/XFormer_for_mindspore/glm/ice_text.model
运行推理部署文件:python cli_demo.py
往期回顾【昇思MindSpore技术公开课】第二期课程即将开课,报名开启大模型之旅
昇思MindSpore技术公开课(大模型专题第一期)课程整体回顾请查收!第二期课程正在赶来
二、
下节课预告
下节课程我们邀请到了中国科学院空天信息创新研究院研究员 实验室副主任 孙显老师带来多模态遥感智能解译基础模型的讲解,介绍多模态遥感智能解译基础模型的原理、训推等相关技术,以及模型相关行业应用。10月28日(下周六)16:00-17:30,我们不见不散!