论文笔记--Improving Language Understanding by Generative Pre-Training

论文笔记GPT1--Improving Language Understanding by Generative Pre-Training

  • 1. 文章简介
  • 2. 文章导读
    • 2.1 概括
    • 2.2 文章重点技术
      • 2.2.1 无监督预训练
      • 2.2.2 有监督微调
      • 2.2.3 不同微调任务的输入
  • 3. Bert&GPT
  • 4. 文章亮点
  • 5. 原文传送门
  • 6. References

1. 文章简介

  • 标题:Improving Language Understanding by Generative Pre-Training
  • 作者:Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever
  • 日期:2018

2. 文章导读

2.1 概括

  文章利用了Transformer架构,通过无监督的生成式(generative)预训练和有监督的微调相结合方式得到了适应多种NLP下游任务的模型。文章在包括文本分类、文本相似度分析、问答和知识推理四个任务的数据集上进行了数值实验。结果表明,生成式预训练在9/12个数据集上取得了State-of-the-art水平。文章提出的GPT训练方式是当前LLM的一种主流训练方式。
  文章整体架构如下
文章架构

2.2 文章重点技术

2.2.1 无监督预训练

  在预训练阶段,文章提出了通过生成式的预训练来学习语言结构,即通过前面的token预测当前的token,结构化表示为 L 1 ( U ) = ∑ i log ⁡ P ( u i ∣ u i − 1 , … , u i − k ; Θ ) L_1(\mathcal{U}) = \sum_i \log P(u_i| u_{i-1}, \dots, u_{i-k}; \Theta) L1(U)=ilogP(uiui1,,uik;Θ),其中 k k k表示窗口大小, Θ \Theta Θ为神经网络的参数。
  神经网络采用多层Transformer解码架构,相比于传统Transformer采用sin函数进行位置编码,这里通过模型学习到位置嵌入(position embedding)。其它部分则与Transformer解码部分基本一致。

2.2.2 有监督微调

  得到了预训练模型之后,我们将模型在标记数据集 C \mathcal{C} C上面进行微调。给定 ( x = ( x 1 , … , x m ) , y ) ∈ C (x=(x^1, \dots, x^m), y) \in \mathcal{C} (x=(x1,,xm),y)C,其中 x , y x, y x,y分别表示输入句子和对应的标注,我们首先将 x x x输入到预训练模型,得到输出 h l m h_l^m hlm,再增加一个线性层和Softmax得到输出概率 P ( y ∣ x ) = SoftMax ( h l m W y ) P(y|x) = \text{SoftMax}(h_l^m W_y) P(yx)=SoftMax(hlmWy),从而模型的最大似然函数为 L 2 ( C ) = ∑ ( x , y ) log ⁡ P ( y ∣ x ) . L_2(\mathcal{C})= \sum_{(x, y)} \log P(y|x). L2(C)=(x,y)logP(yx).
  最终模型学习的目标函数为 L 3 ( C ) = L 2 ( C ) + λ L 1 ( C ) L_3(\mathcal{C}) = L_2(\mathcal{C}) + \lambda L_1(\mathcal{C}) L3(C)=L2(C)+λL1(C),其中 λ \lambda λ表示预训练的权重。
注意,以上损失函数是针对微调任务生效的,而不是说每次都要重新训练大模型。

2.2.3 不同微调任务的输入

  针对不同的微调任务,文章采用了traversal-style方法,即将所有输入转化为一个有序的句子(Start标志句子开始,Extract标志句子结束),从而模型可以直接处理。具体的不同任务的处理方式如下图所示。
不同微调任务的输入

  • 文本分类:直接输入当前句子
  • 知识推理:输入Premise+Hypothesis,用Delim分隔
  • 文本相似度:输入两个句子–Text1+Text2和Text2+Text1,均用Delim分隔,再用线性层将其结合
  • 问答:输入每个可能答案的句子上下文+答案,分别送入不同的线性层,最后均喂给模型

3. Bert&GPT

  Bert和GPT是当下最受欢迎的两种预训练模型。二者均采用Transformer架构,但Bert采用的是双向Transformer架构(解码部分),而GPT为单向Transformer架构(编码部分)。从预训练方式看,Bert采用的是掩码预测预测方式,而GPT采用的是生成式预训练,即通过前面的token预测当前token,这也间接要求GPT采用单向Transformer架构。

4. 文章亮点

  文章提出了一种生成式预训练+微调的语言模型训练方法,更有效地捕获到语言模型结构。文章的GPT1也是后来GPT2、GPT3乃至ChatGPT的原型,是大语言模型(LLM)的一个重要里程碑。

5. 原文传送门

Improving Language Understanding by Generative Pre-Training

6. References

[1] Bert和GPT的区别
[2] GPT系列来龙去脉

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

增强语言模型导读

以ChatGPT为主的大语言模型出现已有半年时间,研究逐渐从针对模型本身的进化和功能,延展到如何更为有效地利用大模型,将它与其它工具结合,落地,以解决实际领域中的问题。 这里的增强主要指让大语言模型(LM&…

GPT 系列论文泛读

目录 1. GPT-1 1.1 无监督预训练 1.2 有监督的微调 2. GPT-2 3. GPT-3 4. InstructGPT 1. Supervised Fine-Tuning (SFT) 2. Reward Modeling (RM) 3. Reinforcement Learning (RL) 这篇写给自己的总结会相对比较简短,因为 GPT 系列的每篇论文都很长&#…

chatGPT-4论文导读:百年未有之大变局-(2)(转载)

声明:本文已征得原作者:荔枝海豹,同意后转载。 原文链接:chatGPT-4论文导读:百年未有之大变局-(2) - 知乎 在开始讲解之前,我们先说个梗, open AI,从这个名…

吴恩达联手OpenAI上线免费课程:一个半小时学会ChatGPT Prompt工程

点击上方“Python与机器智能”,选择“星标”公众号 第一时间获取价值内容 编辑:张倩 吴恩达亲自授课。 ChatGPT 来了,一切变化都快了起来,一些科技公司开始招募「prompt 工程师」。与写代码的传统计算机工程师不同,Pro…

0基础转行网络安全,选择pwn还是web?

随着5G、工业互联网、人工智能等新兴领域技术的兴起,从而快速推动了各国从人人互联迈向万物互联的时代。 奇安信董事长齐向东曾说过:“如果说5G带来了物联网和人工智能的风口,那么网络安全行业就是风口的平方——风口的风口。" 因此&…

网络安全从业人员2023年后真的会被AI取代吗?

随着ChatGPT的火爆,很多人开始担心网络安全从业人员会被AI取代。如果说网络安全挖洞的话,AI可能真的能取代。但是网络安全不仅仅只是挖洞,所以AI只是能缓解网络安全人员不足的情况,但是是不会取代人类的作用的。 就拿最近很火的C…

Proxy Authentication Required解决

症状 <script type"text/javascript">loadTOCNode(1, symptoms);</script> 如果 Internet Security and Acceleration (ISA) Server 2000 是链接到上游 Web 代理服务器, Web 浏览器中可能会收到完整 HTML 页和随机身份验证提示。 如果下游 ISAServer 计算…

chatgpt赋能Python-python_keyring

Python Keyring: 快速&#xff0c;安全&#xff0c;便捷地管理你的密码 如果你是一个 Python 应用程序开发者&#xff0c;你必须面对有关密码管理的问题。当然&#xff0c;你可以将密码明文硬编码到你的代码中&#xff0c;但是这会很快变得混乱和难以维护。更好的方法是使用 P…

一次疑似 JVM native 内存泄漏的排查实录

最近开发同学反馈&#xff0c;某定时任务服务疑似有内存泄漏&#xff0c;整个进程的内存占用比 Xmx 内存大不少&#xff0c;而且看起来是缓慢上升的&#xff0c;做了下面这次分析&#xff0c;包括下面的内容&#xff1a; 分析 JVM native 内存的一些常见思路内存增长了&#x…

【618期间】超过200小时的课程全都有优惠,全年最好的加入有三AI学习的时间来了~...

正值2023年618期间&#xff0c;既然是全民购物节&#xff0c;有三AI所有付费的视频课程开启优惠活动&#xff0c;即日起至节日结束&#xff08;6月18日晚23:59&#xff09;。 当前已有课程包括数据使用/模型分析/图像分类/图像分割/目标检测/图像生成/图像翻译/图像增强/视频分…

虚假新闻检测概述

几个概念 社交网络的新闻往往包括新闻内容&#xff0c;社交上下文内容&#xff0c;以及外部知识。其中新闻内容指的是文章中所包含的文本信息以及图片视频等多模态信息。社交上下文信息指的是新闻的发布者&#xff0c;新闻的传播网络&#xff0c;以及其他用户对新闻的评论和转发…

认识ChatGPT

ai是由dutuai训练的一种大型自然语言处理模型&#xff0c;能够进行自然语言对话。它基于预训练的语言模型gpt&#xff08;generative pre-trained transformer&#xff09;&#xff0c;具有强大的自然语言理解和生成能力。ai可以通过了解上下文并推断回应来与用户进行交互。它被…

ChatGPT之后何去何从?LeCun新作:全面综述下一代「增强语言模型」

来自&#xff1a;新智元 【导读】语言模型该怎么增强&#xff1f; ChatGPT算是点燃了语言模型的一把火&#xff0c;NLP的从业者都在反思与总结未来的研究方向。 最近图灵奖得主Yann LeCun参与撰写了一篇关于「增强语言模型」的综述&#xff0c;回顾了语言模型与推理技能和使用工…

数据库mysql

目录 数据库的实用性 操作网上商城数据库系统 维护数据库的完整性&#xff08;过&#xff09; 维护数据库的完整性是确保数据库数据的正确性和一致性的关键。以下是一些常见的方法来维护数据库的完整性&#xff1a; 添加修改和删除数据 查询网上商城系统数据 选择列 排…

reggie

分页 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, initia…

Chat GPT是什么?初学怎么使用Chat GPT?

1.Chat GPT介绍 ChatGPT的全称是"Chat Generative Pre-training Transformer"&#xff0c;中文意思是“对话生成预训练变形器”。它是一种基于预训练的自然语言处理模型&#xff0c;旨在实现智能对话生成和理解。通过在大量文本数据上进行预训练&#xff0c;ChatGPT可…

AIGC for code(AIGC/AI生成代码/生成式AI之代码生成/AI编程工具/自动编程/自动生成代码/智能编程工具/智能编程系统)

AIGC&#xff0c;Artificial Intelligence Generated Content&#xff0c;人工智能生成内容 AIGC for code&#xff0c;AI生成代码 1 Github Copilot 1.1 简介 Copilot是由微软的子公司Github与openAI共同开发的人工智能&#xff08;AI&#xff09;驱动的编程助手。它能够直…

Windows下搭建局域网内简易git服务器

这里写自定义目录标题 概述配置步骤1.任意位置创建git 仓库2.启动Git Daemon3.其他电脑克隆工程4.开机自动启动5.其他配置注意事项 概述 由于和朋友小规模制作项目&#xff0c;又使用了UE5这样的庞然大物&#xff0c;准备整一个本地轻量化一些git版本管理。 查阅资料是发现git…

在Oracle Linux上部署Yunzai Bot v3保姆式教程/甲骨文云/云崽Bot/原神

去我的博客查看本文&#xff1a;在Oracle Linux上部署Yunzai Bot v3保姆式教程 – 肚 (iocky.com) 本文也在Github与gitee可用。 初始配置 直接注册最低配置的就ok了&#xff0c;这里不再赘述如何注册Oracle Cloud以及开设Compute Instance。 先点进目标实例&#xff0c;然后点…

保姆级教程:Linux和Windows下本地化部署Vicuna模型

目录 文章摘要一、Vicuna简介1. Vicuna模型定义2. Vicuna模型的应用场景3. Vicuna模型的训练数据4. Vicuna模型的版本5. 性能评估 二、linux 操作系统下部署1. 环境介绍2. 安装Python3.10.72.1 下载Python3.10.7安装包2.2 安装gcc编译器2.3 安装依赖包2.4 升级openssl版本2.4.1…