亲,欢迎光临88小说网!
错缺断章、加书:站内短信
后台有人,会尽快回复!
88小说网 > 都市言情 > 重生之AI教父 > 第323章 ChatGPT核心技术(合)
  • 主题模式:

  • 字体大小:

    -

    18

    +
  • 恢复默认

第323章 ChatGPT核心技术(合)

在前世openAI得到Gpt3之后,为了发展出chatGpt级别的智能,他们曾经做过两种不同路线的尝试。

openAI将一批模型命名为达芬奇,分为代码版达芬奇和文本版达芬奇两种,顾名思义,一种用于代码,一种用于文本语言。

这两兄弟可以算作是第一版的Gpt3.5,也就是chatGpt的原始版。

对比原本有点笨笨的Gpt3,两兄弟已经开始展现出不少关键能力。

比如合理的响应人类的指令。

他们针对人类的输入内容,回应会显得非常合理,给人感觉像是在进行对话和思索。而此前的Gpt3,会经常复读相关,但是根本没用也不是回答的句子。

比如可以对从未见过的任务和知识内容进行应对,这一点是至关重要的。

如果模型只能对训练集内有的文本进行理解和回答,那么上线以后是完全没法用的。

广大民众的想象力是无限的,分分钟就会发现智能的漏洞所在,进而对这款智能失去兴趣,这也是为什么Gpt3在人工智能领域外几乎没有什么水花。

最重要的一点,是模型具备了【思维链】,能够对比较长的句子和事件的因果关系进行相当复杂的推理。

这一点也是Gpt3几乎不具备的。

思维链的能力至关重要,它不仅使得模型能够更加聪明的理解人类用户的输入,更加关键的地方在于强化了多轮对话的前后文理解能力。

它使得语言模型仿佛具有了相当的记忆力,用户每次输入内容和进行对话的时候,几乎不需要过多的提及之前的内容,模型就仍旧能够串起前文,理解用户的意图。

这些新的能力,是使得Gpt3.5完全蜕变,成为全世界目光焦点的关键所在。

而与Gpt3相比,模型的参数和训练的数据变化其实很小。

所以孟繁岐才会认为,数据和模型规模固然重要,但还不够产出chatGpt这样聪慧的智能。

在此基础之上,还需要另做文章,并且工程量不小。

这些操作和技巧,就是openAI最成功产品,chatGpt的核心科技。

“首先要做的两件事是【指令微调】和【代码训练】。”孟繁岐如今手下已经有了好几十人,既然付工资,该让他们做的事情当然不用客气。

指令微调到底是否改变了模型的性能,这个问题其实并不好说。

不过前世有很多研究证明,指令微调的确可以使得模型的输出更加符合人类的风格,符合人类的偏好。

或许,微调前的模型其实已经理解了内容,掌握了对应知识,但它表达的方式和风格并不是人类的风格,又或者说,它不知道应该如何表达。

这也就导致了人类对它们的回应评价不高。

“大家不要小看指令微调,如果说随机参数生成的大模型就像是人类婴儿,经过首轮训练的Gpt就像是刚刚完成九年义务教育的中学生。他们有基础的知识和写作能力,但如果想让他们在特定任务上独当一面,还需要进行专门的实习锻炼。”

“指令微调就像是一种引导,让大模型在少量的训练调整中,大概理解什么样的问题需要检索什么样的知识,如何回答才是更好的方式。”

“这种模式,我们之前在做AI医生的时候,已经有过非常详尽的流程和模版了,不熟悉的同事可以先去学习一下。”孟繁岐知晓这件事的重要性,因而从两年前开始收集数据的时候,早就规定了收集数据需要的格式。

一步到位,为后面省了不少事情。

上一次AI医生,之所以能用数亿的参数量做到那么好的效果,指令微调策略是贡献很大的。

他使得AI模型能够显得非常自信专业,很像是具备特定领域专业知识的老医生。

并且时刻知道自己的身份,会提醒患者去医院确认情况,不会过于自信。

“这一次的主要挑战在于我们要打造一个通用的语言大模型智能,因此多个方面和领域都需要微调,任务种类可能达到数千的级别。”

“我留给大家的时间并不多,可能只允许你们失败一次。有任何问题及时跟我联络协调,不要硬着头皮耗,到最后耽误了整体的进度,奖金扣光!”

孟繁岐平时对于薪水发放很好说话,但关键时刻也不会容许有人掉链子。

想做chatGpt这样的通用模型,这一整套流程需要大家齐心协力完成,单只靠几个已经熟悉了这个过程的小团体就显得不够了。

【指令微调】需要用量来堆,前世大家的总结是,【对没有见过的指令也能做出正确反馈】这种奇特的智能能力,是在模型训练的指令数量超过一定程度之后,自动出现的。

很多家机构和模型,都在自己的训练过程中,发现了这样的现象。

说难听点就是,大力出奇迹了,量变产生了质变,并没有谁提前预料到了这个结果。

而另一个关键因素【代码训练】,则是大模型产生了【思维链】的一大主要原因。

Gpt3的训练阶段,数据中没有包含任何代码,它基本不具备【思维链】能力。

谷歌的paLm,含有大约百分之5左右的代码数据,最终得出的模型具备【思维链】的能力。

达芬奇系列分出两支,其中一个对代码做了特训之后,发觉这一系列和后续变体,都获得了【思维链推理】的能力。

2022年,有人就对市面上的大模型都进行了广泛的评估,发现所有针对代码进行过学习的语言模型,都具备很强的语言推理能力。

这一发现,同样暂时没有得到比较合理的解释。

前世大模型火了之后,孟繁岐原本的项目直接被砍,因而读这类的技术和论文很多。

但读来读去,并没有读到任何确凿的证据和理论可以证明又或者是解释,代码就是大模型能够形成思维链又或者是进行复杂推理的原因。

大家也只是发现了这样的观察结果,这两者之间存在相关性,不过未必就是因果关系。

“目前我还没有看到谁将各种代码也加入到模型训练当中...”孟繁岐极大地加速了AI技术的发展,等到他推出350亿参数的chatGpt之后,有这个能力入场玩一玩的公司就不剩下多少了。

对大多数人来说,光是把这个大小的模型塞进自己的服务器里,运行在显卡上,就已经是要了老命的事情了。

如此大的模型规模,大家连训练比较常用的数据都难以负担,恐怕很难能够想到要把将代码也加入到文本当中来。

这个小秘密,可能要等孟繁岐推出专门的代码大模型之后,才会有人注意到。

“所以到底为什么让模型学习代码会有助于它的逻辑推理能力,以至于它在处理人类语言的时候也会有这么大的提升呢?”孟繁岐并不知道答案,这件事情在2023年也是未解之谜。

“按理来说,代码是一种中间产物,属于人类语言和机器语言的中间地带。它跟人类语言的差距是非常大的,几乎没有什么相似之处。”closeAI内部曾经对这个问题进行过讨论,但没有什么特别有意义的结果。

大家断断续续讨论了一两周,都猜测,也许是因为编程过程与人类逐步解决任务的过程非常类似。

很多难题都不是可以一步到位的,问题也比较复杂,并不能简单进行答复。

很可能需要分多个层次进行分析,讨论各种可能性。

这就和编程当中的if语句有些类似。

模型很可能从代码的方式中触类旁通,学会了对不同的假设场景给与不同的应对策略。

而比较整体的代码项目,又会将一个相对复杂的任务,拆解为数个简单任务,做成不同的功能。

这一点很可能是大量代码对大语言模型有很强效果的一大原因。

总得来说,孟繁岐觉得这件事情还是非常有趣的。

这些代码别说普通人了,他自己都有很多根本看不懂。

因为收集代码数据集,涉及的各种不同语言太多,光是比较知名的就有十来种。

大部分程序员能写个三四种语言,就已经相当不得了了。

并且,即便一位懂得某个语言,他的实力也未必就能看得懂具体的项目。

孟繁岐非常怀疑大模型是否真的理解了每个项目的具体意义,但唯一肯定的是,大量代码对模型的效果帮助的确很大。

而等到【指令微调】和【代码训练】都做完之后,孟繁岐就需要做一种基于人类反馈的强化学习(RLhF)了。

chatGpt与此前各种测试版本的达芬奇3.5模型相比,一个很大的区别就是它经过了RLhF。

chatGpt后来很多新的能力,那些显得非常智能的能力,都是基于人类反馈而诞生的功能。

比如相对详实的回应,chatGpt相比原始的大语言模型显得有些啰嗦,它会倾向于给出更为全面的回答。

并且,对于涉及多方利益的事情,它很喜欢端水,以免显得过于偏向某一方,显得是在【站队】。

以及拒绝不当问题的能力,这也相当程度上依赖人类的反馈去调整模型。

bing大小姐显得那么傲娇,主要就是因为微软的人在人类反馈上显得更加傲娇。

最为神奇的部分,就是chatGpt拒绝回答新事件的能力。它会经常说,自己只知道2021年之前的事情,基于人类的反馈使得chatGpt能够模糊地知晓那些东西在这个时间范围内,哪些东西并不在内。

虽然chatGpt并不是每一次都能够判断正确,但这仍旧是相当神奇的事情,人们至今无法知晓,它究竟是通过什么方式来判断某些话题是否在时间范围内的。

经过前世和现在的大量测试和实验,closeAI认为绝大部分【能力】和【知识】,都是在初次训练之后,模型已经具备了的。

不论是【指令微调】还是【RLhF】,都只是【解锁】了模型的能力。

得出这个结论是因为,对比训练时候使用的无敌庞大数据来说,做【指令微调】又或者是【RLhF】,所使用的数据和计算量都是相对要小很多的。

换句话来说,这种微调工作,其实最大的一个效果是【让模型知道它不知道什么】。

这句话可能有些拗口,但是对一个大语言模型来说,让模型清楚的知道自己懂什么,不懂什么,其实是一件非常困难的事情。

研究人员们很难想到一种逻辑类型的规则去约束模型,他们也不知道模型到底知道什么,不知道什么。

在人类用户的使用当中,不怕模型说不懂,就怕模型它不懂装懂。

所谓【知之为知之,不知为不知,是知也!】

如果用户询问了一个非常刁钻的问题,模型不知道,它老老实实地说了,反而会给人一种,【有点分寸,有点东西】的感觉。

可若是一通瞎说,驴唇不对马嘴,那就显得异常愚蠢了。

RLhF最初的目的是让模型尽可能生成符合人类预期的回答,但却意外地让模型有分寸了很多。

对自己懂的问题更自信,对自己不懂的问题也大概有了数。

“经过【指令微调】,【代码训练】和【RLhF】三部曲之后,我这款350亿参数的chatGpt差不多能够做到原版1750亿参数的chatGpt大约9成的水平了。”

由于孟繁岐熟知Gpt4和同期其他大模型的优势地方,350亿参数大概是够用的。

chatGpt本身的进化过程,还是走了弯路踩了坑的。

但chatGpt虽然是现象级的产品,却也存在着自己的问题,它并不是完美的。

等到孟繁岐今年完成初版之后,他就不得不面对这类的难题。

比如模型奇奇怪怪的信念。

chatGpt可能会非常坚信某件事,即便它显然是错误的。

甚至,当你举出反例的时候,它会赞同你的反例,但还是坚信这件事。

这件事情非常的微妙。

比如它会说,81是一个质数。这显然是错误的,你对它说,九九八十一,它会大方地承认的确如此。

但与此同时,它仍旧会坚持,81是一个质数。

这就是一个非常让人恼火的场景,一方面,它能够非常清晰地说出质数的定义,甚至比人类更加严谨客观。

可同时,它却没有办法遵从这种严格的定义,自己发觉自己做了一个非常错误的判断。

当然了,这种信念的程度在不同的问题上会有程度的差异,如果用户执意要挑逗试探模型的话,就会发现它有时候会坚持,有时候你说什么他都会怀疑自己错了。

这种通用的大模型,暂时没法进行特别严格的推理证明。

举一个更加简单的例子,它甚至会做错简单的数学运算。

“不过好在算术这方面的问题2023年已经有解决的思路了。”Gpt4的更新思路是插件,Gpt不擅长做算术,会把简单的东西算错,既然如此,那就引入插件,让专门的程序去负责专业领域的任务。