目前的AI 到底是背出了答案,还是推理出了答案?
最近看到这个比较有趣的问题,来浅答一下:既不是背,也不是推理。
我们主要将目光集中在自回归的language model。自回归的language model,成名作是GPT-2,使用了next-token prediction的unsupervised learning target。由于预测下一个token的training phase可以直接将attention matrix mask成一个三角矩阵,简单方便,所以后面的工作基本都沿袭了这个传统。这个mask后被称为causal mask。Next-token Prediction最大的好处是,在GPT这种架构下预训练是非常scalable的,跟BERT这种依靠mask的模型架构完全不在一个世界。这个想法自从最早期的GPT开始,OpenAI就一直坚持着。到GPT-2发布的时候,用的数据量规模已经初见端倪。到GPT-3的时候,基本宣告用pre-train来进行next-token prediction这条路已经走通了。
最早的GPT其实是一个BERT的竞品,目标是在pre-train后能获得一个具有泛化性的general language model,这个时候next-token prediction本身的效果还不够好。GPT-2开始,这个pre-training task已经可以带出一些比较像样的应用了,比如fine-tune后可以续写小说,做情感机器人(Emotional Bots, Diyi Yang),做decision making(ArCHer, Yifei Zhou)等。到GPT-3,不需要finetune也可以做续写这种简单的任务了,因为pre-train的时候模型已经看过了。直到这个阶段,不会有人宣传GPT这个架构“具有reasoning能力”,因为GPT显然没有能力在推理任务上胜出。直到GPT-4开始,post-training将pre-trained model的能力抬到一个全新的高度后,模型似乎涌现出了一些zero-shot推理能力,比如进行一些数学推导和逻辑判断。后有研究开始基于大量的prompt engineering在小范围的推理任务上胜出fine-tuned model,从这一刻开始,就会有源源不断的媒体开始宣传“GPT-4具有reasoning能力”。
然而,这个阶段的“推理”本质上是“模型在推理任务上具有不错的效果”,而不是“模型本身具有推理能力”。这种不错的效果,究其原因,来源于next-token prediction这种近似流式的训练过程在data distribution中structure出来的一些paradigm在发挥作用,例如GPT-4在大量的serializable的数学、代码数据上训练过,而这些数据也是流式的,可以被next-token prediction比较恰当地建模,这会导致模型在很多情况下可以比较准确地预测pre-train的时候看过的,或没有看过但接近的next token。模型本质上是在vocabulary里面interpolate一个跟pre-train阶段见过的distribution最接近的distribution,然后在这个distribution上用一些test-time的工程技巧,例如beam search和temperature,来预测下一个token。
因为模型在test-time的interpolation总是逼近pre-training dataset里面input token sequence后那个token的distribution(合称paradigm),而dataset中越多类似的paradigm往往意味着越接近“真实的”(与客观吻合的)paradigm,所以模型在pre-training阶段见过越多类似的paradigm,则在test-time会越逼近真实值。例如,模型在infer的时候见到了自己之前infer出来的一个数学公式,而那个数学公式曾经在pretrained dataset里面,那么模型就会include自己之前推出来的那个公式找学过的最接近的下一条公式。
这就是自回归模型的“few-step逻辑”的来源:模型能输出一个个比较短的logic chunk,这些chunk内部是合理的,且相邻的chunk往往是合理的,但是相隔较远的chunk往往是不合理的。从强化学习的角度来看,这就是imitation learning的error accumulation。这也是为什么language model一般zero-shot reasoning能力不强 - language model学到了few-step这种流式的预测,却没有一个精心设计的mechanism(这往往需要动模型结构)去强化推理所需要的planning(如backup)和logic(如many-step/skip-step的逻辑)。因此GPT这个自回归模型架构既不是在背答案(因为有interpolate的能力,即有限的continuous few-step逻辑),也不是在推理(没有planning和many-step/skip-step逻辑)。
之前Anthropic的工作Decomposing Language Models With Dictionary Learning指出,1-layer language model中的大部分神经元可以被用dictionary learning的方法分解为许多单语义的token distrubution。这说明language model中的每个神经元本质上是一些简单语义的superposition,例如一个神经元可能在input token全部为大写时被激活,也可能在input tokens中出现人名时被激活,那么它就是“大写”和“人名”的superposition。我们的工作 CRATE-LM 尝试了更大的GPT-2,发现模型变深后,language model的各层职能开始分化,更深的layer的dictionary learning效果显然变差了,这说明模型深层可能在进行一些更针对前面神经元output的logits关于pre-train目标(next-token prediction)的整合和优化。由于更大的language model很难进行高效的dictionary learning,我们考虑直接将sparsity整合到language model内部,提出了基于CRATE架构的language model。CRATE架构(马毅)是一个数学第一性架构,直接在数学上promote sparsity。我们提出的CRATE-LM拥有更好的神经元解释性,且因为不需要过dictionary learning,所以支持无损编辑。这两份工作都从mechanisitic的角度侧面解答了“language model的内部是否存在reasoning机制”这样的问题:在12L以下的GPT-2 size的以next-token prediction为training target的language model中,并没有audit到任何planning/reasoning mechanism。
那用不同paradigm的post-training能够解决这个问题吗,例如强化学习?从原理上讲,只要训练仍然是完全通过next-token prediction这个target去做的,那么就很难去claim reasoning的能力。一个常用的workaround是,虽然language model本身并不具有reasoning能力,但是可以用它出色的representation去学一些小的reasoning/planning head,这就是一众使用RL来post-train language model的工作(包括我们的RL4VLM)的主要思想。而未来的研究者们仍应放眼更大的世界,尝试思考一些从模型架构本身出发的方法。我相信这现在也已经是general robotics model主要在思考的方向。
大模型&AI产品经理如何学习
求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。
1.学习路线图
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方图片前往获取
3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集***
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓