GPT模型训练实践(2)-Transformer模型工作机制

news2024/12/23 6:00:41

        Transformer 的结构如下,主要由编码器-解码器组成,因为其不需要大量标注数据训练和天然支持并行计算的接口,正在全面取代CNN和RNN:

扩展阅读:What Is a Transformer Model?

其中

编码器中包含自注意力层和前馈神经网络层;

解码器包含自注意力层、编码器-解码器注意力层、前馈神经网络层三个部分。

了解Transformer,需要了解什么是超参数,这也与稍后的代码实践相关:

超参数:事先设定的。Transformer典型的超参数有Token数量,词向量,位置向量,解码器层数,自注意力头数、注意力维度数、学习率等。

与超参数对应的还有一个词叫参数,参数是在训练过程中得到的,出厂前的训练叫预训练,会得到基础参数(最开始的参数叫原始参数,随机生成的),但在实际的使用过程中,需要经过Fine-tuning,也就是微调,类似于把一套毛坯房装修为精装房的过程,以后在使用该模型的时候,其实就等于入住了。

通常来说,微调过后的参数与基础参数是不同的,这是由模型最终使用者的应用目的有关的,比如要把一个基础模型训练为安全领域的模型,那么在训练过程中就要使用安全行业的相关语料,同时结合安全专家的经验,不断调节参数,最终使模型能够在安全领域进行推理。微调这件事情主要要关注参数是否更改、在哪一层调整以及作用形式,目前主要的微调技术包括SFT(有监督微调),Prompt(提示词微调),LORA(低秩矩阵适应微调)、RLHF(人类反馈的强化学习)等。chatGPT是基于GPT3,花了一年多时间采用SFT、RM(奖励模型)、和PPO等微调之后才产生的。【想想要花多少钱)

在GPT中,只采用了解码器,且不是Transformer中标准的解码器层因为没有编码器的输入,所以解码器也去掉了编码器-解码器注意力层,最终结构如下图所示:

其内部的结构如下图所示:

第一层自注意子层:捕捉输入序列之间相互之间的关系,能学习完整的语义依赖;

第二层前馈神经网络子层:能捕捉整改输入序列的隐藏的、复杂的关联信息。

GPT总体结构如下图所示:

下面详细介绍:本介绍主要基于合集·GPT模型详细解释课程中“我是一个人”作为输入。分词为 

我     是     一个   ,3个token

1、输入处理:输入处理主要包括分词、向量嵌入、词向量+位置向量三个处理部分,处理完毕之后输出为一个3×12288的矩阵。

2、解码器栈:两部分组成,先看自注意子层

在自注意力子层中,有自注意头,且因为没有输出,其输入主要来自自己,也就是左边的信息,所有叫做自回归自注意力机制。 此部分主要是关于q.,k,v的计算。

 自注意力子层最终输出的为一个3×12288的矩阵。

接下来看第二个部分--前馈神经网络子层。

前馈神经网络输入是3×12288的矩阵,经过一系列计算之后,输出一个3×12288的矩阵。

3、输出部分:输出为一个3×50257的概率权重矩阵

 

附图:GPT、BERT、ELMo三者对比

尤其感谢B站UP主三明2046,其作品《合集GPT模型详细解释》生动精彩,本系列文章充分吸收学习了该课程,并且在文章图片素材多有引用;

本文代码部分主要引用How to build a GPT model

如有侵权,请联系笔者删除,感谢,致敬!

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

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

相关文章

HCIA回顾笔记整理

OSI 7层参考模式 开放式系统互联参考模型 应用层 抽象语言--> 编码 表示层 编码-->二进制 会话层 提供应用程序地址 -- 无标准 上三层,应用程序加工数据的部分 下四层,数据流层 负责数据传输 传输层 数据分段(…

Hive基础知识

1.Hive简介 Hive是由Facebook开源用于解决海量结构化日志的数据统计工具。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 2.Hive本质 Hive的本质是将HQL转化成MapReduce程序。 Hive处理的数据存储在H…

Git远程操作

目录 分布式版本控制系统 远程仓库 新建远程仓库 管理仓库 issue Pull Request 克隆远程仓库到本地 向远程仓库推送 拉取远程仓库 配置git 忽略特殊文件 给命令配置别名 分布式版本控制系统 我们之前所说的所有内容,都是在本地,也就是只在你的…

Java——抽象类和接口

一、抽象类 1.1、抽象类 使用abstract关键字定义的类称为抽象类 public abstract class Employee {private String name;private int number; }在 Java中抽象类不可以实例化为对象。例如: 1.2、抽象方法 使用abstract关键字定义的方法称为抽象方法。抽象方法没…

IDEA自动导入包

问题 IDEA如何自动导入包 详细问题 项目开发中,笔者常常先将光标瞄准所需导入的类,后使用快捷键AltEnter进行导包操作。这种方式需要逐个处理,相对费事费力,IDEA如何自动导入所有程序所涉及的包呢 解决方案 1、左上角 F i l …

基于Elman神经网络的电力负荷预测(附源码)

一、算法原理 Elman神经网络是一种典型的动态递归神经网络,它是在BP网络基本结构的基础上,在隐含层增加一个承接层,作为一步延时算子,达到记忆的目的,从而使系统具有适应时变特性的能力,增强了网络的全局稳…

2017年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

🏠个人主页:fo安方的博客✨ 💂个人简历:大家好,我是fo安方,考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。🐳 💕兴趣爱好:b站天天刷&…

碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 碳排放预测模型 | Python实现基于SVR支持向量机回归的碳排放预测模型 研究内容 碳排放被认为是全球变暖的最主要原因之一。 该项目旨在提供各国碳排放未来趋势的概述以及未来十年的全球趋势预测。 其方法是…

Quiz 16_3-1: Databases | Python for Everybody 配套练习_解题记录

文章目录 Python for Everybody课程简介Quiz 16_3-1: Databases单选题(1-11)操作题Autograder: Single Table SQL Python for Everybody 课程简介 Python for Everybody 零基础程序设计(Python 入门) This course aims to teach …

CS CK VT系列贴片型铝电解电容器特点

CS CK VT系列贴片型铝电解电容器就是宽温通用品,也就说电性和RVT贴片电解电容器和RST贴片电解电容器一样,105℃2000小时寿命,用于消费类电子。偶尔CS贴片电解电容器,CK贴片电解电容器和VT贴片电解电容器会有缩体产品。

菜鸡shader:L6 人物材质基础模型以及三种透明特效AC、AB和AD

文章目录 人物材质基础模型unity练练看实现代码实现最后效果 透明特效AC效果展示 AB效果展示 AD效果展示 自定义混合模式效果展示 人物材质基础模型 这里是老师布置的作业,要求把之前学过的所有模型都组合起来,组成一个基本的人物材质模型。这里在上作业…

基于安卓的接的快接单平台/基于Android的快的接单平台

【摘要】 随着互联网的趋势的到来,各行各业都在考虑利用互联网将自己的信息推广出去,最好方式就是建立自己的平台信息,并对其进行管理,随着现在智能手机的普及,人们对于智能手机里面的应用接的快接单平台也在不断的使用…

设计模式学习之模板方法模式

设计模式系列往期文章 设计模式学习之策略模式设计模式学习之策略模式在前端的应用设计模式学习之简单工厂模式设计模式学习之工厂方法模式设计模式学习之抽象工厂模式设计模式学习之策略模式和简单工厂模式的对比设计模式学习之观察者模式 模板方法模式是行为型设计模式的一…

获取Alibaba Nacos控制台管理权限

人活着,就得随时准备经受磨难。他已经看过一些书,知道不论是普通人还是了不起的人,都要在自己的一生中经历许多磨难。 磨难使人坚强。 漏洞复现 访问漏洞url 输入默认账号密码:nacos/nacos 成功获取Alibaba Nacos控制台管理权…

全面揭秘!火山引擎边缘 IaaS 混合部署架构实践

2023年6月16日-17日 51CTO WOT全球技术创新大会在北京成功举办。在快速发展的数字化时代,云计算和边缘计算作为科技领域的两大核心驱动力,正引领着全球技术变革的潮流。为了探讨云时代基础设施在科技发展中的关键作用,推动边缘云行业的进一步…

【夏虫语冰】Office操作技巧汇总

文章目录 1、Word技巧1.1 添加题注 2、Visio技巧2.1 快捷键2.2 格式刷 结语 1、Word技巧 1.1 添加题注 在 Word 中添加、删除标题或设置其格式: 可以为图表、公式或其他对象添加题注。 题注是带编号的标签,可将其添加到图表、表格、公式或其他对象。 …

springboot+echarts +mysql制作数据可视化大屏(四图)

作者水平低,如有错误,恳请指正!谢谢!!!!! 项目简单,适合大学生参考 分类专栏还有其它的可视化博客哦! 专栏地址:https://blog.csdn.net/qq_559…

C++类和对象——(对象的赋值拷贝构造函数)

目录 对象的赋值 目录 对象的赋值 1、提出问题: 2、解决办法: 拷贝构造函数 1、拷贝构造函数的原型: 2、调用机制: 3、使用例程代码 总代码工程: 对象的赋值 1、提出问题: 能否使用一个已经构造…

Java——《面试题——网络篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 Java——《面试题——MySQL篇》​​​​​​ Java——《面试题——SpringCloud》 Java…

Java——《面试题——设计模式篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 Java——《面试题——MySQL篇》​​​​​​ Java——《面试题——SpringCloud》 Java…