当前位置: 首页 > news >正文

大语言模型-GPT2-Generative Pre-Training2

一、背景信息:

GPT2是2019年由OpenAI 提出的预训练语言模型。
GPT2提出语言模型式无监督的多任务学习 。旨在通过无监督学习也能达到和finetune一样的效果,并且拥有更强的泛化能能力。
即提出利用语言模型做下游任务时,不需要下游任务的任何标注信息(zero-shot设定),也不用训练模型。只需要训练一个模型,在多个任务上都能用。
GPT2出自Language Models are Unsupervised Multitask Learners,语言模型是无监督的多任务学习者

二、整体结构:

GPT2继续沿用在GPT中使用的单向 Transformer Decoder 的结构。
相较于GPT模型结构,GPT2做了下面几项改动:

  • 将Layer Normalization步骤放置在各模块之前进行。
  • 在最后一个Attention后增加了一个Layer Normalization。
  • GPT1使用的词向量长度为768,GPT2分别使用了1024、1280、1600长度的词向量。
  • GPT1使用的12层的Transformer Decoder,GPT2分别使用了24、36、48层。
  • 去掉了fine-tuning层,只有无监督的pre-training阶段,不再针对不同任务分别进行微调建模
    在这里插入图片描述

三、GPT2的训练

GPT有两个问题

  • 对于下游的每个任务,仍需重新训练模型
  • 需要收集有标签的数据

GPT2训练目标: 为解决GPT的这两个问题,GPT-2以使用无监督的预训练模型做有监督的任务作为训练目标,来训练一个泛化能力更强的模型。

多任务学习(Multitask learning) 是指在训练一个模型时,同时使用多个任务不同领域不同来源的数据集,通过多个损失函数来达到一个模式在多个任务上都能用的效果。

GPT2最核心的地方,是在无监督的情况下进行训练,并且实现zero-shot的多任务推理。
GPT2根据已知的上文(残句),预测未知的下文(下一个词)。
模型在预测出每个新词后,该词就被添加在当前词序列(句子)后面,这个序列(句子)会成为模型下一步的新输入。
这种对序列进行条件概率建模方法叫做自回归(auto-regression)

Reference

1、GPT2-Language Models are Unsupervised Multitask Learners
2、DonngZH【大模型】GPT-2
3、FLUID-GPT,Steve D Yang
4、The Illustrated GPT-2

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • java实现OCR图片识别,RapidOcr开源免费
  • 前端工程化-vue项目创建
  • Kafka知识总结(事务+数据存储+请求模型+常见场景)
  • 《Java初阶数据结构》----6.<优先级队列之PriorityQueue底层:堆>
  • USB3.0的等长要求到底是多少?
  • Unity 物理动画:利用物理引擎创造逼真动作
  • Python面试整理-常用标准库
  • PHP反序列化漏洞
  • 将手机作为服务器运行docker服务
  • 了解ChatGPT API
  • leetcode面试题17.最大子矩阵
  • Windows系统安全加固方案:快速上手系统加固指南 (下)
  • c#自动关闭 MessageBox 弹出的窗口
  • 【Pytorch】当num_workers > 0时,程序卡住
  • Vue2.
  • 【391天】每日项目总结系列128(2018.03.03)
  • 10个确保微服务与容器安全的最佳实践
  • Angular 响应式表单之下拉框
  • C++11: atomic 头文件
  • Create React App 使用
  • emacs初体验
  • ES6系列(二)变量的解构赋值
  • ESLint简单操作
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Go 语言编译器的 //go: 详解
  • JavaScript 一些 DOM 的知识点
  • Java深入 - 深入理解Java集合
  • JS变量作用域
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Phpstorm怎样批量删除空行?
  • Vue 2.3、2.4 知识点小结
  • 高性能JavaScript阅读简记(三)
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端临床手札——文件上传
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • gunicorn工作原理
  • MyCAT水平分库
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • !!java web学习笔记(一到五)
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #1015 : KMP算法
  • #APPINVENTOR学习记录
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (四)Controller接口控制器详解(三)
  • (转载)深入super,看Python如何解决钻石继承难题
  • .gitignore文件设置了忽略但不生效