ChatGPT模型原理

article/2024/11/15 6:12:52

alt

本文是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结构
Transformer结构

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

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

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

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

在语言模型中,编码器和解码器都是由一个个的 Transformer 组件拼接在一起形成的。Transformer编码器组成的 Encoder-decoder模型
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学习效果图
GPT-2学习效果图

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

四、GPT-3

大模型中的大模型

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

alt
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?

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

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

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

如果想让模型回答问题:

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

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

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

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

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

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

 

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

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

 alt


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


五、ChatGPT

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

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

强化学习

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

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

NLP + 强化学习

 强化学习之所以能比较容易地应用在围棋以及其它各种棋牌游戏里,原因就是因为对于 alpha Go 而言,环境就是围棋,围棋棋盘就是它的整个世界。模型就是不断根据棋盘的状态以及输赢状况调整策略,战胜了柯洁。而几年前知乎上就有提问,NLP + 强化学习,可以做吗?怎么做呢?

alt

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

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

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

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

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

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

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

讲真,这个 reward 模型,《黑客帝国》的母体 matrix 既视感有木有??!!
只要把预训练模型接一根管子在 reward 模型上,预训练模型就会开始像感知真实世界那样,感知reward。

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

ChatGPT 功能一览

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

能回答知乎上的问题

alt

 

你别想耍它alt

 

能回答困难的问题alt

 

能理解乱序文本alt

 

会做高数alt

 

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

 

还能处理程序 bugalt

 


六、影响

NLP 领域的影响

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

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

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

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

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

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


另一些影响

我看到 ChatGPT 居然可以写代码,还能帮我改代码,debug,作为程序员,我不禁深深陷入了沉思。 
据说,debug 程序员网站 stackoverflow,已经下场封杀 ChatGPT 了。

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

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


http://chatgpt.dhexx.cn/article/W8APyyab.shtml

相关文章

陈小伟:从ChatGPT谈起,预测5个数据库开发趋势

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/ 3 月 25 日,第一届 OceanBase 开发者大会在北京举行,OceanBase 生态产品技术专家陈小伟为大家带来了 《数据库协同开发的现状和发展趋势》 的分享,从热门的 Chat…

2023年 ChatGPT 研究报告

第一章 行业概况 ChatGPT是由OpenAI 团队研发创造,OpenAI是由创业家埃隆马斯克、美国创业孵化器Y Combinator总裁阿尔特曼、全球在线支付平台PayPal联合创始人彼得蒂尔等人于2015年在旧金山创立的一家非盈利的AI研究公司,拥有多位硅谷重量级人物的资金支…

ChatGPT 加图数据库 NebulaGraph 预测 2022 世界杯冠军球队

一次利用 ChatGPT 给出数据抓取代码,借助 NebulaGraph 图数据库与图算法预测体坛赛事的尝试。 作者:古思为 蹭 ChatGPT 热度 最近因为世界杯正在进行,我受到这篇 Cambridge Intelligence 的文章启发(在这篇文章中,作…

chatGPT模型简介

ChatGPT的工作原理 chatGPT 是一款由 OpenAI 开发的聊天机器人模型,它能够模拟人类的语言行为,与用户进行自然的交互。它的名称来源于它所使用的技术—— GPT-3架构,即生成式语言模型的第3代。 chatGPT的核心技术是 GPT-3 架构。它通过使用大…

ChatGPT算法原理

ChatGPT是什么 ChatGPT是一种基于AI的聊天机器人,它可以像人类一样与用户进行交流,帮助用户解决问题,或者与用户交谈、讨论。ChatGPT利用自然语言处理(NLP)技术,使用语义理解和自然语言生成来管理数据&…

风靡全球的ChatGPT能预测足球结果吗?深度解析

如果您对足球彩票感兴趣,想了解能否通过人工智能来提高胜率,本篇指南可以帮助您。我们深入探讨足球预测与人工智能的关系,不管如何,理解足球预测及其准确率,是避免盲目下注的开始,这会让您保持正确的心态来…

微信小程序 | 基于ChatGPT实现模拟面试小程序

Pre:效果预览 ① 选择职位进行面试 ② 根据岗位职责进行回答 一、需求背景 这两年IT互联网行业进入寒冬期,降本增效、互联网毕业、暂停校招岗位的招聘,各类裁员、缩招的情况层出不穷!对于这个市场来说,在经历了互联网资本的疯狂时代,现在各大需要的时候更多能实实在在挣…

基于python实现微信接入ChatGpt进行自动回复

基于python实现微信接入ChatGpt进行自动回复 教程说明下载和使用python库如何下载python库如何使用python库导入python库 chatgpt部分申请openai的keypython调用chatgpt的简单示例 wxauto部分wxauto简单示例 整体实现整体示例代码 教程说明 1.机器人无法取代真人聊天,本教程仅…

myChat - 第三方ChatGPT原生客户端,支持win和mac系统

前言 可能你没体验过 ChatGPT,但肯定听说过。苦于高高的围墙,无法便捷的使用 ChatGPT。那你就不能错过 myChat ,一款第三方 ChatGPT 原生客户端。基于 OpenAI 提供的 ChatGPT 同款模型 GPT-3.5,可达到与 ChatGPT 类似的效果&…

硬刚ChatGPT!文心一言能否为百度止颓?

引言: 近年来,人工智能领域的发展突飞猛进,尤其是在自然语言处理(NLP)方面。OpenAI的ChatGPT无疑是这个领域的佼佼者[1]。那么,面对这样一款高度智能的AI模型,国内市场上是否有相应的产品能与之…

大考在即 百度版ChatGPT会翻车吗?

文心一言的发布会定档3月16日,不出意外,百度创始人李彦宏、CTO王海峰将出现在北京总部的发布会现场。这是百度版ChatGPT最新的官方消息,2月7日,文心一言首次官宣,当时称,产品“3月见”。 3月如期而至&…

百度文心一言可以完胜ChatGPT的4点可能性

文心一言,百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。但说实话,很多人拿他与ChatGPT相对比&#x…

大厂跟进ChatGPT,为什么百度“文心一言”成色最好?【快评】

作者 | 曾响铃 文 | 响铃说 赶ChatGPT热度,百度3月初就要发布与ChatGPT类似的人工智能聊天机器人服务“文心一言”(英文名:ERNIE Bot),似乎无法提振资本市场对百度的信心。 2022年第四季度及全年未经审计的财报发布…

百度抢先发布中国版ChatGPT——文心一言,现已开通测试申请

3月16日,百度抢先其他国内科技巨头一步,率先发布被誉为中国版ChatGPT的“文心一言”。 即日起,百度也通过“百度智能云”官网正式开发“文心一言”的预约,申请云服务测试。 但是,目前百度智能云只面向企业级客户开放文…

百度李彦宏:文心一言和 ChatGPT 水平差距不是很大,也就一两个月

3 月 26 日消息,近日,李彦宏在极客公园的直播中表示,文心一言确实不如现在最好的 ChatGPT 版本,但差距也不是很大,可能就是一两个月的差别。 李彦宏称,“我也不断在讲文心一言不够完美,事实上如…

ChatGPT和百度文心一言写用例,谁更强?

文心一言发布的第一时间,就排队申请了邀请码,昨晚看了下,邀请码已经到手,索性就拿一个例子试了一下,看看哪个能够真正意义上的提高生产力,最简单的录制了个GIF动画如下: 问题:你是一…

百度中国版ChatGPT“正式问世”

百度中国版ChatGPT正式问世,这是百度自然语言处理方面的重大突破,也是AI领域的一次跨越。ChatGPT是百度自然语言处理技术的升级版,其核心是“GPT”,即“Generative Pre-training Transformer”,是一项基于深度学习的自…

硬刚ChatGPT!文心一言能否为百度止颓?中国版ChatGPT“狂飙”的机会在哪儿?

文章目录 目录产品背景发展历程科技简介主要功能合作伙伴 结语 文心一言 (英文名:ERNIE Bot) *是百度基于文心大模型技术推出的生成式对话产品,被外界誉为“中国版ChatGPT”,将于2023年3月份面向公众开放。 [40] 百度…

百度文心一言,是中国版的ChatGPT吗?

百度文心一言,是中国版的ChatGPT吗? 文心一言发布会网友评论: 百度在让人失望这件事上,从来没让人失望过!技术原理一句没有,商业价值滔滔不绝。ChatGPT?CheatGPT!难怪暴跌&#xff0…

不同问题来评测百度、谷歌、ChatGPT、Phind、GPT-4(持续更新)

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…