什么是ChatGPT?
tips:资料来自百度百科、openAi、CSDN博主「琦在江湖飘」、Info写作社区、CSDN博主「夕小瑶」等网页资料。
1.什么是ChatGPT?
ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
ChatGPT本质是一个应用在对话场景的语言模型,基于GPT3.5通过人类反馈的强化学习微调而来,能够回答后续问题、承认错误、质疑不正确的前提以及拒绝不适当的请求。
我们可以让今天的主角ChatGPT来亲自介绍自己。
OpenAI 11月30号发布,首先在北美、欧洲等已经引发了热烈的讨论。随后在国内开始火起来。全球用户争相晒出自己极具创意的与ChatGPT交流的成果。ChatGPT在大量网友的疯狂测试中表现出各种惊人的能力,如流畅对答、写代码、写剧本、纠错等,甚至让记者编辑、程序员等从业者都感受到了威胁,更不乏其将取代谷歌搜索引擎之说。继AlphaGo击败李世石、AI绘画大火之后,ChatGPT成为又一新晋网红。下面是谷歌全球指数,我们可以看到火爆的程度。
国内对比各大平台,最先火起来是在微信上,通过微信指数我们可以看到,97.48%来自于公众号,开始于科技圈,迅速拓展到投资圈等。我最先了解到ChatGPT相关信息的也是在关注的科技公众号上,随后看到各大公众号出现关于介绍ChatGPT各种震惊体关键词地震、杀疯了、毁灭人类等。随后各行各业都参与进来有趣的整活,问数学题,问历史,还有写小说,写日报,写代码找BUG等等。
不过,目前ChatGPT未对中国大陆开放,注册需要境外手机号或是使用VPN等途径,非常不方便。
2.ChatGPT技术
核心技术
2.1语言模型
语言模型通俗讲是判断这句话是否通顺、正确。数学函数表达为给定前N个词,预测第N+1 个词概率,将概率序列分解成条件概率乘积的形式,这个函数就可以实现语言模型去生成句子。那么是什么样的语言模型如此强大,
深度学习开始的语言模型演技过程,如下图所示:
第一次开始用神经网络做语言模型是2003年Bengio提出的NNLM的网络结构,随着图像领域预训练的取得的突破迅速迁移到NLP领域,有了我们熟知的word2vec,通常做NLP任务句子中每个单词Onehot形式输入,使用预训练好的word embedding初始化网络的第一层,进行下游任务。word2vec的弊端是word embedding静态的,后续代表性工作中ELMo通过采用双层双向LSTM实现了根据当前上下文对Word Embedding动态调整。
ELMo非常明显的缺点在特征抽取器LSTM结构带来的,17年Google在机器翻译Transformer取得了效果的突破,NLP各种任务开始验证Transformer特征提取的能力比LSTM强很多。自此NLP开启了Transformer时代。
2018年OpenAI采用Transformer Decoder结构在大规模语料上训练 GPT1模型横扫了各项NLP任务,自此迈入大规模预训练时代NLP任务标准的预训练+微调范式。由于GPT采用Decoder的单向结构天然缺陷是无法感知上下文,Google很快提出了Encoder结构的Bert模型可以感知上下文效果上也明显有提升。随后2019年OpenAI提出了GPT2,GPT2拥有和GPT1一样的模型结构,但得益于更高的数据质量和更大的数据规模有了惊人的生成能力。同年Google采用了Encoder-Decoder结构,提出了T5模型。从此大规模预训练语言模型兵分三路,开始了一系列延续的工作。
2020年OpenAI提出GPT3将GPT模型提升到全新的高度,其训练参数达到了1750亿,自此超大模型时代开启。技术路线上摒弃了之前预训练+微调的范式,通过输入自然语言当作指示生成答案,开始了NLP任务新的范式预训练+提示学习。由于GPT3可以产生通顺的句子但是准确性等问题一直存在,出现WebGPT、InstructGPT、ChatGPT等后续优化的工作,实现了模型可以理解人类指令的含义,会甄别高水准答案,质疑错误问题和拒绝不适当的请求。
2.2深度学习
深度强化学习(deep reinforcement learning,DRL)是强化学习一个分支,基于深度学习强大的感知能力来处理复杂的、高维的环境特征,并结合强化学习的思想与环境进行交互,完成决策过程。DRL在游戏场景这种封闭、静态和确定性环境可以达到甚至超越人类的决策水平。比较著名的事件是2017年DeepMind 根据深度学习和策略搜索的 AlphaGo 击败了围棋世界冠军李世石。2018 年OpenAI 团队基于多智能体 DRL推出的OpenAI Five 在Dota2游戏中击败了人类玩家。DRL算法主要分为以下两类:
值函数算法:值函数算法通过迭代更新值函数来间接得到智能体的策略,智能体的最优策略通过最优值函数得到。基于值函数的 DRL 算法采用深度神经网络对值函数或者动作值函数进行近似,通过时间差分学习或者 Q 学习的方式分别对值函数或者动作值函数进行更新。代表性的是2015 年 DeepMind 团队提出深度Q网络(DQN),及其后的各种变种DDQN、Dueling DQN、分布式DQN等。
策略梯度算法:策略梯度算法直接采用函数近似的方法建立策略网络,通过策略网络选取动作得到奖励值,并沿梯度方向对策略网络参数进行优化,得到优化的策略最大化奖励值。可以用来处理连续动作。在实际应用中流行的做法是将值函数算法和策略梯度算法结合得到的执行器‒评价器(AC)结构。代表性工作有策略梯度算法、AC 算法以及各种变种DDPG、A3C、PPO等。ChatGPT使用的就是策略梯度算法PPO。
技术原理
ChatGPT整体技术方案是基于 GPT-3.5 大规模语言模型通过人工反馈强化学习来微调模型,让模型一方面学习人的指令,另一方面学习回答的好不好。
ChatGPT在对话场景核心提升了以下三方面:
1)更好的理解用户的提问,提升模型和人类意图的一致性,同时具备连续多轮对话能力。
2)大幅提升结果的准确性,主要表现在回答的更加的全面,同时可以承认错误、发现无法回答的问题。
3)具备识别非法和偏见的机制,针对不合理提问提示并拒绝回答。
ChatGPT的提升主要涉及以下三方面技术:
1)性能强大的预训练语言模型GPT3.5,使得模型具备了博学的基础。
2)webGPT等工作验证了监督学习信号可大幅提升模型准确性。
3)InstructGPT等工作引入强化学习验证了对齐模型和用户意图的能力。
ChatGPT的训练过程分为微调GPT3.5模型、训练回报模型、强化学习来增强微调模型三步:
第一步:微调GPT3.5模型。让GPT 3.5在对话场景初步具备理解人类的的意图,从用户的prompt集合中采样,人工标注prompt对应的答案,然后将标注好的prompt和对应的答案去Fine-tune GPT3.5,经过微调的模型具备了一定理解人类意图的能力。
第二步:训练回报模型。第一步微调的模型显然不够好,至少他不知道自己答的好不好,这一步通过人工标注数据训练一个回报模型,让回报模型来帮助评估回答的好不好。具体做法是采样用户提交的prompt,先通过第一步微调的模型生成n个不同的答案,比如A、B、C、D。接下来人工对A、B、C、D按照相关性、有害性等标准标准并进行综合打分。有了这个人工标准数据,采取pair-wise 损失函数来训练回报模型RM。这一步实现了模型判别答案的好坏。
第三步:强化学习来增强微调模型。使用第一步微调GPT3.5模型初始化PPO模型,采样一批和前面用户提交prompt不同的集合,使用PPO模型生成答案,使用第二步回报模型对答案打分。通过产生的策略梯度去更新PPO模型。这一步利用强化学习来鼓励PPO模型生成更符合RM模型判别高质量的答案。
通过第二和第三步的迭代训练并相互促进,使得PPO模型能力越来越强。
具体详见CSDN博主「琦在江湖飘」文章
3.ChatGPT应用
ChatGPT的实际应用
ChatGPT可以应用于多种领域,主要应用场景如下:
问答系统:ChatGPT 可以通过对询问进行理解和生成简明易懂的回答。
聊天机器人:ChatGPT 可以用于构建人机对话系统,以帮助用户解决其问题并回答其问题。
文本生成:ChatGPT 可以用于生成文本,例如新闻文章、诗歌、小说等。
机器翻译:通过使用多语言训练数据,ChatGPT 可以用于文本翻译。
其他应用:
(1)写情书
让 chatGPT 帮我写了一份情书,整得还挺好,赞一个:
(2)找美女图
我帮大家考验了一下 chatGPT,还是非常站的,经过了考验!
(3)写代码
(4)写歌词
应用:
(1)程序接入
接入步骤
我们用程序接入 chatGPT 非常简单,直接用 chatGPT 去创建一个程序要用的秘钥,就可以使用 http 接口调用了。
chatGPT 的官网 openai 为我们提供大量语言快速开发的 SDK,详情如下:
接入 chatGPT 你的程序能做的 49 件事情
当你开通 chatGPT 之后,你的程序就可以通过接口完成以下基本的 49 件事情了;我给大家都批注好了,那一项不明白的就评论区交流;下面每一项勇哥都熬夜晚过了,非常 NICE。
4.ChatGPT好玩的事例
- ChatGPT进入百度“弱智吧”后,疯了。
https://mp.weixin.qq.com/s/BE1TkqY8CY99jQuAToW-FQ
不得不说,“弱智吧”的一些经典提问,真的会把ChatGPT搞到崩溃。。。这一点上,我觉得还是人类更胜一筹。
- ChatGPT惊人语录大赏
https://mp.weixin.qq.com/s/csyCHucLtUQAsT8QRS5AUw
这里是一些关于ChatGPT的经典语录大赏,真的是看了之后毁三观。
甚至还有网友让ChatGPT扮演猫娘,笔者看了聊天记录之后直接吐血。。
可以说,ChatGPT好不好玩,纯看你的脑洞大不大。。。
- 谷歌要完,百度也危了
https://mp.weixin.qq.com/s/qVt89FS_wzfu6-ShiWTv_Q
最后是把ChatGPT当成一个搜索引擎来用,你会发现非常惊喜。。这究竟会不会成为一个颠覆谷歌、百度的新型搜索引擎形态,谁也不好说。但至少目前来看,潜力非常大。
5.面临的挑战和问题
5.1慢的问题
chatGPT 火遍全球,涌入了大量的访问者,那么这就是 chatGPT 慢的原因吗?其实不然,试想 chatGPT 背后那么多大佬,不缺服务器,但为什么依旧接近不了慢、网络错误等问题呢?AI 算力是核心关键,如下图大量用户访问 chatGPT,chatGPT 要并发的从海量数据模型中去计算用户请求的真实目的,并给出正确结果。这需要非常庞大的算力,而这个正是卡主 chatGPT 脖子的事情.
5.2错的问题
网上也有一大堆网友在调侃 chatGPT 的错误,其实这是真实存在的,如下图评价歌曲明显是回答有偏差了。那么这说明 chatGPT 还有努力的空间,同时也方向证明了,大佬都解决不了的问题,它本身就具有很高的复杂性。
5.3广的问题
chatGPT 在一些领域还支持不到位或者说直接不支持,这表现出 chatGPT 的广度还有待提高,但他为什么没扩大广度呢?其实这个问题还得回归算力和成本上来。GPT-3 模型训练一次需要花费 460 万美元,这是非常非常高成本的事情。