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

对很多人来说,被“涌现”、“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产品选择上,除了钱的投入,另外两个维度(结果可以被轻易验证、任务工作量大)可能都是需要仔细考虑。当这三项合在一起,就没多少产品了,落地就变得很困难。尤其是创业型的公司,难度就变得急剧上升,三个条件缺一不可。

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

那么,如何系统的去学习大模型LLM?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

篇幅有限,部分资料如下:

👉LLM大模型学习指南+路线汇总👈

💥大模型入门要点,扫盲必看!
在这里插入图片描述
💥既然要系统的学习大模型,那么学习路线是必不可少的,这份路线能帮助你快速梳理知识,形成自己的体系。
在这里插入图片描述

👉大模型入门实战训练👈

💥光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉国内企业大模型落地应用案例👈

💥《中国大模型落地应用案例集》 收录了52个优秀的大模型落地应用案例,这些案例覆盖了金融、医疗、教育、交通、制造等众多领域,无论是对于大模型技术的研究者,还是对于希望了解大模型技术在实际业务中如何应用的业内人士,都具有很高的参考价值。 (文末领取)
在这里插入图片描述
💥《2024大模型行业应用十大典范案例集》 汇集了文化、医药、IT、钢铁、航空、企业服务等行业在大模型应用领域的典范案例。

在这里插入图片描述

👉LLM大模型学习视频👈

💥观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 (文末领取)
在这里插入图片描述

👉640份大模型行业报告👈

💥包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

👉获取方式:

这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值