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

        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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW 图像处理功能

设置成像系统并采集图像后,您可以分析和处理图像,以提取有关被检测对象的有价值信息。 内容 图像分析图像处理斑点分析机器视觉 图像分析 影像分析结合了基于影像像素的灰度强度计算统计数据和测量的技术。您可以使用影像分析功能来确定影像质量是否足以…

Java单例模式

Java单例模式 1、概念2、代码实现方案饿汉式实现:懒汉式实现:饿汉式PK懒汉式: 3、单例模式的特点及适用场景优点:缺点:适用场景: 4、关于单例模式的常见问题4.1 public static SingletonOne getlnstance(){}A.该方法为什么用静态的…

python爬虫快速入门

Python有其简洁明了,功能强大的优势,特别是在网络爬虫的应用上。接下来,我将分享一个适合Python初学者的爬虫快速入门教程。 一、Python爬虫简介 网页爬虫,是一种自动从互联网上获取信息的程序。在Python语言中,requ…

【Qt】程序异常结束。The process was ended forcefully.(解决方法不一样哦)

环境 系统:win10 64bit Qt:5.14.1 编译器:MinGW 32-bit 问题 Qt工程编译正常,但无法调试,报错:程序异常结束。The process was ended forcefully. 步骤 已尝试网上方法仍然不行的,可以直接…

Visual studio 快捷键(个人记录加深印象)

1、CtrlK 后 Ctrlx 插入代码片段快捷键(或 编辑”>“IntelliSense”>“插入代码片段) 注(摘抄):该列表包含用于创建类、构造函数、for 循环、if 或 switch 语句等的代码片段

硬件学习件Cadence day12 PCB设计中打地孔与地孔设计,PCB 后期处理,钻孔文件导出

1. 制作 过地孔的焊盘 (两种方法)(又叫制作盲埋孔) 1.1 制作热风焊盘 (之前的教程有,现在只给数据) 1.2 第一种 allegro 外部 焊盘软件制作 1.2.1 打开软件 1.2.2 制作焊盘,查看…

Layout-静态模板结构搭建、字体图标引入、一级导航渲染、吸顶导航交互实现、Pinia优化重复请求【小兔鲜Vue3】

Layout-静态模板结构搭建 Layout模块静态模板搭建 LayoutNav.vue <script setup></script><template><nav class"app-topnav"><div class"container"><ul><template v-if"true"><li><a h…

【SQL应知应会】分析函数的点点滴滴(二)

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 分析函数的点点滴滴 1.什么是分析函数&#xff1a;…

图书推荐管理系统Python,基于Django和协同过滤算法等实现

一、介绍 图书推荐系统 / 图书管理系统&#xff0c;以Python作为开发语言&#xff0c;基于Django实现&#xff0c;使用协同过滤算法实现对登录用户的图书推荐。 二、效果展示 三、演示视频 视频代码&#xff1a;https://www.yuque.com/ziwu/yygu3z/gq555ph49m9fvrze 四、Dj…

http长连接与会话保持

"我们半推半就的人生&#xff0c;没有和你一样被眷顾的未来!" 一、Http长连接 (1) 为什么需要长连接 如上展示的是一个常规得并不能再常规的http服务&#xff0c;从本地拉取远端linux上的本地文件上传至浏览器上&#xff0c;经过浏览器的渲染展示成如今的样子。唔&a…

数学建模——曲线拟合

一、曲线拟合简介 1、曲线拟合问题的提法 已知一组数据&#xff08;二维&#xff09;&#xff0c;即平面上n个点 (xi,yi)(i1,2,…,n)&#xff0c; xi互不相同。寻求一个函数yf(x)&#xff0c;使得f(x)在某种准则下与所有的数据点最为接近&#xff0c;即拟合得最好。 2、…

Java Stream 流进行根据元素某一属性过滤计算其他属性实例

设计一个测试类Tuser package org.example;import com.alibaba.fastjson.annotation.JSONField;import java.io.Serializable;public class Tuser implements Serializable {//用户名private String name;//平台名称private String sys;//登录次数private int times;//一个合并…

H5学习期间 问题文档(更新中)

目录 一、html与css中让标签 二、css鼠标滑入显示div 三、git报错解决方案 四、ul>li中给h1标签设置行高 一、html与css中让标签<li>在同一行显示 li标签一行显示 效果展示&#xff1a; 代码块&#xff1a; <!DOCTYPE html> <html lang"en"…

python 深度学习 解决遇到的报错问题2

目录 一、解决报错UnicodeDecodeError: utf-8 codec cant decode byte 0xe3 in position 15: invalid continuation byte 二、解决ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based pro 三、解决OSError: [WinError 1314…

Redhat7.6安装mysql5.7

环境准备&#xff1a;硬盘剩余空间最少8G,内存剩余最少2G Mysql官网下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/5.7.html 在Mysql官网下载列表中选择需要安装的版本: RedHat7.6安装MySQL5.7 安装之前&#xff0c;先要保证系统环境是干净的&#xff0c;不能存…

Mysql锁机制介绍

Mysql锁机制 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中&#xff0c;除传统的计算资源(如CPU、RAM、I/O等)的争用以外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题&#xff0…

docker部署rabbitmq

拉取镜像 我部署的是3.8版本的 docker pull rabbitmq:3.8 启动容器 docker run -d --hostname my-rabbit --name rabbitmq --restart always -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -p 15672:15672 -p 5672:5672 --privilegedtrue rabbitmq:3.8 启…

【Verilog HDL】FPGA-testbench基础知识

&#x1f389;欢迎来到FPGA专栏~testbench基础知识 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大家能…

【网络原理之一】应用层协议、传输层协议UDP和TCP,TCP的三次握手和四次挥手以及TCP的可靠和效率机制

应用层协议XML协议JSONHTTP 传输层协议UDP协议UDP的特点UDP协议格式 TCP协议TCP的特点TCP协议格式TCP的安全和效率机制确认应答(可靠机制)超时重传(可靠机制)连接管理(可靠机制)三次握手(连接过程)四次挥手(断开的过程)状态的转化 滑动窗口(效率机制)流量控制(可靠机制)拥塞控制…

【码银送书第一期】通用人工智能:初心与未来

目录 前言 正文 内容简介 作者简介 译者简介 目录 前言 自20世纪50年代图灵在其划时代论文《计算机器与智能》中提出“图灵测试”以及之后的达特茅斯研讨会开始&#xff0c;用机器来模仿人类学习及其他方面的智能&#xff0c;即实现“人工智能”&#xff08;Artificial …