最近大火的高性能计算 ChatGPT 究竟是什么?
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 来辅助。
普通的文字创作只是最基础的,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 的回答往往是大段大段,过于冗长,看似逻辑自洽,但有时是在一本正经“忽悠人”。仔细想想,会发现一些漏洞。如果非专业人士不能分辨 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 的程序小狗
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 套娃,相当于“我”生了一个“我”
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 领域工作者的喜爱。
评论