【大模型】GPT系列模型基础

embedded/2024/9/23 9:31:26/

前言:GPT整体上与transformer结构相似,但只用了decoder部分。

目录

  • 1. GPT
  • 2. GPT2
  • 3. GPT3
  • 4. 知识补充
    • 4.1 下游任务实现方式
    • 4.2 sparse attention

1. GPT

在这里插入图片描述

  • 预训练:无监督,根据前k个词预测下一个词的概率。
  • 微调: 有监督,目标函数=有监督的目标函数+λ*无监督的目标函数。
  • 核心结构:主要由12个transformer的decoder组成,并且只用了mask multi-head attention

2. GPT2

在这里插入图片描述

与GPT1相比做了以下改进:

  • 在attention前做了Layer Norm,使得模型输入更稳定
  • 输入序列的最大长度从 512 扩充到 1024。
  • 使用预训练+zero-shot的方式,而不是预训练+有监督微调,zero-shot通过prompt实现。

3. GPT3

与GPT2相比做了以下优化:

  • zero-shot变few-shot
  • attention变为了sparse attention

4. 知识补充

4.1 下游任务实现方式

  • fine-tuning:预训练 + 训练样本计算loss更新梯度,然后预测。会更新模型参数
  • zero-shot:预训练 + task description + prompt,直接预测。不更新模型参数
  • one-shot:预训练 + task description + example + prompt,预测。不更新模型参数
  • few-shot:又称为in-context learning,预训练 + task description + examples + prompt,预测。不更新模型参数

4.2 sparse attention

  • dense attention:token之间两两计算注意力,时间复杂度为 O ( N 2 ) {O(N^2)} O(N2)
  • sparse attention:token只与其他token的一个子集计算注意力。对于某一个token,只计算和他相对距离小于k,以及距离为2k,3k…nk的token计算,时间复杂度为 O ( N ∗ l o g ( N ) ) {O(N*log(N))} O(Nlog(N))

http://www.ppmy.cn/embedded/104989.html

相关文章

【大数据】深入解析向量数据库Faiss:搭建与使用指南

摘要:本文将介绍向量数据库的概念,重点讲解Faiss这一高性能相似性搜索库。通过分析官网内容,详细阐述Faiss的安装过程及使用方法,帮助读者快速上手并应用于实际项目中。 什么是向量数据 向量数据是一种数据类型,通常用…

中缀表达式转换为前缀表达式

中缀表达式 中缀表达式是一种通用的算术或逻辑公式表示方法,它使用运算符(如 、-、*、/)来连接操作数(通常是数字或变量)。中缀表达式的特点是运算符位于操作数之间,例如: 3 5 * 2 在这个例子…

使用Java实现LRU缓存和LFU缓存

LRU缓存 问题描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值&…

Idea常用快捷键

一 快捷键 1.1 常用快捷键 首先将idea的快捷键设置eclipse模式:file--》settings-》keymap 1.单行注释 ctr/ 2.多行注释 1.选中区域,2. ctrshift/ 3.格式化: ctrshirtF 4.查找替换 ctrf 5.查找全局: ctrh 6.查…

【Spring Boot 实战】统一数据返回格式的最佳实践:构建稳定的RESTful API(实战篇)

文章目录 Spring Boot 实战:统一数据返回格式的最佳实践1. 引言2. 准备工作2.1 开发环境搭建2.2 项目初始化2.3 工具类和实体类的准备 3. 创建统一响应类3.1 定义统一响应类3.2 枚举状态码3.3 实现序列化 4. 创建统一响应处理类4.1 定义统一异常处理器4.2 自定义异常…

Nmap使用教程图文教程(超详细)零基础入门到精通,收藏这一篇就够了

kali的命令行中可以直接使用 nmap 命令,打开一个「终端」,输入 nmap 后回车,可以看到 nmap 的版本,证明 nmap 可用。 Nmap有四种基本功能:「端口扫描」、「主机探测」、「服务识别」和「系统识别」。 一、端口扫描 扫…

【秋招笔试】9.01小红薯秋招(已改编)-第一套卷

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

ES6基础----Module的使用

目录 Module 模块,用于大的工程项目,把每一个功能划分为一个模块放在一个 js 文件之中方便代码的复用及后期的维护 模块之间使用导入(import) 、导出(export)来进行联系,每个文件需要加入 type"module" 进行标识 Module 模块&…