首页 > 其他分享 >transform和大模型训练相关

transform和大模型训练相关

时间:2023-08-08 16:47:43浏览次数:40  
标签:函数 训练 模型 transform ReLU 激活 FNN Norm GeLU

分析transformer模型的参数量、计算量、中间激活、KV cache - 知乎 (zhihu.com)

 

1.数据流程

 注:解码的过程会多一个Attention,先加掩码来避免解码获取当前word后的词

 数据的计算流程:embeding——》multi head attention——》Add&Norm——》FNN——》Add&Norm——》Linear——》softmax

FNN和多头Attention后面都跟着残差网络:

多头Attention的残差网络:LayerNorm(x+multi head attention(x))

FNN的残差网络:LayerNorm(x+FNN(x))

Feed Forward 层比较简单,是一个两层的全连接层(先升维再降维的过程),第一层加激活函数,第二层不使用激活函数。最后其输出再经过一层Add & Norm。

计算过程:y = f(Wx+b)W+b,transfrom论文中使用relu,即为y = max(0, Wx+b)W+b。而在BERT中引入了GeLU激活函数

2.大模型中使用的激活函数

 

 swish激活函数:

 

 

各自的优势和缺点
相对于 Sigmoid 和 Tanh 激活函数,ReLU 和 GeLU 更为准确和高效,因为它们在神经网络中的梯度消失问题上表现更好。梯度消失通常发生在深层神经网络中,意味着梯度的值在反向传播过程中逐渐变小,导致网络梯度无法更新,从而影响网络的训练效果。而 ReLU 和 GeLU 几乎没有梯度消失的现象,可以更好地支持深层神经网络的训练和优化。

而 ReLU 和 GeLU 的区别在于形状和计算效率。ReLU 是一个非常简单的函数,仅仅是输入为负数时返回0,而输入为正数时返回自身,从而仅包含了一次分段线性变换。但是,ReLU 函数存在一个问题,就是在输入为负数时,输出恒为0,这个问题可能会导致神经元死亡,从而降低模型的表达能力。GeLU 函数则是一个连续的 S 形曲线,介于 Sigmoid 和 ReLU 之间,形状比 ReLU 更为平滑,可以在一定程度上缓解神经元死亡的问题。不过,由于 GeLU 函数中包含了指数运算等复杂计算,所以在实际应用中通常比 ReLU 慢。

总之,ReLU 和 GeLU 都是常用的激活函数,它们各有优缺点,并适用于不同类型的神经网络和机器学习问题。一般来说,ReLU 更适合使用在卷积神经网络(CNN)中,而 GeLU 更适用于全连接网络(FNN)。
geglu和swiglu都是基于glu的门线性单元而来,glu使用的是原始的sigmoid激活函数,geglu使用gelu来替代sigmoid,swiglu使用swish激活函数

 

 LayerNorm的方式:post Norm,pre Norm RmsNorm deepNorm,一般norm是在FNN和attention之后,前置就是在FNN和Attention计算之前就进行norm计算

 

 位置编码:

 

标签:函数,训练,模型,transform,ReLU,激活,FNN,Norm,GeLU
From: https://www.cnblogs.com/qiaoqifa/p/17614740.html

相关文章

  • Django 模型的简单应用
    每一个应用下的数据库模型类,需要在当前应用下的model.py这个文件中定义数据库模型定义规则如下:一个数据库模型类需要继承Model或者Model的子类默认会创建一个自动递增的id主键默认创建的数据库名为,应用名小写_数据库模型类小写一个数据库模型类相当于......
  • 低代码可视化平台-数聚模型工厂DIMF
     以模型为驱动,汇集数据的集成、建模、加工、管控,为数据可视化分析、企业协同应用等提供有效数据支撑的数据集成加工处理工具。 数聚模型工厂DIMF是以模型为驱动的数据集成加工处理工具。只需简单的拖拉拽动作,让非技术人员也能零代码完成数据处理工作;内置丰富的数据处理组件,......
  • 人工智能的未来:探索下一代生成模型
    推荐:使用NSDT场景编辑器助你快速搭建可编辑的3D应用场景生成式AI目前能够做什么,以及探索下一波生成式AI模型需要克服的当前挑战?作者 NishaArya,KDnuggetsonMay22,2023in 人工智能脸书唽LinkedIn红迪网电子邮件共享如果你跟上科技世界的步伐,你就会知道生成式人工智能......
  • 代码随想录算法训练营第十三天| 239. 滑动窗口最大值 347.前 K 个高频元素 总结
    239.滑动窗口最大值 (一刷至少需要理解思路)    卡哥建议:之前讲的都是栈的应用,这次该是队列的应用了。本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。    题目链接/文章讲解/视频讲解:https://programmercarl.com/0239.%E6%BB%91%E5%8A%A8%E7%AA%......
  • 数据仓库多维数据模型设计
    建设数据模型既然是整个数据仓库建设中一个非常重要的关键部分,那么,怎么建设我们的数据仓库模型就是我们需要解决的一个问题。这里我们将要详细介绍如何创建适合自己的数据模型。数据仓库建模方法大千世界,表面看五彩缤纷,实质上,万物都遵循其自有的法则。数据仓库的建模方法同样也有很......
  • OLAP和多维数据模型
    OLAP分析联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(FastAnalysisofSharedMultidimensionalInformation),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数......
  • hadoop组件---数据仓库(二)---hive的数据模型和数据类型
    我们在上一章中已经大概了解了Hive有四种数据模型,本章就来详细了解它们的使用。Hadoop组件—数据仓库(一)—Hive简介数据模型Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织Hive中的表,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive......
  • TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、
    TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用TextBrewer是一个基于PyTorch的、为实现NLP中的知识蒸馏任务而设计的工具包,融合并改进了NLP和CV中的多种知识蒸馏技术,提供便捷快速的知识蒸馏框架,用于以较低的......
  • [论文阅读] Neural Transformation Fields for Arbitrary-Styled Font Generation
    Pretitle:NeuralTransformationFieldsforArbitrary-StyledFontGenerationaccepted:CVPR2023paper:https://openaccess.thecvf.com/content/CVPR2023/html/Fu_Neural_Transformation_Fields_for_Arbitrary-Styled_Font_Generation_CVPR_2023_paper.htmlcode:htt......
  • Telsa T4配置下用peft微调t5模型
    记录运行这个代码的过程:https://huggingface.co/docs/peft/task_guides/seq2seq-prefix-tuning环境配置虚拟环境python-Vcondacreate-npeft-practicepython=3.10.12condaactivatepeft-practice安装pytorchcondainstallpytorchtorchvisiontorchaudiopytorch-cu......