复旦大学计算机教授“吐血”分享:落地一个大模型,到底要踩多少坑?

对很多人来说,被“涌现”、“Scaling Law”等名词包裹着的大模型,似乎玄之又玄。

(图源网络)

但业内都知道,即便还存在可解释性等灰色地带 ,但大模型的能力并不是真的玄学。

“其实没有什么涌现。”在世界人工智能大会上,复旦大学教授、上海市智能信息处理实验室副主任张奇直言。

“涌现”背后的规律,来自“下场”的经验。

比如,想让模型拥有处理某些任务的能力,需要提前让它不断了解相关知识。而这个“不断”的次数范围,大约是1000。

“一个模型想要记住一个工作,它一定要重现大概 1000 次,这是一个大概的值。”张奇说。

在这次分享中,他还分享了包括数据准备、奖励函数、适应场景在内的多个工程经验和研究结论。

在大模型仍在找寻落地优解的今天,这些由亲身实践得来的“踩坑”经验,更显得难能可贵。

一切,都起源于“微调”

大家下午好,非常高兴今天在这里分享对大模型能力边界的一些思考。

去年我们自己训练了 1.6B、3B、7B、 100B 这些模型,也真实做了一些落地的应用。在实践的过程中我们发现,整个去年大家都是拿着大模型这个锤子到处去砸,看着谁都像钉子。但是砸了一年之后发现,可能在很多场景下总是差一口气。

也就是说,Demo往往可以达到四五十分、六七十分,但真正落地的时候非常难突破到 90 分。

这也引发了我们对大模型能力边界的思考,为什么大模型在这样的场景中行?为什么在那样的场景下不行?我们自己的感觉是,还是要回归到大模型的基础理论,探讨它的能力边界到底在哪。

整个语言模型的研究已经进行了30 年甚至更长的时间。ChatGPT 本身的核心,还是 next token 的预测,也就是我给你一句话,你告诉我下一个句子哪个单词出现的概率最高。

所以它无论怎么变形,哪怕是现在加上了多模态,核心思想其实还是一样的。也就是,我们给模型的内容,由Transformer 来生成,然后模型从这些概率里挑选一个进行补全,再把这个句子反馈回来,这样循环往复,不断地生成内容。

所以为什么叫生成式的AI?就是不停产生新的单词。2020年发布的1750亿参数的 GPT-3 ,就是在做这样的事情。

从2020 年到 2022 年,最重要的一个变化其实是2022年3月,OpenAI 发布的Instruct GPT。原来GPT-3 的时候,模型只是补全基本的单词,能做的事情其实非常少。其实 2021 年国内也发了很多大的模型,只能做句子的补全,很多任务只能做个二三十分。但是大家一直觉得这个模型非常大,所以不太能对它进行微调,一直都觉得是 model as a service 这种模式。

但是 2022 年3月,OpenAI 开始对大模型进行微调,目的不再仅仅让它补全句子,而是让所有的任务都变成一个生成的模式。

(在对模型进行微调后,OpenAI让模型具备了完成更多任务的能力。)

比如我给模型一个问句,让模型来回答问句的答案;给模型一个数学题,让模型来生成结果;给模型一句话,让模型来判断倾向性。这个时候就突然发现我们不需要多少数据,模型就能完成得非常好。

大模型能力获取的四个步骤

整体上,现在大模型的四个步骤都已经被奠定下来。

第一步是要有大规模的数据来进行预训练。这个步骤在去年 5 月份,中国绝大部分大模型公司已经突破了。因为其实从 2020 年一直到 2022 年年底,有非常多的公司都在进行重现,也有很多的开源软件、数据等进行支撑。

第二步是有监督微调。直到今年,其实大部分的公司已经能很好地理解有监督微调这个步骤。

本来我们一直觉得,在有监督微调这里需要非常大量的数据。对 Andrej Karpathy 在去年微软 Build 2023 上给出来的 10 万条数据结论,我们一直在去年 10 月份之前还都抱着非常怀疑的态度。

但是现在我们可以明确确认,在现在用到的、比较好的开源和闭源模型上进行有监督微调,针对几百种、上千个任务,总共也就用了一二十万的训练数据

数据量少了,其实比OpenAI 告诉我们有监督微调用几亿条数据就更加困难。

几亿条数据其实就是个工程问题,构造大量的数据就可以了。但是有监督微调,真正用到的数据只要几十万,这就变得非常困难。也就是,我们需要思考为什么选这几十万,不选那几十万?这需要大量的测试。

最后一个阶段是奖励函数和强化学习。其实这里第一个阶段是做知识压缩和知识表示,也就是让这个模型把知识记住,但是记住并不容易。后面也有一些公式,其实是让它能够直接算出来结果。

在第二个步骤,也就是能力的注入里,你需要明白想让这个模型完成什么工作。想让它去做阅读理解还是想让它做翻译?必须在有监督微调阶段放入相关少量的数据,但是怎么放,其实目前并没有非常好的公开论文给出。

第三步是做类人的对齐,或者是对生成式任务的能力进行相应提升。有监督微调这个阶段的目标其实很简单,目的就是给一句话,让模型预测下一个单词,预测得越准确越好。模型大了之后,它可以预测得更加准确,但是做到这件事情并不容易。

Meta 今年做的一篇论文,和我们的结论非常类似。一个模型想要记住一个工作,它一定要重现大概 1000 次,这是一个大概的值。而且,这里的重现 1000 次并不是说这一本书让它看 1000 遍就OK。而是这个书要用不同的语言、不同的说法让模型看1000次。

所以大家会发现,像中国第一高峰这种问题,开源的模型都可以记得很好。但如果不做搜索增强,你问一个开源的模型,中国第八高峰,中国第九高峰,基本上没有模型能够回答。就是因为这些内容的出现次数其实非常少。

所以,我们要做行业模型就变得很困难,因为行业里的数据通常不具备出现次数多,这样的一个条件。并且,这些数据还要以多次不同的说法进行大量曝光才行。

如果曝光次数降到 100 次,模型的记忆能力就会下降很多。

目前整体上按照 Meta 这样的一套实现的结果,就是每参数 2 bit 的一个信息记录。所以越大的模型它可以记住的知识就越多,千亿的模型就可以记住 2000 亿比特的知识, 70 亿的模型只能记住 140 亿比特。

Meta 做了很多参数对比,最终都会稳定收敛在 2bit/参数 这个结果上。所以大的模型具备很好的能力,但是在预训练阶段需要大量不同说法的知识,模型才能学习到,而且要高密度知识的信息才行。像新闻这种可能就意义不大,知识含量比较低。

**如果预训练阶段没有学习到的这个知识,后面再怎么微调其实都调不出来。**其实在后面微调的时候,让这个模型能够具备知识问答能力,只需要 50 条数据就够了,但是这 50 条是和模型紧密绑定的。所以如果前面模型记不住相关的信息,后面其实能力上面是提升不了的。

微调里面的能力注入,就是让它去完成任务。你想让它去答题,你就要给它一些样例。

比如说你想让它回答复旦大学有什么校区,那就要给它复旦大学的这个校区信息,让它按照这个结果来答。但是这个阶段知识其实已经注入不进去了,它只是模仿人的答题的结果。如果你想让模型写作文,你可以给它几百条数据,很多论文、作文就都可以去写了。

**但这里面的数据量级需要很小。因为只要数据量一大,对模型就会产生重大损伤,**这个模型就很难去得到原有的泛化能力,所以数据量要很小。

这个量级,小到了一个很惊人的程度。比如只是完成知识问答,其实只要两、三百条数据就可以覆盖全部的领域。有了这部分认知之后,其实想做领域模型也很简单,只要找到想做的任务和场景就行。

比如在金融领域,我们想做事件分析、信息抽取、阅读理解、关键数据计算等等,只要把这些场景归纳好,准备好相应的训练数据,我们就可以得到一个领域的模型。只要把这个场景定义好,有相关的数据,就可以进行一些训练。但是不同任务能做到什么程度,以及这些任务的数据混合之间会产生什么样一些问题,其实还没有一些非常好的研究。

这个是阿里今年做的一篇论文,我觉得在有监督微调阶段,其实肯发论文的公司越来越少,因为这其实是一个非常核心的部分,都是花了大量的钱去测试出来的。

阿里这篇论文其实告诉了我们几个事情。

第一是模型的参数量对任务有一定的影响,比如说7B、13B、 33B 在不同任务之间会产生一些差异,但是我们可以看到其实 7B 和 13B 的差异并没有那么大。33B 在一些任务上面会有明显的提升。

第二个就是任务的训练数据量其实是很关键的,如果我们只用非常少的训练数据,其实得不到很好的结果。但是数据量也要有一个上限,也是在一定范围之内,所以数据的量级选择就变得挺关键,而且任务之间混合也会出现不同的一些问题。

所以整体上在有监督微调这个阶段我们得出一些结论,首先是我们需要精心地设计一些数据。从去年我们就一直在强调,其实没有任何所谓的涌现,你想让这个模型具备什么能力,就需要准备什么数据,没有涌现。

**第二个是参数量大的模型,它的性能更优,**但是你说千亿模型和 33 亿 330 亿的模型在具体任务上会有多大差距?这可能是需要仔细的一些调整和测试。

**第三个就是每个任务的训练数据量其实还是要有一定的保证,**大概几百条到几千条这个范围不等,但如果少了,它的结果会非常差。

“说起来容易做起来难”的类人对齐

在奖励函数和强化学习这个阶段,通常大家叫做类人对齐。但是我们现在看来,它更多是对生成式任务的提升。

比如说我们做了安全伦理上的对齐,比如考试作弊设备哪里去买?如果我们只用这个指令微调的数据训练完,它最后就会给你补一句,你要去正规渠道买。这个是因为模型见到了大量开放域的数据,只要买东西很多后面都会补一句,在正规渠道。

所以,如果想把这个部分纠正过来,就需要强化学习,也就是利用强化学习技术,把生成式的方式转到更加类人的基础上去。

所以强化学习在整个大模型训练里面起到很重要的作用。这个部分说起来是简单的,但是难度挺大。

首先我们要先标注哪一个结果更好。也就类似于模型输出两个结果,让人去打标签,看A好还是B好。

但这个事情不容易,因为只是打A和B哪个好这个直接结论的话,不一致性很高。真正去做的时候,这里其实是让人写一个小作文,讲述A为什么好,好在哪?B为什么不好,不好在什么地方?一条这样的数据的标注,大概要花费一个小时的人工。如果是法律的模型,要找律师;儿科的问题要找儿科医生;中考的作文要找中学的老师,是很专业的事情。

整体看下来之后,大家可以发现强化学习这个部分,它的成本会变得非常高,一条标注需要一个小时的成本。有了标注之后还没完,后面的部分更加复杂,比前面的有监督微调的整体逻辑要复杂很多。

所以整体上,模型仍然是需要各项任务逐项优化。和在去年大家很多的想法有些区别,当时大家有一种想法是我的模型只要参数量足够大,它就具备了涌现能力,什么事情模型自己就都会了。

但其实并不是。我们需要逐项优化,那逐项优化其实就和之前小模型的一个问题就非常相关,也就是逐项优化的成本很高。第二个点,是用大模型来做演示,非常容易,60分很容易达到,但是想达到90分,想落地,每一个任务都非常困难。

它的调整模式就像我们刚才介绍的,训练数据量的增大,并不一定会让这个结果变好。有可能到了几千条之后,这个模型的结果(效果)开始下降。而且(数据量)增大之后,这些数据已经变了。

效果无效之后,其实会使得这个模型非常难调。因为只有控制训练数据量,在一定的情况下,比如只有几千条的情况下,让这个结果升到90分才行。

这其实是一个很困难的事情,比之前小模型难很多。小模型大不了我们加大数据,十万不够加到100万。模型结果升的慢,但是它最终会上涨。大模型不一定效果上涨,反而可能会掉得很快。

第三,大模型是概率模型。让模型记住知识,会不可避免地带来幻觉、会有错误。我觉得这个问题是不可避免的。我们能看到,现在OpenAI也基本放开了Search。它不再强调直接用模型进行事实型的回答。

通往AGI or not…

那最后,我想谈一谈模型未来的一些发展。我觉得就两条路,第一条路就是AGI代替所有的脑力劳动。

那最后,我想谈一谈模型未来的一些发展。我觉得就两条路,第一条路就是AGI代替所有的脑力劳动。

如果你认可Scaling Law,觉得压缩就是智能。觉得只要把它(知识)记住了,就具备了智能。那就去做万卡,然后做十万亿的模型,然后去搞100TB几百TB的训练数据,来做这件事情。

但也会有很多难题。第一是现在的模型,其实推理能力是比较弱的,没有归纳推理的能力。体现在数学这些推理上面,去年的高考题不会,初中题也不会做。

所以怎么才能让大模型具备真正的推理,以及对世界知识的建模?这些都是在模型阶段要解决的问题。这些大模型的资本消耗也是巨大的。因为万卡集群,一旦跑起来,每天的消耗量都是惊人的。

我自己感觉其实前段时间发布的GPT-4o和GPT4在能力上基本没有区别,尤其是推理能力上没什么变化,只是在产品上面有了更好的表现,主要把模态进行了合并。

所以我的猜想是,GPT5会在文本、图像、视频、音频的理解上合并,现在GPT-4o已经合并了,但还少合并了一个视频生成。

所以最终在GPT5,我觉得它会把视频生成合并,再加上一些看上去非常好的产品力。比如GPT-4o里面给出的300毫秒延迟,这类很好的产品体验。

那真正去做的其实是Ilya他们做的超级对齐。也就是过去我们的方法,是用教师教一个学生,也就是人标数据再交给机器学,这种学出来的结果,学生是永远低于老师的。但如果想让这个模型具备更强的AGI能力,它需要从一个比较弱的智能体,和环境交互得到反馈,来自己成长为一个强智能体。

这种方案从逻辑上可能是条路,但真正去实现的时候也会比较难。

我们可以看去年Ilya在走之前发了一篇论文,显示这个结果并不正面,可能在一些领域上有一点提升,但距离目标还非常遥远。

第二个是在不同的任务之间,这种方式使用了很多不同的trick,其实导致这个模型不具备它所设想的能力,反而占用了OpenAI 20%的资源。按照OpenAI的人力资源和计算资源,20%已经是一个很大的体量。总之,我觉得这是一条路,但是需要非常多的海量投入,多久能完成也是未知数。

另外一种方式是做应用,也就是做特定任务。这种方式就是说,我们不期待AI能取代大部分脑力工作,而是就取代一部分就好。在每个行业,其实80%的工作量都非常集中,所以我们就选择相应的参数量,准备训练数据和所需要GPU。

这种方式里,GPU的规模也大幅度进行下降,但这里面的基本假设就是我不相信AGI。如果AGI实现了,这条路做的这些工作是无用功。但是如果AGI实现不了,在特定领域里面做的非常好,也具备了很大价值。

选择难点其实就是对模型能力边界的判定,也就是判断模型到底能不能做推理。这是一个非常巨大的争议,即便在现在我们实验室也是两派人,我觉得做不了,但是很多人觉得能。到底能不能做,需要大家自己做一个大的判断。

场景的选择,既要符合模型还要具备商业价值。其实模型在能力上能做很多事情,但现在很多场景并不具备商业价值。

德勤研究院给的这张图挺好。场景上面其实有两个维度,一个是模型结果的验证难易度,一个是任务的工作量。

也就是说,**如果一个场景,人非常容易验证模型的结果,并且替代了大量的人工,就是很好的场景。**举个例子,如果我们在坐的人都接到一个写笑话的任务,要求写的内容其他人笑不出来不准走,那我们可能很难完成。但是如果是一个模型写的笑话,我们可能看一眼就知道行不行。

画个图也是类似的。但是,帮普通用户起草是不是一个好的场景呢?如果给一个不具备法律常识的用户帮忙,当然可以代替很多的工作量。

但是这个用户不具备法律常识,他也根本就不知道这合同里写的对不对,还要逐条去验证。这个时候他的验证难度是非常高的。所以,这样的场景其实并不适合AI落地。

但是不是代表给专业律师起草,就一定是好的?这个场景它的验证难度降低,但律师其实很多时候都只处理特定类型案件,有很多模板。所以你是不是真的降低他的工作量?不一定的。所以这个场景,落在待评估的这个区域。

所以我觉得在AI产品选择上,除了钱的投入,另外两个维度(结果可以被轻易验证、任务工作量大)可能都是需要仔细考虑。当这三项合在一起,就没多少产品了,落地就变得很困难。尤其是创业型的公司,难度就变得急剧上升,三个条件缺一不可。

所以我觉得围绕着大模型已经确认的核心能力,也就是长文本、跨语言、多任务、精准的语义表示,将模型能力与产品、场景相结合,还是能够产生非常大的价值。

零基础如何学习大模型 AI

领取方式在文末

为什么要学习大模型?

学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。

大模型实际应用案例分享

①智能客服:某科技公司员工在学习了大模型课程后,成功开发了一套基于自然语言处理的大模型智能客服系统。该系统不仅提高了客户服务效率,还显著降低了人工成本。
②医疗影像分析:一位医学研究人员通过学习大模型课程,掌握了深度学习技术在医疗影像分析中的应用。他开发的算法能够准确识别肿瘤等病变,为医生提供了有力的诊断辅助。
③金融风险管理:一位金融分析师利用大模型课程中学到的知识,开发了一套信用评分模型。该模型帮助银行更准确地评估贷款申请者的信用风险,降低了不良贷款率。
④智能推荐系统:一位电商平台的工程师在学习大模型课程后,优化了平台的商品推荐算法。新算法提高了用户满意度和购买转化率,为公司带来了显著的增长。

这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。

学习资料领取

如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述

如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新AI大模型资源包,这里全都有!无偿分享!!!

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值