wpe零基础自学,wpe专业版使用教程

首页 > 教育 > 作者:YD1662024-05-20 23:26:50

作者:monychen,腾讯 IEG 应用研究员

简单来说,ChatGPT 是自然语言处理(NLP)和强化学习(RL)的一次成功结合,考虑到读者可能只熟悉其中一个方向或者两个方向都不太熟悉,本文会将 ChatGPT 涉及到的所有知识点尽可能通俗易懂的方式展现出来,有基础的同学可以选择性跳过一些内容。

GPT 的进化史

本节的主要目的是介绍自然语言处理中语言模型的一些基础知识,理解语言模型到底在做什么。

GPT

所谓的 GPT(Generative Pre-trained Transformer),其实是 Generative Pre Training of a language model(语言模型)。那什么是语言模型呢?可以简单地把语言模型理解为“给定一些字或者词,预测下一个字或者词的模型”,这里的字或者词在 NLP 领域通常也被称为 token,即给定已有 token,预测下一个 token 的模型,这里举个例子,我们在搜索引擎里进行搜索时,自动会往后联想就是种语言模型的体现。

wpe零基础自学,wpe专业版使用教程(1)

那么训练语言模型有什么优势呢?答案就是它不需要人工标注数据!

比如以“today is a good day”为例,它可以被拆解为:

训练数据标签todayistoday isatoday is agoodtoday is a goodday

接下来让我们来数学化地描述一下,给定一个句子,比如 ,语言模型其实就是想最大化:

其中 是考虑的窗口长度,条件概率 通过一个参数为 的神经网络来描述。

GPT 的神经网络采用了一个多层的 Transformer decoder,输入经过 embedding 层(token embedding 叠加 position embedding),然后过多层解码器,最后通过一个 position-wise 的前向网络得到输出的分布:

有了模型结构,有了目标函数,已经可以预训练一个大容量的语言模型了,这也就是 GPT 的第一阶段,在 GPT 的训练流程里还有第二个阶段,利用一些有标签数据进行微调。假设输入为 ,标签为 ,可以将输入喂入模型,模型的输出再叠加一个线性层作为最终的输出:

目标函数也就是:

然而作者在微调时还发现,同时考虑语言模型的自回归目标函数效果更好,也就是:

在微调阶段,可以优化的参数只有顶部的线性层已经用作分隔符的 token embedding。下图展示的就是 GPT 做微调时对文本的一些常见做法,其实就是拼接和加分割符之类的操作。

wpe零基础自学,wpe专业版使用教程(2)

GPT2

GPT1 需要对特定任务再进行精调(依赖有标签数据进行监督学习),而 GPT2 则是考虑在预训练时考虑各种不同的任务,也就更加通用化。因此,GPT2 的模型从原本 GPT1 的:

改为 task conditioning 的形式:

也就是把任务也作为模型的输入,具体的做法是引入一些表示任务的 token,举几个例子。

通过这样的方式,各种任务都能塞进预训练里进行了,想学的越多,模型的容量自然也需要更大,GPT2 的参数量达到了 1.5 Billions(GPT1 仅 117 Millions)。

GPT3

GPT3 可以理解为 GPT2 的升级版,使用了 45TB 的训练数据,拥有 175B 的参数量,真正诠释了什么叫暴力出奇迹。

GPT3 主要提出了两个概念:

wpe零基础自学,wpe专业版使用教程(3)

ChatGPT

ChatGPT 使用了类似 InstructGPT 的方式来训练模型,该方法也叫做 Learning from Human Feedback。主要分为三个步骤:

wpe零基础自学,wpe专业版使用教程(4)

首页 12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.