您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[复旦大学]:复旦大学(张奇):2024年大语言模型的能力边界与发展思考报告 - 发现报告
当前位置:首页/行业研究/报告详情/

复旦大学(张奇):2024年大语言模型的能力边界与发展思考报告

文化传媒2024-11-14-复旦大学任***
复旦大学(张奇):2024年大语言模型的能力边界与发展思考报告

大语言模型的能力边界与发展思考 张奇 复旦大学 1 ChatGPT 2023年--大模型报税、写诗、写代码,“无所不能” ChatGPT 2023年--大模型“无所不能” ChatGPT 2023年--大模型“无所不能” 2023年大家拿着锤子到处找钉子 ChatGPT 2024年--大模型落地总是“差一口气” ChatGPT 2024年--大模型落地总是“差一口气” ChatGPT 2024年--大模型落地总是“差一口气” 语言模型无法进行逆向知识搜索,除非知识以逆序出现在预训练数据中 PhysicsofLanguageModels:Part3.2,KnowledgeManipulation,Allen-ZhuZ.,LiY.,Arixv2023MeatAI/FAIRLabs ChatGPT GPT-o1preview号称物理问答达到“博士:水平 GPT-o1preview似乎也不能很好的解决初中数学问题 ChatGPT •在GSM8K和MATH数据集问题的基础上,加⼊了⼀些“陷阱”,构造了MathTrap数据集。 •改编后的题⽬很多时候没有定义明确的答案或者⽆解,只有能够同时理解原题和“陷阱”所涉及知识,才能找出其中的⽭盾点,发现“陷阱”所在。 •MathTrap_Public上,GPT-o1-preview的回答准确率仅为24.3% •MathTrap_Private上,GPT-o1-previewAPI的测试准确率为38.0%,相⽐GPT-4API 的36.0%,⼏乎没有提升 为什么? 10 从飞机发展史看AI发展的核心问题 11 ChatGPTChatGPT为什么这么强? 基础理论对于技术发展至关重要 1903年12月17日,世界上第一架载人动力飞机首飞 ChatGPTChatGPT为什么这么强? 同时期各种脑洞大开的“飞行器” 莱特兄弟创造“飞行者一号”的历程 ChatGPTChatGPT为什么这么强? 1890年代前期莱特兄弟就从新闻、杂志或者照片上看到了德国航空先驱奥托·李林达尔研制的动力滑翔机 1896年5月,塞缪尔·兰利成功试飞了一架蒸汽动力的无人飞机模型 莱特兄弟认为困扰航空先驱们的飞行难题有三点:机翼、发动机以及如何控制飞机 1899年7月,威尔伯·莱特制作了一架长5英尺,形似双翼飞机的箱型风筝用来测试翘曲机翼技术 莱特兄弟兄弟建造了风洞,为200多种不同翼弧的翼型完成了旋转臂测试(一种测量升力和空气阻力的早期手段),并对其中的38种做了更详细的测试,同时也对广受认可的升力方程中的斯密顿系数提出了质疑,当时已经被提出了100多年。 基于展弦比知识和更精确的斯密顿系数,莱特兄弟设计了他们新的1902年款滑翔机1903年莱特兄弟用云杉木来建造他们配备有动力装置的飞行者一号 猜测:OpenAI发布GPT-4时已经掌握了大模型基础理论 https://arxiv.org/pdf/2303.08774 回归基础理论进行分析 16 语言模型真正做的事情—文字接龙 ? ChatGPTChatGPT为什么这么强 语言模型的核心任务始终是生成一个“合理的延续”,即根据已有的文本,生成一个符合人类书写习惯的下一个合理内容。所谓“合理”,是指根据数十亿个网页、数字化书籍等人类撰写内容的统计规律,推测接下来可能出现的内容。 Cha17tGPT完成像写文章这样的任务时,它实际上只是一遍又一遍地询问:“在已有的文本的基础上,下一个词应该是什么?”——并且每次都会添加一个词。 ChatGPT实现过程 explainthemoonlandingto6yearolds AB CD C>A>B=D 奖励函数 预训练阶段有监督微调奖励函数强化学习 数千亿单词 图书、百科、网页等 十万各任务用户指令 explainthemoonlandingto6yearolds 百万各任务用户指令 十万各任务用户指令 基础大模型 标注人员构造目标答案 SomepeoplewenttotheMoon 标注人员对答案质量进行排序 有监督微调大模型 Writesomethingaboutfrog 大模型 Onceuponatime… 奖励函数 rk 1000+GPU 月级别训练时间 1-100GPU 天级别训练时间 1-100GPU 天级别训练时间 1-100GPU 天级别训练时间 18 ChatGPT实现过程 预训练阶段有监督微调奖励函数强化学习 数千亿单词 图书、百科、网页等 十万各任务用户指令 explainthemoonlandingto6yearolds 百万各任务用户指令 explainthemoonlandingto6yearolds CD 标注人员构 大模型 造目标答案Somepeoplewentto 基础大模型theMoon AB 十万各任务用户指令 Writesomethingaboutfrog 模型训练每个阶段分别完成什 1.大 10.大模型是否具备推理能力?么功能? 标注人员对 有 2.预训练阶段能记住什么知识? 监督微调大模型 答案质量进行排序 C>A>B=D Onceuponatime… 奖励函数 4.什么才是高质量的SF 奖 T训练数据?励函数 础模型的什么? 3.如何评价预训练模型优劣? 7.强化学习适合于什么任务?rk 5.有监督微调改变了基8.如何稳定高效的完成RLHF的训练? 略是什么? 6.有监督微调的训练策9.如何融合外部环境状态以及利用合成数据? ChatGPT实现过程 1.大模型训练每个阶段分别完成什么功能? 知识压缩和表示学习 能力注入生成式任务能力提升 需要足够多的“曝光”才能完成记忆 2.预训练阶段能记住什么知识? 达到2bit/参数对于每个知识要达到1000次曝光 如果只有100次曝光的话,会减少到1bit/参数 图标上面数字是l,h参数选择 21 “垃圾数据”对知识获取有显著影响 Wikipediavs.CommonCrawl 22 直接通过训练语料的统计就可以计算得到知识记忆概率 PhysicsofLanguageModels:Part3.3的研究并未对知识的特异性进行分析 联想 总裁杨元庆 华为总裁任正非 具有别的含义,且出现次数频繁,导致该知识记忆难度大 直接通过训练语料的统计就可以计算得到知识记忆概率 基于模版变换的知识记忆评估方案 p(x)p(y)/p(x,y) 预训练阶段思考 预训练阶段主要完成知识记忆+表示学习 •开源大模型已经可以很好的进行句子/段落/篇章表示 •OpenAI基本放弃了通过模型知识记忆直接进行问题回答 25 预训练阶段结论 1.同一个知识点必须用不同的语言表达方式大量重复,模型才能学习到 2.大规模数据的PPL值可以有效衡量模型的知识记忆能力 3.具有高知识密度的高质量的训练数据至关重要 4.经过足够的训练模型可以达到2bit/参数的知识存储能力 PhysicsofLanguageModels:Part3.1,KnowledgeStorageandExtraction,MetaFAIRLabs,arXiv2023 PhysicsofLanguageModels:Part3.2,Knowledgemanipulation,MetaFAIRLabs,arXiv202326 PhysicsofLanguageModels:Part3.3,KnowledgeCapacityScalingLaws,MetaFAIRLabs,arXiv2024 大模型的能力是如何获取的 知识压缩和表示学习 能力注入 生成式任务能力提升 指令微调—利用少量数据训练模型具备任务能力 知识问答任务: 输入:复旦大学有几个校区? 理想输出:复旦大学现有4个校区,分别是邯郸校区、新江湾校区、枫林校区和张江校区。其中邯郸校区是复旦大学的主校区,邯郸校区与新江湾校区都位于杨浦区,枫林校区位于徐汇区,张江校区位于浦东新区。 作文: 输入:写一个小故事,关于一只熊去海滩,与海豹交朋友,然后回家 28 理想输出:从森林里走出一只可爱的小熊,它叫贝利。贝利一直对大海充满好奇,于是他决定去海滩看看。他跳跃着穿过河流和草地,终于来到了一片美丽的海滩。贝利兴奋地跑着,感受着海风的清凉。突然,他注意到海滩上有一只憨态可掬的海豹,名叫萨米。萨米正在玩耍,好像是在找贝利这样的新朋友。贝利好奇地走过去,和萨米打了个招呼。萨米非常友好地回应道:“嗨,你是新来的吗?我是萨米,很高兴认识你!”贝利开心地笑了起来,他们迅速成为了好朋友。… 针对特定任务如何构造SFT训练数据 29 大模型完成知识问答任务 4.什么才是高质量SFT训练数据? ⼤语⾔模型(LLMs)通过在海量数据集上的预训练,能够编码丰富的世界知识, 并且可以通过微调将这些知识应⽤于问答(QA)任务。如何有效地微调LLMs以提升QA任务表现的策略仍需研究。 Q1:在SFT阶段需要多少数据才能让LLMs学会QA任务?Q2:不同的SFT数据集如何影响LLMs在QA任务上的表现?Q3:不同LLMs在SFT阶段对数据的需求有何差异? 大模型完成知识问答任务 •使⽤了ENTITYQUESTIONS,包含24个不同话题知识的问答数据集 •12个与地点相关的原始训练集作为训练数据𝐷𝑡𝑟𝑎𝑖𝑛,将它们对应的测试集作为测试集𝐷𝑡𝑒𝑠𝑡,并将剩余12个话题的测试集作为领域外测试集𝐷𝑡𝑒𝑠𝑡−𝑜𝑜� •给定⼀个预训练的LLM,为了详细分析其在SFT之后执⾏QA任务的表现,应⽤如上定义的多模板补全机制,根据其知识记忆⽔平将训练和测试集均进⾏了5个级别的划分 31 32 ng,arXiv2024 大模型完成知识问答任务 1.SFT的数据量需求 •使⽤不同记忆⽔平的训练数据𝐷𝑡𝑟𝑎𝑖𝑛−�的来分析每个LLM •将训练数据划分为六个不同的数据量级别,从60个样本到完整数据集不等,并通过从12个话题中均匀抽样来构建训练集 •实验结果表明,经过SFT后,仅需60个训练样本就⾜以使LLMs⾼效执⾏QA任务,并展现出强⼤的泛化能⼒ •⽆论基础模型或记忆⽔平如何,LLMs在使⽤较少训练样本时的表现优于使⽤960个或全部样本。⼤多数模型在𝑁𝑡𝑟𝑎𝑖�=60时达到或接近最佳表现 大模型完成知识问答任务 2.使⽤不同记忆⽔平的数据进⾏微调的影响 •⽆论使⽤何种数据进⾏微调,LLMs始终对预训练期间记忆较好的知识提供更准确的答案 •在特定记忆⽔平的数据上进⾏训练能够提升LLMs在该 ⽔平知识上的表现 •总体⽽⾔,更有效的策略是使⽤⾼记忆⽔平的数据进⾏SFT 33 大模型完成知识问答任务 3.不同LLMs的数据需求差异 •不同LLM的记忆差距很⼤ •使⽤相同的训练数据在不同LLM上训练得到的结果有很⼤差异 大模型完成知识问答任务 •在SFT阶段仅需60条数据就能激活预训练时编码的知识,使LLMs能够有效执⾏QA任务 •使⽤不同知识记忆层次的数据进⾏SFT,对LLMs的表现有显著并且有规律的影响 •对于QA任务来说最优的SFT数据集因具体模型⽽异 有监督微调阶段的训练方式 36 有监督微调的四种方式 6.有监督微调的训练策略是什么? 有监督微调的四种方式 1.数学推理、编程和一般能力与SFT数据量的关系如何? 2.当将这三种能力结合在SFT中时,是否会出现性能冲突? 3.导致性能冲突的关键因素是什么? 4.不同SFT策略对复合数据的影响是什么? 实验设置 SFT数据集[D1,D2,...,Dk],每个数据集Di表示一个任务 Di=[qi,j,ri,j]j包含输入和回答 训练数据集: 数学:GSM8KRFT 编程:CodeAlpaca通用:ShareGPT 测试数据集: 数学:GSM8KTestSet 编程:Humaneval通用:MT-Bench 实验分析:RQ1单个任务不同数据