GPT 的基础 - T(Transformer)

news/2024/7/19 8:40:58 标签: gpt, transformer, 深度学习, attention

我们知道GPT的含义是:
Generative - 生成下一个词
Pre-trained - 文本预训练
Transformer - 基于Transformer架构

我们看到Transformer模型是GPT的基础,这篇博客梳理了一下Transformer的知识点。


  • BERT: 用于语言理解。(Transformer的Encoder)
  • GPT: 用于语言生成。(Transformer的Decoder)

GPT也是在BERT的基础上发展起来的,只是OpenAI和google、百度走了不同的路线。


Transformer本质上提出了一种基于注意力机制的encoder-decoder框架或架构。这个架构中的主要组件,如多头注意力机制、位置编码、残差连接以及前馈神经网络都是通用的构建块。


Transformer对比RNN或者LSTM有这些优点:

  1. 并行计算
  2. 长期依赖学习
  3. 训练更稳定
  4. 更少的参数
  5. 无需标定的输入输出

Transformer主要缺点如下:

  1. Transformer无法很好地建模周期时间序列。
  2. Transformer可能不适合较短序列。
  3. 计算复杂度较高。
  4. 缺乏韵律和时域信息。

Encoder的组成:

  • Inputs - 输入分词层(Tokenize)
  • Input Token Embedding 输入词向量嵌入化(WordEmbedding)
  • Transformer Block 中间Encoder层可以简单把这个盒子理解为一个Block ,整 Transformer Block中可以在分解为四层:
    • self-attention layer 自注意力计算层
    • normalization layer 归一化层
    • feed forward layer 前馈层
    • anothernormalization layer 另一个归一化层

Decoder和Encoder唯一的区别就是多了一个Encode-Decode注意力层,然后最后一层接了个linear+softmax层,损失函数就是交叉熵损失。


  • Self-Attention 计算过程
    在这里插入图片描述

  • 多头-Attention的计算
    在这里插入图片描述

把multi-headed输出的不同的z,组合成最终想要的输出的z,这就是multi-headed Attention要做的一个额外的步骤。



http://www.niftyadmin.cn/n/5396772.html

相关文章

Scrapy与分布式开发(2.1.2):python常用网络请求库httpx

Python httpx 模块详细讲解 一、引言 httpx 是一个用于发送 HTTP 请求的 Python 库,它提供了简单易用的 API,支持同步和异步请求,并且具有出色的性能和灵活性。httpx 是 requests 的一个现代替代品,它使用 httpcore 作为底层传输层,支持 HTTP/1.1 和 HTTP/2 协议。 二、…

MySql出现无法正常启动(0x000007b)的快速解决

目录 1.背景介绍 2.解决方案 1.背景介绍 昨天在清理电脑内存空间的时候,不小心将一些重要的系统组件删除,导致无法正常启动mysql,一开始是提示经过msvcp120.dll,于是找到下载dll的网站将组件补充进system,但随后又提…

Linux的Ubuntu的APT使用

Linux的Ubuntu的APT使用 apt 介绍 apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具。在 Ubuntu 下,我们可以使用 apt 命令进行软件包的安装、删除、清理等,类似于 Windows 中的软件管理工具。 Ubuntu 软件操作的相关命令 su…

李宏毅机器学习入门笔记——第六节

对抗生成式网络(GAN) 输入一个问题输出不同的答案出来 GAN里面有生成器和鉴别器 不断对抗生成,进行两者的网络 算法步骤 这里输出的结果可以是分类的,也可以是回归的。 两者训练过程,是固定生成器,训练…

【Linux】云服务器的Redis被黑

📝个人主页:五敷有你 🔥系列专栏:Linux ⛺️稳中求进,晒太阳 攻击发现: 这个异常情况是在腾讯云被入侵后,短信提醒发现的。并没有系统的学习过关于服务器安防相关的知识,遇到…

【C++】模板初阶 | 泛型编程 | 函数模板 | 类模板

目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.2 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 【本节目标】 1. 泛型编程 2. 函数模板 3. 类模板 1. 泛型编程 如何实现一…

2024年3月5-7日年生物发酵装备展-环科环保科技

参展企业介绍 山东环科环保科技有限公司,是一家集环保设备的设计、制造、安装、服务及环境治理工程总承包于一体的企业。 公司长期专注于大气、水、危固废三大领域,以科技创造碧水蓝天,为客户提供环保解决方案。 以稳定的产品及服务质量、适用的技术、…

【经验】vscode 鼠标拖曳不能选中整行文字,只能选中纵向矩形范围

1、问题描述 不知道昨天操作vscode设置界面时,误选择了啥,导致鼠标拖曳不能选中整行文字,只能选中纵向矩形范围,现象如下: 2、解决方法 1)打开设置界面 点击左下角按键,选择“设置” 2&…