位置: IT常识 - 正文

一文读懂ChatGPT模型原理(一文读懂谢娜张杰购房跳单事件始末)

编辑:rootadmin
一文读懂ChatGPT模型原理

推荐整理分享一文读懂ChatGPT模型原理(一文读懂谢娜张杰购房跳单事件始末),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:一文读懂苏丹局势最新进展,一文读懂苏丹局势最新进展,一文读懂谢娜张杰购房跳单事件始末,一文读懂美联储6月议息会议,一文读懂美联储6月议息会议,一文读懂美联储6月议息会议,一文读懂美联储6月议息会议,一文读懂 ofd 文件格式:国产 pdf,关键,重要,内容如对您有帮助,希望把文章链接给更多的朋友!

(本文是ChatGPT原理介绍,但没有任何数学公式,可以放心食用)

前言

这两天,ChatGPT模型真可谓称得上是狂拽酷炫D炸天的存在了。一度登上了知乎热搜,这对科技类话题是非常难的存在。不光是做人工智能、机器学习的人关注,而是大量的各行各业从业人员都来关注这个模型,真可谓空前盛世。

我赶紧把 OpenAI 以往的 GPT-n 系列论文又翻出来,重新学习一下,认真领会大规模预训练语言模型(Large Language Model)的强大之处。

可能很多深度学习相关从业人员的感受和我一样,大家之前对 LLM 的感受依然是,预训练+finetune,处理下游任务,依然需要大量的标注数据和人工干预,怎么突然间,ChatGPT 就智能到如此地步?

接下来,我简要梳理一下 OpenAI 的 GPT 大模型的发展历程。

一、还得从 Bert 说起

2018年,自然语言处理 NLP 领域也步入了 LLM 时代,谷歌出品的 Bert 模型横空出世,碾压了以往的所有模型,直接在各种NLP的建模任务中取得了最佳的成绩。

Bert做了什么,主要用以下例子做解释。

请各位做一个完形填空: ___________和阿里、腾讯一起并成为中国互联网 BAT 三巨头。

请问上述空格应该填什么?有的人回答“百度”,有的人可能觉得,“字节”也没错。但总不再可能是别的字了。

不论填什么,这里都表明,空格处填什么字,是受到上下文决定和影响的。

Bert 所作的事就是从大规模的上亿的文本预料中,随机地扣掉一部分字,形成上面例子的完形填空题型,不断地学习空格处到底该填写什么。所谓语言模型,就是从大量的数据中学习复杂的上下文联系。

二、GPT 初代

与此同时,OpenAI 早于 Bert 出品了一个初代 GPT 模型。

它们大致思想是一样的。都基于 Transformer 这种编码器,获取了文本内部的相互联系。

Transformer结构

编解码的概念广泛应用于各个领域,在 NLP 领域,人们使用语言一般包括三个步骤:

接受听到或读到的语言 -> 大脑理解 -> 输出要说的语言。

语言是一个显式存在的东西,但大脑是如何将语言进行理解、转化、存储的,则是一个目前仍未探明的东西。因此,大脑理解语言这个过程,就是大脑将语言编码成一种可理解、可存储形式的过程,这个过程就叫做语言的编码。

相应的,把大脑中想要表达的内容,使用语言表达出来,就叫做语言的解码。

在语言模型中,编码器和解码器都是由一个个的 Transformer 组件拼接在一起形成的。

Transformer编码器组成的 Encoder-decoder模型

这里不展开讲 Transformer 里的内部结构,仅仅讲一下 Bert 和 GPT 的区别。

两者最主要的区别在于,Bert 仅仅使用了 encoder 也就是编码器部分进行模型训练,GPT 仅仅使用了 decoder 部分。两者各自走上了各自的道路,根据我粗浅的理解,GPT 的decoder 模型更加适应于文本生成领域。

GPT 初代其实个人认为(当然普遍也都这么认为)略逊色于 Bert,再加上宣传地不够好,影响力也就小于 Bert。

我相信很多的 NLP 从业者对 LLM 的理解也大都停留在此。即,本质上讲,LLM 是一个非常复杂的编码器,将文本表示成一个向量表示,这个向量表示有助于解决 NLP 的任务。

三、GPT-2

自从 Bert 炸街后,跟风效仿的改进模型也就越来越多了,比如 albert、roberta、ERNIE,BART、XLNET、T5 等等五花八门。

最初的时候,预训练任务仅仅是一个完形填空任务就可以让语言模型有了极大进步,那么,很多人就想,给 LLM 模型出其它的语言题型,应该也会对模型训练有极大的帮助。

想要出语言题型不是很简单么,什么句子打乱顺序再排序、选择题、判断题、改错题、把预测单字改成预测实体词汇等等,纷纷都可以制定数据集添加在模型的预训练里。很多模型也都是这么干的。

既然出题也可以,把各种NLP任务的数据集添加到预训练阶段当然也可以。那就把机器翻译、文本摘要、领域问答统统往预训练里加。

这个过程也和人脑很像,人脑是非常稳定和泛化的,既可以读诗歌,也可以学数学,还可以学外语,看新闻,听音乐等等,简而言之,就是一脑多用。

我们一般的 NLP 任务,文本分类模型就只能分类,分词模型就只能分词,机器翻译也就只能完成翻译这一件事,非常不灵活。

GPT-2 主要就是在 GPT 的基础上,又添加了多个任务,扩增了数据集和模型参数,又训练了一番。效果如下:

GPT-2学习效果图

既然多个任务都在同一个模型上进行学习,还存在一个问题,这一个模型能承载的并不仅仅是任务本身,“汪小菲的妈是张兰”,这条文字包含的信息量是通用的,它既可以用于翻译,也可以用于分类,判断错误等等。也就是说,信息是脱离具体 NLP 任务存在的,举一反三,能够利用这条信息,在每一个 NLP 任务上都表现好,这个是 元学习(meta-learning)。

四、GPT-3大模型中的大模型

首先, GPT-3 的模型所采用的数据量之大,高达上万亿,模型参数量也十分巨大,学习之复杂,计算之繁复不说了,看图吧。

GPT-3 里的大模型计算量是 Bert-base 的上千倍。统统这些都是在燃烧的金钱,真就是 all you need is money。如此巨大的模型造就了 GPT-3 在许多十分困难的 NLP 任务,诸如撰写人类难以判别的文章,甚至编写SQL查询语句,React或者JavaScript代码上优异的表现。

首先 GPT-n 系列模型都是采用 decoder 进行训练的,也就是更加适合文本生成的形式。也就是,输入一句话,输出也是一句话。也就是对话模式。

对话

我们是如何学会中文的?从0岁开始,听、说,也就是对话。

我们是如何学外语的?看教材,听广播,背单词。唯独缺少了对话!正是因为缺少了对话这个高效的语言学习方式,所以我们的英语水平才如此难以提高。

对于语言模型,同理。对话是涵盖一切 NLP 任务的终极任务。从此 NLP不再需要模型建模这个过程。比如,传统 NLP 里还有序列标注这个任务,需要用到 CRF 这种解码过程。在对话的世界里,这些统统都是冗余的。

其实 CRF 这项技术还是蛮经典的,在深度学习这块,CRF这也才过去没几年。sigh……

in-context learning

以往的预训练都是两段式的,即,首先用大规模的数据集对模型进行预训练,然后再利用下游任务的标注数据集进行 finetune,时至今日这也是绝大多数 NLP 模型任务的基本工作流程。

GPT-3 就开始颠覆这种认知了。它提出了一种 in-context 学习方式。这个词没法翻译成中文,下面举一个例子进行解释。

用户输入到 GPT-3:你觉得 JioNLP 是个好用的工具吗?

GPT-3输出1:我觉得很好啊。

GPT-3输出2:JioNLP是什么东西?

GPT-3输出3:你饿不饿,我给你做碗面吃……

GPT-3输出4:Do you think jionlp is a good tool?

一文读懂ChatGPT模型原理(一文读懂谢娜张杰购房跳单事件始末)

按理来讲,针对机器翻译任务,我们当然希望模型输出最后一句,针对对话任务,我们希望模型输出前两句中的任何一句。显然做碗面这个输出句子显得前言不搭后语。

这时就有了 in-context 学习,也就是,我们对模型进行引导,教会它应当输出什么内容。如果我们希望它输出翻译内容,那么,应该给模型如下输入:

用户输入到 GPT-3:请把以下中文翻译成英文:你觉得 JioNLP 是个好用的工具吗?

如果想让模型回答问题:

用户输入到 GPT-3:模型模型你说说,你觉得 JioNLP 是个好用的工具吗?

OK,这样模型就可以根据用户提示的情境,进行针对性的回答了。

这里,只是告知了模型如何做,最好能够给模型做个示范:

用户输入到 GPT-3:请把以下中文翻译成英文:苹果 => apple; 你觉得 JioNLP 是个好用的工具吗?=>

其中 苹果翻译成 apple,是一个示范样例,用于让模型感知该输出什么。只给提示叫做 zero-shot,给一个范例叫做 one-shot,给多个范例叫做 few-shot。

不能再给多了!一个是,咱们没那么多标注数据,另一个是,给多了不就又成了 finetune 模式了么?

在 GPT-3 的预训练阶段,也是按照这样多个任务同时学习的。比如“做数学加法,改错,翻译”同时进行。这其实就类似前段时间比较火的 prompt。

这种引导学习的方式,在超大模型上展示了惊人的效果:只需要给出一个或者几个示范样例,模型就能照猫画虎地给出正确答案。注意啊,是超大模型才可以,一般几亿参数的大模型是不行的。(我们这里没有小模型,只有大模型、超大模型、巨大模型)

这个结果曲线图展示了用175 billion 的参数得到了优质的效果。彷佛在嘲讽我:哎,你没钱,你就看不着这种优质的效果,你气不气?

五、ChatGPT

终于说到了主角,能看到这里的,可以关注一下 JioNLP 公众号吗?我写的也够累的。

ChatGPT 模型上基本上和之前 GPT-3 都没有太大变化,主要变化的是训练策略变了,用上了强化学习。

强化学习

几年前,alpha GO 击败了柯洁,几乎可以说明,强化学习如果在适合的条件下,完全可以打败人类,逼近完美的极限。

强化学习非常像生物进化,模型在给定的环境中,不断地根据环境的惩罚和奖励(reward),拟合到一个最适应环境的状态。

NLP + 强化学习

强化学习之所以能比较容易地应用在围棋以及其它各种棋牌游戏里,原因就是因为对于 alpha Go 而言,环境就是围棋,围棋棋盘就是它的整个世界。模型就是不断根据棋盘的状态以及输赢状况调整策略,战胜了柯洁。

而几年前知乎上就有提问,NLP + 强化学习,可以做吗?怎么做呢?

底下回答一片唱衰,原因就是因为,NLP 所依赖的环境,是整个现实世界,完全无法设计反馈惩罚和奖励函数。除非人们一点点地人工反馈。

哎,OpenAI 的 ChatGPT 就把这事给干了。

不是需要人工标反馈和奖励吗?那就撒钱,找40个外包,标起来!

这种带人工操作的 reward,被称之为 RLHF(Reinforcement Learning from Human Feedback)。

具体操作过程就是下图的样子,采用强化学习的方式来对模型进行训练。已经抛弃了传统的 LM 方式。

这里重点是第二步中,如何构建一个 reward 函数,具体就是让那40名外包人员不断地从模型的输出结果中筛选,哪些是好的,哪些是低质量的,这样就可以训练得到一个 reward 模型。

通过 reward 模型来评价模型的输出结果好坏。

讲真,这个 reward 模型,《黑客帝国》的母体 matrix 既视感有木有??!!

只要把预训练模型接一根管子在 reward 模型上,预训练模型就会开始像感知真实世界那样,感知reward。

由此,我们就可以得到这个把全世界都震碎的高音!(误,模型)

ChatGPT 功能一览

ChatGPT 原理介绍完了,再来看看它能干啥工作?

能回答知乎上的问题

你别想耍它

能回答困难的问题

能理解乱序文本

会做高数

知道自己是程序,不会做你女票

还能处理程序 bug

六、影响NLP 领域的影响

个人认为,NLP 领域的一些里程碑性的技术重要性排序如下:

ChatGPT > word2vec > Bert (纯个人看法)

ChatGPT 的关注度已经很大程度让人们感觉到,什么天猫精灵、小爱同学等等人工智障的时代似乎过去了。只要模型足够大,数据足够丰富,reward 模型经过了更多的人迭代和优化,完全可以创造一个无限逼近真实世界的超级 OpenAI 大脑。

当然,ChatGPT 依然是存在回答不好的情况的,比如会重复一些词句,无法分清楚事实等等。

而且,ChatGPT 目前看,它是没有在推理阶段连接外部信息的。

模型知道自己的回答边界,知道自己只是一个没有情感的回答工具。那么,试想 OpenAI 把外部信息也导入到 ChatGPT 里,那是怎样的一副图景。

另一些影响

我看到 ChatGPT 居然可以写代码,还能帮我改代码,debug,作为程序员,我不禁深深陷入了沉思。

据说,debug 程序员网站 stackoverflow,已经下场封杀 ChatGPT 了。

当然,完全不仅仅是程序界。据说 GPT-4 正在做图文理解,那么,对于教师、医生、咨询师、等等等等,各行各业,是不是都是一个巨大的冲击?所谓专业领域的知识门槛,也将被模型一步踏平。

有人讲 google 将被替代,我认为也就还好吧,没准 google 此时此刻,NLP+强化学习也已经在路上了。

本文由 mdnice 多平台发布

本文链接地址:https://www.jiuchutong.com/zhishi/288912.html 转载请保留说明!

上一篇:马尼亚河的卫星图像,马达加斯加 (© NASA Earth Observatory image by Joshua Stevens, using Landsat data from the US Geological Survey)(马尼亚岛的降水特点)

下一篇:TS基础了解一(ts基础类型)

  • 抖音合集怎么删除(抖音合集怎么删除掉)

    抖音合集怎么删除(抖音合集怎么删除掉)

  • 锁屏音乐播放器如何关闭(锁屏音乐播放器怎么开启)

    锁屏音乐播放器如何关闭(锁屏音乐播放器怎么开启)

  • airpods无法配对(airpods无法配对iphone)

    airpods无法配对(airpods无法配对iphone)

  • 三星note10为什么不支持usb(三星note10为什么下架了)

    三星note10为什么不支持usb(三星note10为什么下架了)

  • 用于耳机的windows sonic是干嘛的(用于耳机的windows sonic怎么关闭)

    用于耳机的windows sonic是干嘛的(用于耳机的windows sonic怎么关闭)

  • 华为p20录音在哪里(华为p20的录音功能在哪)

    华为p20录音在哪里(华为p20的录音功能在哪)

  • 3dmax透视图快捷键(3dmax在透视图调整视角的快捷键是哪个)

    3dmax透视图快捷键(3dmax在透视图调整视角的快捷键是哪个)

  • 淘宝最多可以切换几个账号(淘宝最多可以切换多少个)

    淘宝最多可以切换几个账号(淘宝最多可以切换多少个)

  • 微信人脸解封能解几次

    微信人脸解封能解几次

  • 苹果tp是什么(tphone)

    苹果tp是什么(tphone)

  • 华为开了移动数据没有网络(华为开了移动数据没有网络怎么回事)

    华为开了移动数据没有网络(华为开了移动数据没有网络怎么回事)

  • 华为手机应用助手打不开(华为手机应用助手下载)

    华为手机应用助手打不开(华为手机应用助手下载)

  • 抖音不显示直播怎么回事(抖音不显示直播间怎么回事)

    抖音不显示直播怎么回事(抖音不显示直播间怎么回事)

  • qq账号为什么被冻结(qq账号为什么被冰冻了)

    qq账号为什么被冻结(qq账号为什么被冰冻了)

  • 电脑没有主机可以用吗(电脑没有主机可以玩游戏吗)

    电脑没有主机可以用吗(电脑没有主机可以玩游戏吗)

  • 安装介质是什么(安装介质不可用)

    安装介质是什么(安装介质不可用)

  • vivo息屏显示费电吗

    vivo息屏显示费电吗

  • 电池bm46是什么型号(电池bm46是什么型号的手机)

    电池bm46是什么型号(电池bm46是什么型号的手机)

  • 微信里的星标朋友是啥(微信里的星标朋友是什么意思)

    微信里的星标朋友是啥(微信里的星标朋友是什么意思)

  • 华为眼镜eyewear上市时间

    华为眼镜eyewear上市时间

  • 小度怎么添加设备(小度怎么添加设备扫码扫哪个码)

    小度怎么添加设备(小度怎么添加设备扫码扫哪个码)

  • 荣耀手环3如何打电话(荣耀手环3如何连接)

    荣耀手环3如何打电话(荣耀手环3如何连接)

  • 腾讯会员票券码怎么用(腾讯会员票券码兑换网址)

    腾讯会员票券码怎么用(腾讯会员票券码兑换网址)

  • 手机相机怎么设置时间(手机相机怎么设置拍出来的效果好)

    手机相机怎么设置时间(手机相机怎么设置拍出来的效果好)

  • 【JavaScript】JS实用案例分享:输入智能提示 | 打字机输出效果(js示例)

    【JavaScript】JS实用案例分享:输入智能提示 | 打字机输出效果(js示例)

  • 税前扣除的项目包括
  • 家庭保洁服务价格表
  • 租地建厂房合同
  • 已认证红冲需要退回发票吗
  • 金税盘技术维护费账务处理
  • 施工企业必须要注册造价工程师吗
  • 有限合伙企业如何分红
  • 海关免税设备清单
  • 税负率过低进行什么交易
  • 品牌使用费的账务处理
  • 个人所得税是否分段计算
  • 本月进项大于销项怎么做会计分录
  • 餐饮企业收到现金抵用券会计分录
  • 增值税发票开票限额怎么申请?
  • 普票记账联可以报销吗
  • 国家税务总局关于取消增值税扣税凭证
  • 牛奶的增值税普通发票
  • windows10 20h2 2004
  • 去掉右键菜单中的快捷键
  • 股东以房产投资入股,增值税免吗
  • mac电脑修改dns
  • win11镜像文件怎么复制到系统U盘
  • thinkphp5 分页
  • php close
  • 建筑工程房屋租赁费属于什么费用
  • 费用报销单怎样粘贴
  • css鼠标移入移出切换事件
  • 承兑贴现会计分录怎么做
  • 前端开发常用技术
  • win11装双系统虚拟机mac
  • 毕业论文笔记怎么写
  • domain codomain range
  • 怎么修改手机的地理位置
  • 收到利息收入计入什么科目
  • css选择器怎么用
  • 财政拨付资金什么意思
  • 公司的财务报表能看出什么
  • 资金账簿印花税怎么算
  • 不抵扣的发票需要认证吗
  • 社保局申报工伤款多久能下
  • sql server 2008数据库
  • 做项目前期
  • php 缓存
  • 生产企业免抵退是什么意思
  • 企业所得税的营业收入包括营业外收入吗
  • 买新车检测费
  • 餐饮行业分录大全
  • 没有收据不开发票
  • 技术转让费如何收取合理
  • 其他业务收入的现金流放哪里?
  • 预付账款和其他应付款的区别
  • 申购费从哪里扣
  • 出售投资性房地产的收入计入什么科目
  • 递延所得税资产和所得税费用的关系
  • 金融服务银行
  • 外贸企业面对人民币升值应该采取什么的避险措施
  • 检测费专用发票会计分录
  • 建筑业企业承包资质类别包括
  • 固定资产暂估入账的税务处理
  • 成本含税如何做会计分录
  • 教育经费支出
  • 企业预付账款是什么意思
  • mysql57安装过程怎样选安装目录
  • centos 安装chia
  • ssms.exe是什么进程
  • 丢失msvcr80.dll
  • window10的ie
  • win10大更新2021要多久
  • fetch怎么用
  • javascript that
  • 创建nodejs 基于express项目
  • 动态创建菜单
  • 微软早在1985年便首次使用了安卓上饱受争议的汉堡按钮
  • python 数据类型
  • Python中列表元素可通过什么访问
  • 四川税务局发票下载
  • 烟丝和烟有什么区别
  • 九江税务总局
  • 2021北京餐饮业发展趋势报告
  • 苏通卡上海服务网点查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设