LLM | ChatGPT | Google
PPO | Open AI | LaMDA
随着深度学习、高性能计算、数据分析、数据挖掘、LLM、PPO、NLP等技术的快速发展,ChatGPT得到快速发展。ChatGPT是OpenAI开发的大型预训练语言模型,GPT-3模型的一个变体,经过训练可以在对话中生成类似人类的文本响应。
ChatGPT背后的算法基于Transformer架构,这是一种使用自注意力机制处理输入数据的深度神经网络。Transformer架构广泛应用于语言翻译、文本摘要、问答等自然语言处理任务等领域。ChatGPT可用于创建能与用户进行对话的聊天机器人。这对客户服务很有用,因为它提供了有用的信息。
ChatGPT训练全过程
ChatGPT作为一个智能对话系统,最近这两天火爆了。网上到处都在传ChatGPT相关的内容和测试实例,效果真的很震撼。记得上一次引起如此轰动的AI技术是两年半以前的事了,那时候人工智能如日中天;多模态领域是以DaLL E2、Stable Diffusion为代表的Diffusion Model,也就是最近一直流行的AIGC模型。关于AIGC这里就不多介绍了,如有感兴趣的可以看小编之前关于AIGC文章。
在整体技术路线上,ChatGPT引入了“手动标注数据+强化学习”(RLHF,从人的反馈进行强化学习)来不断Fine-tune预训练语言模型。主要目的是让LLM模型学会理解人类命令的含义(比如写一篇短文生成问题、知识回答问题、头脑风暴问题等不同类型的命令),让LLM学会判断对于给定的提示输入指令(用户的问题)什么样的回答是优质的(富含信息、内容丰富、对用户有帮助、无害、不包含歧视信息等多种标准)。
在“人工标注数据+强化学习”的框架下,具体来说,ChatGPT的训练过程分为以下三个阶段:
一、第一阶段
以GPT 3.5本身来说,虽然强大,但是很难理解不同类型的人类不同指令中所包含的不同意图,也很难判断生成的内容是否是高质量的结果。为了让GPT 3.5初步理解指令中包含的意图,首先会随机抽取一批测试用户提交的prompt(即指令或问题),由专业的标注者对指定的提示给出高质量的回答,然后专业人员标注的数据对GPT 3.5模型进行微调。通过这个过程,可以认为GPT 3.5初步具备了理解人类提示所包含的意图,并根据这种意图给出相对高质量答案的能力。
二、第二阶段
这个阶段的主要目的是通过人工标注训练数据来训练回报模型。具体是随机抽取一批用户提交的prompt(大部分与第一阶段相同),使用第一阶段Fine-tune的冷启动模型。对于每个prompt,冷启动模型产生K个不同的答案,因此该模型产生<prompt,answer1>,<prompt,answer2>….<prompt,answerX>数据。之后,标注人员根据多种标准(上述的相关性、富含信息性、有害信息等诸多标准)对X个结果进行排序,给出X个结果的排名顺序,这就是这个阶段人工标注的数据。
接下来利用这个排序结果数据来训练回报模型。采用的训练模式其实就是通常用到的pair-wise learning to rank。对于X排序结果,两两组合形成一个训练数据对,ChatGPT采用pair-wise loss来训练Reward Model。RM模型接受一个输入<prompt,answer>,并给出一个奖励分数来评估答案的质量。对于一对训练数据,假设answer1排在answer2前面,那么Loss函数鼓励RM模型比其他的得分更高。
归纳下:在这个阶段里,首先由冷启动后的监督策略模型为每个prompt产生X个结果,人工根据结果质量由高到低排序,以此作为训练数据,通过pair-wise learning to rank模式来训练回报模型。对于学好的RM模型来说,输入<prompt,answer>,输出结果的质量得分,得分越高说明产生的回答质量越高。
三、第三阶段
本阶段不需要手动标注数据,而是使用前一阶段学习的RM模型,根据RM评分结果更新预训练模型的参数。具体来说,首先从用户提交的prompt中随机抽取一批新的命令(指不同于第一、第二阶段的新提示,实际上非常重要,对于提升LLM模型理解instruct指令的泛化能力很有帮助),由冷启动模型初始化PPO模型的参数。然后对于随机选取的prompt,用PPO模型生成回答answer,用前一阶段训练好的RM模型给出answer质量评估的奖励分数,这是RM对整个答案(由词序列组成)给出的整体reward。有了单词序列的最终回报,每个单词可以视为一个时间步长,把reward由后往前依次传递,由此产生的策略梯度可以更新PPO模型参数。这是标准的强化学习过程,目的是训练LLM产生高reward的答案,也即是产生符合RM标准的高质量回答。
如果我们不断重复第二和第三阶段,很明显,每次迭代都使LLM模型越来越强大。因为在第二阶段,RM模型的能力通过人工标注数据来增强的,而在第三阶段,增强的RM模型对新prompt产生的回答进行更准确的评分,并使用强化学习来鼓励LLM模型学习新的高质量内容,这类似于使用伪标签来扩展高质量的训练数据,所以LLM模型得到进一步增强。显然,第二阶段和第三阶段是相互促进的,这就是为什么不断迭代会有不断增强的效果。
尽管如此,小编认为在第三阶段采用强化学习策略并不一定是ChatGPT模型效果特别好的主要原因。假设第三阶段不采用强化学习,取而代之的是以下方法:类似于第二阶段的做法,对于一个新的prompt,冷启动模型可以生成X个答案,分别由RM模型打分。我们选择得分最高的答案形成新的训练数据<prompt,answer>,并进入fine-tune LLM模型。假设换成这种模式,相信效果可能会比强化学习更好。虽然没那么精致,但效果不一定差很多。第三阶段无论采用哪种技术模式,本质上很可能都是利用第二阶段学会的RM,起到了扩充LLM模型高质量训练数据的作用。
以上是ChatGPT的训练过程,这是一个改进的instructGPT,改进点主要是标注数据收集方法上的一些差异。其他方面,包括模型结构和训练过程,基本遵循instructGPT。可以预见的是,这种Reinforcement Learning from Human Feedback技术将会迅速蔓延到其他内容生成方向,比如一个很容易想到的方向,类似“A machine translation model based on Reinforcement Learning from Human Feedback”等等。但个人认为在NLP的某个特定内容生成领域采用这种技术意义不大,因为ChatGPT本身可以处理各种类型的任务,基本涵盖了NLP生成的很多子领域。所以对于某个NLP子领域,单独采用这种技术的价值不大,因为其可行性可以认为已经被ChatGPT验证了。如果将这种技术应用于其他模式的生成,如图片、音频、视频等,可能是更值得探索的方向。也许很快就会看到类似“A XXX diffusion model based on Reinforcement Learning from Human Feedback”之类的东西。
ChatGPT突然一下子火起来的原因?
ChatGPT因为操作简单,容易上手,所以能快速走红。打开后,在对话框中输入问题即可获得答案。而且像一个全能选手一样,经常能给人意想不到的答案。
ChatGPT轻松应对日常对话。它可以区分某些问题中的描述性错误,可以直接拒绝不合理、不道德的要求。
ChatGPT一个令人惊讶的表现在于可以创作文学。比如给ChatGPT一个话题,就能写出一个小说框架。ChatGPT以“AI改变世界”为主线写小说框架时,ChatGPT明确给出了故事背景、主人公、故事情节和结局。
用户体验后评价“ChatGPT的语言组织能力、文字水平、逻辑能力可以说是令人惊叹”。有些用户甚至打算把日报、周报、总结、反思交给ChatGPT来辅助。
普通的文字创作只是最基础的,ChatGPT还可以发现程序员代码中的Bug。一些开发者在试用中表示,ChatGPT为他们的技术问题提供了非常详细的解决方案,比一些搜索软件的答案更可靠。美国代码托管平台Replit的Amjad Masad在推发文称,ChatGPT是一个优秀的“调试伙伴”。“它不仅解释错误,而且修复错误并解释修复方法”。
ChatGPT更有商业逻辑,不仅对自己的优势和劣势了如指掌,还能分析竞品,撰写营销报告。甚至对世界经济形势也“了如指掌”,能说出自己的见解。
有人把ChatGPT比作“搜索引擎+社交软件”的组合,可以在实时交互的过程中得到问题的答案。很多用户抱着好玩的心态与ChatGPT互动,但随着体验的深入,也会担心自己有一天会不会因为AI而失业。
国盛证券区块链研究所在研究报告中表示,ChatGPT在寻找答案和解决问题的效率上已经部分超越了当今的搜索引擎。ChatGPT可能会改变我们未来获取信息和输出内容的方式,AIGC有望成为数字经济时代驱动需求爆炸的杀手级应用。
ChatGPT能实现当前的交互,离不开OpenAI在AI预训练大模型领域的积累。OpenAI是微软投资的AI实验室,也是全球AI领域领先的AI实验室之一。
自2018年以来,OpenAI一直在发布生成式预训练语言模型GPT(Generative Pre-trained Transformer),可用于生成文章、代码、机器翻译、问答等各类内容。在当时,参数数量只有1.17亿。
接下来,OpenAI每一代GPT模型的参数都出现了爆炸式增长,2019年2月发布的GPT-2参数量为15亿,2020年5月的GPT-3参数量达到1750亿,直接带动了前训练大模型成为近两年AI领域的发展趋势,掀起了一场拼参数、拼算力的军备竞赛。
GPT-4 还未到来,此次发布的ChatGPT被视为基于GPT-3的微调版本,即GPT-3.5。
据 OpenAI 介绍,ChatGPT采用的模型采用“利用人类反馈强化学习(RLHF)”的训练方式,包括:人类提问机器答,机器提问人类回答,并且不断迭代,使模型逐渐具备判断生成答案的能力。与GPT-3相比,ChatGPT的主要改进在于记忆能力,可以实现连续对话,在对话的交互方式上大大提升了用户体验。
ChatGPT 的不足之处
ChatGPT并不总能带来惊喜。不可否认,它还是有很多局限性的。当要求ChatGPT创作时,它可以自由发挥。然而,当你的目标是寻求正确的答案时,ChatGPT有时可能无法达到预期。
比如让 ChatGPT 做一道小学数学题,它看似写出了一长串计算过程,给出的却是错误答案。
深入体验后,会发现ChatGPT在一些文化常识问题和数学计算问题上并不是很擅长。而且ChatGPT的回答往往是大段大段,过于冗长,看似逻辑自洽,但有时是在一本正经“忽悠人”。仔细想想,会发现一些漏洞。如果非专业人士不能分辨ChatGPT答案的准确性,很有可能会被严重误导。
Stack Overflow因此决定暂时禁止它。据悉,ChatGPT出现后,该模型生成的大量答案很快出现在Stack Overflow上。这些答案通常需要有一些专业知识的人详细阅读才能分辨出他们是错的。
这种情况影响了堆栈溢出的质量管理。ChatGPT还表示:“由于AI生成的答案并不总是准确或相关的,因此可能会导致Stack Overflow上错误答案的混乱,并误导正在寻求帮助的用户。”并且还声明:“Stack Overflow禁止使用AI生成答案是合理的。”
OpenAI还提到,ChatGPT有时会给出看似合理但不正确的答案。对于这个问题,Sam Altman表示:“试图阻止ChatGPT随机捏造,在现阶段与现有技术保持平衡是很棘手的。随着时间的推移,会根据用户反馈进行改进。”
所以有些用户把ChatGPT定位为聊天解闷的好朋友。当你遇到困境或者需要寻找意义时,ChatGPT可以给出类似“命运之书”的答案。有些用户把ChatGPT当成效率工具,在文案或者一些专业问题上寻找参考。
AI是否已具有人类智能?
2022年12月,人工智能聊天机器人ChatGPT刷爆网络,网友们争先恐后去领略它的超高情商和巨大威力。参加高考、修改代码、构思小说......它在广大网友的“鞭策”下不断突破自我,甚至可以用一整段程序,拼接出一只小狗。那么,ChatGPT是如何炼成的?是否意味着AI已具有人类智能呢?
ChatGPT是GPT(或生成式预训练转换器)文本生成AI系列的最新发展,根据从互联网上获取的大量文本样本来进行训练。
一经发布,ChatGPT便在网友的疯狂“检测”和“调戏”中表现出各种惊人的能力。OpenAI首席执行官Sam Altman表示,自11月30日至12月5日,ChatGPT的用户数量已突破100万,需求大于预期。
在广大网友的不懈努力下,ChatGPT短短几天之内完成了:
1、参加了美国高校的入学资格考试(SAT),成绩为中等学生水平;
2、用《坎特伯雷故事集》风格改写了90年代热门歌曲《Baby Got Back》;
3、用《老友记》主角口吻创作了剧本对白;
4、构思了简短的侦探小说;
5、简要阐释了经济学理论;
6、给出了消除经济不平等的六点计划;
7、与人类进行“心理战”,猜想人类实际上想让计算机做什么;
8、规划了如何毁灭世界;
9、生成关键词指导AI作画;
10、扮演OpenAI,在系统内构建了ChatGPT套娃,相当于“我”生了一个“我”
AI是否已具有人类智能?
讨论AI是否具有真正的“智能”是人类的游戏。图灵测试(The Turing test)已经成为人工智能领域的核心目标之一。它由艾伦·麦席森·图灵提出,被公认为人工智能崛起的标志。图灵测试人为地将“思想能力”定义在功能和实用的范畴内,为“智力”设置了条件。
图灵测试到底是什么意思?简单来说,就是把机器关在小黑屋里,让它和人类聊天对话,然后在小黑屋里分辨回答问题的是机器还是人类。如果不能分辨,说明机器和人的智能水平一样,通过了测试。
到目前为止,还没有、AI模型能真正通过图灵测试。
谈到GPT-4将如何优化,ChatGPT给出了以下答案:
GPT-4是一个大型语言模型,也是人工智能领域最先进的技术之一。在大量训练数据的基础上,可以模拟人类的语言表达能力,用相似的语言回答问题。目前GPT-4还在优化中,可能在以下几个方面有一些改进:
1、增加更多的训练数据,以提高其知识和准确性;
2、增加更复杂的算法来提高其性能和处理能力;
3、增加更多的功能,如语音合成和图像识别,以提高其应用能力;
4、增加更多的输入和输出接口,如聊天机器人、问答系统等,以提高其便利性。
未来,AI真的能拥有人类的智能吗?众说纷纭。也许奇点已然临近,也可能还只是空中楼阁。但不可否认的是,ChatGPT必将引领人工智能领域的先锋革命。
ChatGPT能做游戏?
ChatGPT这种新模型的火爆程度不用多说,因为它的用处实在太广泛,这两天服务器直接被挤爆了。当然,怎么会没人尝试用它做游戏呢?结合一些开发者和自己的尝试,虽然ChatGPT目前还不能达到完美的辅助效果,但是它的表现一定会超出你的预期。
从最简单的文字游戏开始ChatGPT就表现地很好。最幸福的应该是跑团的玩家(桌上角色扮演游戏)。现在,他们不需要再去煞费苦心地找场地,聚集玩家,找有经验的演职人员。只需给AI输入一些世界观信息,就可以开启一段自由度很高的冒险,因为AI会根据输入灵活地生成结果。
有一些熟练的玩家甚至总结出了训练AI的运行模板,可以将游戏分成不同的模式,并提供完整的查询、暂停等完整的系统功能。另外,GitHub现在已经有了将ChatGPT连接到群机器人的代码,很多群聊都变成了联机AI跑群。
当然,这只是基于AI本身展开的互动文字游戏,可能与我们认知中的“做游戏”有所不同。但是,用代码写一个可运行的游戏,也根本难不倒ChatGPT,简单到几乎唾手可得。举个最简单的例子,输入用xx语言实现猜拳、贪吃蛇、俄罗斯方块等简单游戏的要求,就会自己完善规则,输出代码。
把完整的代码复制保存,通常几乎一行都不用改,游戏就能顺利运行。而且随时可以改变需求,它也会自动补全规则、生成新的代码。只能说以后计算机系学生的作业,可能大半都要被它包圆了。
这对游戏开发小白来说绝对是大大的福利,在B站上,就已经有人在零基础的情况下,靠ChatGPT做出了一款完整的Unity打砖块游戏,同样没有改过代码。
为什么说是小白福利呢?因为它不止能写代码,还会相当人性化地回复你。当然,它不能完全替代教程,但比起漫无目的地寻找零散资源,问AI显然快多了。更别说它连这么口语化的表述都能理解
也有UP主尝试用它来写《植物大战僵尸》,结果也发现模块功能完全不用改代码,直接就能用。由于受到字符长度限制,完整的项目代码没办法一步到位,但这不算大问题。
2D能做,3D行不行?当然可以!至少已经有人用它在Unity、UE里实现过简单的射击游戏了。虽然看起来仍然很简陋,但如果你有耐心多捣鼓捣鼓,我不怀疑它能实现一个相对复杂的大型需求。
ChatGPT 能否取代Google百度等搜索引擎
既然看上去ChatGPT几乎无所不能地回答各种类型的prompt,那么一个很自然的问题就是:ChatGPT或者未来即将面世的GPT4,能否取代Google、百度这些传统搜索引擎呢?个人觉得目前应该还不行,但是如果从技术角度稍微改造一下,理论上是可以取代传统搜索引擎的。
为什么说目前形态ChatGPT还不能取代搜索引擎呢?主要有三点原因:
一、对于不少知识类型的问题,ChatGPT会给出看上去很有道理,但是事实上是错误答案的内容,考虑到对于很多问题它又能回答得很好,这将会给用户造成困扰:如果我对我提的问题确实不知道正确答案,那我是该相信ChatGPT的结果还是不该相信呢?此时你是无法作出判断的。这个问题可能是比较要命的。
二、ChatGPT目前这种基于GPT大模型基础上进一步增加标注数据训练的模式,对于LLM模型吸纳新知识是非常不友好的。新知识总是在不断出现,而出现一些新知识就去重新预训练GPT模型是不现实的,无论是训练时间成本还是金钱成本,都不可接受。如果对于新知识采取Fine-tune的模式,看上去可行且成本相对较低,但是很容易产生新数据的引入导致对原有知识的灾难遗忘问题,尤其是短周期的频繁fine-tune,会使这个问题更为严重。所以如何近乎实时地将新知识融入LLM是个非常有挑战性的问题。
三、ChatGPT或GPT4的训练成本以及在线推理成本太高,导致如果面向真实搜索引擎的以亿记的用户请求,假设继续采取免费策略,OpenAI无法承受,但是如果采取收费策略,又会极大减少用户基数,是否收费是个两难决策,当然如果训练成本能够大幅下降,则两难自解。
以上这三个原因,导致目前ChatGPT应该还无法取代传统搜索引擎。那么这几个问题,是否可以解决呢?其实,如果我们以ChatGPT的技术路线为主体框架,再吸纳其它对话系统采用的一些现成的技术手段,来对ChatGPT进行改造,从技术角度来看,除了成本问题外的前两个技术问题,目前看是可以得到很好地解决。我们只需要在ChatGPT的基础上,引入sparrow系统以下能力:基于retrieval结果的生成结果证据展示,以及引入LaMDA系统的对于新知识采取retrieval模式,那么前面提到的新知识的及时引入,以及生成内容可信性验证,基本就不是什么大问题。
基于以上考虑,在上图中展示出了我心目中下一代搜索引擎的整体结构:它其实是目前的传统搜索引擎+ChatGPT的双引擎结构,ChatGPT模型是主引擎,传统搜索引擎是辅引擎。
传统搜索引擎的主要辅助功能有两个:一个是对于ChatGPT产生的知识类问题的回答,进行结果可信性验证与展示,就是说在ChatGPT给出答案的同时,从搜索引擎里找到相关内容片段及url链接,同时把这些内容展示给用户,使得用户可以从额外提供的内容里验证答案是否真实可信,这样就可以解决ChatGPT产生的回答可信与否的问题,避免用户对于产生结果无所适从的局面。当然,只有知识类问题才有必要寻找可信信息进行验证,很多其他自由生成类型的问题,比如让ChatGPT写一个满足某个主题的小作文这种完全自由发挥的内容,则无此必要。所以这里还有一个什么情况下会调用传统搜索引擎的问题,具体技术细节完全可仿照sparrow的做法,里面有详细的技术方案。
传统搜索引擎的第二个辅助功能是及时补充新知识。既然我们不可能随时把新知识快速引入LLM,那么可以把它存到搜索引擎的索引里,ChatGPT如果发现具备时效性的问题,它自己又回答不了,则可以转向搜索引擎抽取对应的答案,或者根据返回相关片段再加上用户输入问题通过ChatGPT产生答案。关于这方面的具体技术手段,可以参考LaMDA,其中有关于新知识处理的具体方法。
除了上面的几种技术手段,我觉得相对ChatGPT只有一个综合的Reward Model,sparrow里把答案helpful相关的标准(比如是否富含信息量、是否合乎逻辑等)采用一个RM,其它类型toxic/harmful相关标准(比如是否有bias、是否有害信息等)另外单独采用一个RM,各司其职,这种模式要更清晰合理一些。因为单一类型的标准,更便于标注人员进行判断,而如果一个Reward Model融合多种判断标准,相互打架在所难免,判断起来就很复杂效率也低,所以感觉可以引入到ChatGPT里来,得到进一步的模型改进。
通过吸取各种现有技术所长,我相信大致可以解决ChatGPT目前所面临的问题,技术都是现成的,从产生内容效果质量上取代现有搜索引擎问题不大。当然,至于模型训练成本和推理成本问题,可能短时期内无法获得快速大幅降低,这可能是决定LLM是否能够取代现有搜索引擎的关键技术瓶颈。
从形式上来看,未来的搜索引擎大概率是以用户智能助手APP的形式存在的,但是,从短期可行性上来说,在走到最终形态之前,过渡阶段大概率两个引擎的作用是反过来的,就是传统搜索引擎是主引擎,ChatGPT是辅引擎,形式上还是目前搜索引擎的形态,只是部分搜索内容Top 1的搜索结果是由ChatGPT产生的,大多数用户请求,可能在用户看到Top 1结果就能满足需求,对于少数满足不了的需求,用户可以采用目前搜索引擎翻页搜寻的模式。
搜索引擎未来大概率会以这种过渡阶段以传统搜索引擎为主,ChatGPT这种instruct-based生成模型为辅,慢慢切换到以ChatGPT生成内容为主,而这个切换节点,很可能取决于大模型训练成本的大幅下降的时间,以此作为转换节点。
蓝海大脑ChatGPT深度学习一体机采用 Intel 、AMD处理器,突破传统风冷散热模式,采用风冷和液冷混合散热模式——服务器内主要热源 CPU 利用液冷冷板进行冷却,其余热源仍采用风冷方式进行冷却。通过这种混合制冷方式,可大幅提升服务器散热效率,同时,降低主要热源 CPU 散热所耗电能,并增强服务器可靠性;支持VR、AI加速计算;深受广大深度学习ChatGPT领域工作者的喜爱。