0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通俗易懂chatGPT原理

深度学习自然语言处理 来源:无数据不智能 2023-04-07 10:50 次阅读

目前关于chatGPT的资料过于零散,没有详尽所有知识点、系统概述的文章,因此,笔者作了这篇总结性文章。

训练过程总览

理清演化路径

预训练(pretrain)

GPT-3概述

GPT 3模型的理念

GPT-3如何学习

数据集

指令微调 (Instruction Fine-Tuning,IFT)

有监督微调 (Supervised Fine-tuning, SFT)

人类反馈强化学习 (Reinforcement Learning From Human Feedback,RLHF)

其他方法

思维链 (Chain-of-thought,CoT)

与chatGPT类似的工作

引用

进NLP群—>加入NLP交流群(备注nips/emnlp/nlpcc进入对应投稿群)

训练过程总览

OpenAI 使用了 175B参数的大型语言模型(LM) 和 6B参数的奖励模型(RM)。除预训练之外,训练过程分为三步:

收集NLP各种任务的数据集,加上任务描述和提示组装成新的数据集,并使用这些数据微调预训练的大型语言模型。包括指令微调和有监督微调。

从上述数据集中采样,使用大型语言模型生成多个响应,手动对这些响应进行排名,并训练奖励模型 (RM) 以适应人类偏好。

基于第一阶段的有监督微调模型和第二阶段的奖励模型,使用强化学习算法进一步训练大型语言模型。

ee4dc8e8-d4e9-11ed-bfe3-dac502259ad0.svg

img

理清演化路径

GPT-3.5 参数量仍然为175B,总体进化树如下:

ee6e9294-d4e9-11ed-bfe3-dac502259ad0.png

img

ee857bb2-d4e9-11ed-bfe3-dac502259ad0.png

img

预训练(pretrain)

GPT-3概述

ee9c1fa2-d4e9-11ed-bfe3-dac502259ad0.jpg

eebabec6-d4e9-11ed-bfe3-dac502259ad0.png

GPT-3是一种自回归模型,仅使用解码器,训练目标也是预测下一个单词(没有判断下一句任务)。

最大的GPT-3模型有175B参数,是BERT模型大470倍(0.375B)

eedc43ac-d4e9-11ed-bfe3-dac502259ad0.png

image-20230221144754842

GPT 3模型的理念

不需要接新的模型结构:如bert用于NER任务一般接LSTM+CRF

不需要微调

一个模型解决NLP多种任务

NLP任务都可以用生成模型解决

和人类一样,只需要看极少数量的样例就能学会

GPT-3如何学习

零样本学习:提供任务描述、提示

单样本学习:提供任务描述、一个样例、提示

少样本学习:提供任务描述、几个样例、提示

eefc954e-d4e9-11ed-bfe3-dac502259ad0.png

数据集

模型 发布时间 参数量 预训练数据量
BERT-large 2019 年 3 月 3.75 亿 约3.3GB
GPT 2018 年 6 月 1.17 亿 5GB
GPT-2 2019 年 2 月 15 亿 40GB
GPT-3 2020 年 5 月 1,750 亿 45TB

BERT-large:BooksCorpus 800M words、 English Wikipedia 2.5Bwords

GPT:WebText2, BooksCorpus、Wikipedia超过 5GB。

GPT-2:WebText2, BooksCorpus、Wikipedia总量达到了40GB。

GPT-3:**WebText2, BooksCorpus、Wikipedia、Common Crawl **等数据集45TB数据。

ef1206b8-d4e9-11ed-bfe3-dac502259ad0.png

image-20230221153905277

指令微调 (Instruction Fine-Tuning,IFT)

收集NLP各种任务的数据集,加上任务描述和提示组装成新的数据集。chatGPT使用到的数据集如下:

ef29e4e0-d4e9-11ed-bfe3-dac502259ad0.png

image-20230221113507381

相关的一些论文:

Unnatural Instructions (Honovich 等, '22)//arxiv.org/abs/2212.09689

Super-natural instructions (Wang 等, '22)//arxiv.org/abs/2204.07705

Self-Instruct (Wang 等, '22)//arxiv.org/abs/2212.10560

T0 (Sanh 等, '22)//arxiv.org/abs/2110.08207

Natural instructions 数据集 (Mishra 等, '22)//arxiv.org/abs/2104.08773

FLAN LM (Wei 等, '22)//arxiv.org/abs/2109.01652

OPT-IML (Iyer 等, '22)//arxiv.org/abs/2212.12017

有监督微调 (Supervised Fine-tuning, SFT)

此步骤未为了防止遇到敏感话题时,回复【不知道】这种无意义的回答,以加入一些人工标注数据,增加回复安全性,百级别的数据集即可完成。

ef3c0cc4-d4e9-11ed-bfe3-dac502259ad0.png

相关的一些论文:

Google 的 LaMDA:附录 Ahttps://arxiv.org/abs/2201.08239

DeepMind 的 Sparrow: Sparrow :附录 Fhttps://arxiv.org/abs/2209.14375

人类反馈强化学习 (Reinforcement Learning From Human Feedback,RLHF)

描述:

策略 (policy) :一个接受提示并返回一系列文本 (或文本的概率分布) 的 LM。

行动空间 (action space) :LM 的词表对应的所有词元 (一般在 50k 数量级) ,

观察空间 (observation space) 是可能的输入词元序列,也比较大 (词汇量 ^ 输入标记的数量) 。

奖励函数是偏好模型和策略转变约束 (Policy shift constraint) 的结合。

此过程分为两步:

聚合问答数据并训练一个奖励模型 (Reward Model,RM)

用强化学习 (RL) 方式微调 LM

开源数据集:

Anthropic/hh-rlhf · Datasets at Hugging Face

OpenAI 使用的是用户提交的反馈。

ef4f0c5c-d4e9-11ed-bfe3-dac502259ad0.png

image-20230221111329526

其他方法

这部分简单介绍一下和chatGPT使用的微调并列的一些方法

思维链 (Chain-of-thought,CoT)

如下图所示使用一些带有逐步推理的数据集进行微调

橙色是任务描述,粉色是问题和答案,蓝色是推理过程

ef70907a-d4e9-11ed-bfe3-dac502259ad0.png

思维链提示 (Wei 等, '22)//arxiv.org/abs/2201.11903

与chatGPT类似的工作

Meta 的 BlenderBot//arxiv.org/abs/2208.03188

Google 的 LaMDA//arxiv.org/abs/2201.08239

DeepMind 的 Sparrow//arxiv.org/abs/2209.14375

Anthropic 的 Assistant//arxiv.org/abs/2204.05862

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据集
    +关注

    关注

    4

    文章

    1205

    浏览量

    24640
  • nlp
    nlp
    +关注

    关注

    1

    文章

    487

    浏览量

    22010
  • ChatGPT
    +关注

    关注

    29

    文章

    1548

    浏览量

    7485

原文标题:通俗易懂chatGPT原理

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    通俗易懂的PID教程

    本帖最后由 Calvin248 于 2013-5-5 15:31 编辑 帮助大家更好的理解PID算法,讲解的很通俗易懂,并且附有程序,帮助大家理解掌握!
    发表于 05-05 15:30

    通俗易懂的PID算法

    发几个通俗易懂的PID算法,需要的拿走
    发表于 01-26 00:54

    通俗易懂系列整合—电源基础知识讲解

    之前发表了六篇用通俗易懂的话讲解电源知识的文章,分别是关于三极管、电阻、电容、电感、二极管和场效应管的讲解。怕想学习的坛友找不到内容,所以这边整合一下,给大家分享文章的链接。用通俗易懂的话让你明白
    发表于 02-17 09:43

    标准的PID处理例程(PID通俗易懂的讲解)[2]

    标准的PID处理例程(PID通俗易懂的讲解)[2]
    发表于 06-13 11:44

    PID通俗易懂

    PID通俗易懂.....................
    发表于 06-30 18:54

    通俗易懂之电子称开发导航篇

    通俗易懂之电子称开发立项篇https://bbs.elecfans.com/jishu_919726_1_1.html通俗易懂之电子称开发硬件篇https://bbs.elecfans.com
    发表于 07-18 21:22

    通俗易懂的《路由和交换》

    通俗易懂的《路由和交换》 路由和交换是网络世界中两个重要的概念。传统的交换发生在网络的第二层,即数据链路层,而路由则发
    发表于 08-01 10:39 966次阅读

    通俗易懂的单片机教程

    通俗易懂的单片机教程
    发表于 09-29 15:45 637次下载
    <b class='flag-5'>通俗易懂</b>的单片机教程

    卡尔曼滤波的原理说明(通俗易懂)

    通俗易懂的 卡尔曼滤波原理 由浅入深不光是公式的介绍
    发表于 12-08 18:13 37次下载

    卡尔曼滤波的原理说明(通俗易懂)

    这是关于卡尔曼滤波的原理说明(通俗易懂),适合初学者
    发表于 03-16 14:40 0次下载

    PID通俗易懂

    PID通俗易懂PID通俗易懂PID通俗易懂PID通俗易懂PID通俗易懂PID通俗易懂
    发表于 04-19 09:54 21次下载

    卡尔曼滤波器[附带例程]通俗易懂

    卡尔曼滤波器[附带例程] 通俗易懂 附上工程代码 C语言 c++ 以及matlab
    发表于 09-27 16:34 17次下载

    步进电机基本原理(通俗易懂)

    步进电机基本原理(通俗易懂)
    发表于 11-30 11:55 0次下载

    通俗易懂的讲解FFT的让你快速了解FFT

    相信网上现在有很多关于FFT的教程,我曾经也参阅了很多网上的教程,感觉都不怎么通俗易懂。在基本上的研究FFT,并且通过编程的形式实现之后。我决定写一篇通俗易懂的关于FFT的讲解。因此我在接下来的叙述中尽量非常通俗细致的讲解。
    的头像 发表于 03-24 11:52 3.6w次阅读
    <b class='flag-5'>通俗易懂</b>的讲解FFT的让你快速了解FFT

    通俗易懂的ArkTS语言入门指南

    本文为我整理出来最通俗易懂的 ArkTS 语言入门指南。
    的头像 发表于 06-18 15:12 2.2w次阅读
    最<b class='flag-5'>通俗易懂</b>的ArkTS语言入门指南