您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [复旦大学]:2024年如何提升大模型任务能力报告 - 发现报告

2024年如何提升大模型任务能力报告

2024-11-30 张奇 复旦大学 尊敬冯
报告封面

张奇 复旦大学 ChatGPT实现过程 预训练阶段 强化学习方法 RL模型 大模型的能力是如何获取的 预训练阶段 所有的能力都需要精心设计 很多任务的能力在一开始并不具备,而是不断叠加上去的 所有的能力都需要精心设计 预训练阶段如何储存知识 人类知识如何定义 人类知识:(name, attribute, value)三元组 (非洲,最大国家,苏丹)(中国,首都,北京) Bit Complexity:这些元组信息有效且无损地表示所需要的最小二进制位数例如,如果一个拥有1亿参数的模型存储了2.2亿比特的知识,则其容量比例为2.2比特/参数 GPT2模型的知识Scaling Law GPT2使用标准AdamW优化器,稳定的保持2bit/参数 无论如何设置参数包括:不同大小、深度、宽度的模型,各种数据量、类型以及超参数 充分训练的7B模型可以保存14Bbits知识 Wikipedia包含4.5Bwords所有英文图书包含16Bwords 知识记忆不是word-by-word记忆,而是能够通过问答获取答案 需要足够多的“曝光”才能完成记忆 达到2bit/参数对于每个知识要达到1000次曝光如果只有100次曝光的话,会减少到1bit/参数 图标上面数字是l,h参数选择 “垃圾”数据对知识获取有显著影响 Wikipediavs.CommonCrawl 预训练阶段结论 1.同一个知识点必须用不同的方式大量重复,模型才能学习到 2.具有高知识密度的高质量的训练数据至关重要 3.经过足够的训练模型可以达到2bit/参数的知识存储能力 4.如果预训练阶段模型没能学到知识,怎么微调都没有用 有监督微调阶段如何训练? 有监督微调的四种方式 有监督微调的四种方式 1.数学推理、编程和一般能力与SFT数据量的关系如何? 2.当将这三种能力结合在SFT中时,是否会出现性能冲突? 3.导致性能冲突的关键因素是什么? 4.不同SFT策略对复合数据的影响是什么? 实验设置 SFT数据集{D1,D2, ...,Dk},每个数据集Di表示一个任务Di= {qi,j,ri,j}j包含输入和回答 测试数据集: 训练数据集: 数学:GSM8K RFT编程:Code Alpaca通用:ShareGPT 数学:GSM8K TestSet编程:Humaneval通用:MT-Bench 实验分析:RQ1单个任务不同数据量 较大模型在相同的情况下表现出更好的性能 实验分析:RQ2单个任务vs.混合任务 训练数据少时,能力得以提高;训练数据多时,混合数据则使得能力则减弱,与单个任务训练相比,这种现象更为明显。 随着模型大小的增加,在低资源环境下的表现也会随之提高,特别是在数学和一般能力方面。 实验分析:RQ3任务混合比例影响 不同的SFT能力在任务格式和数据分布上存在显著差异时,数据比例的影响是微不足道的。 然而,当存在一定程度的相似性时,数据比例可能导致显著的性能波动。 有监督微调阶段结论 1.参数量大的模型在使用相同数量的数据进行训练时表现出优越性能 2.混合数据来源在低资源场景中提高了性能,但在高资源场景中性能下降 3.数据量直接影响性能,而数据比例的影响在实验设置中不显著 4.DMT策略有效地缓解了性能冲突 知识回答和其他任务冲突如何解决? 大规模微调破坏世界知识 22但随着SFT数据的大规模增加,如上图的右侧部分所示,在CBQA评测数据集上性能显著下降,与之相伴的是大模型的参数变化量剧增(见红色线段)。 但当下游任务增多或者需要强化特定任务的性能时,增加SFT训练数据是有必要的。如上图的左侧部分,当SFT数据从100K提升到3M时,大部分任务的性能显著增强。 Loramoe: Revolutionizing mixture of experts for maintaining world knowledge in language model alignment,arXiv2023 大规模微调破坏世界知识 Loramoe: Revolutionizing mixture of experts for maintaining world knowledge in language model alignment,arXiv2023 CBQA的能力来源于预训练阶段 在训练一开始大约1000样本的时候,性能已经快速提升到了很高的点,后续再增加更多的训练样本其实提升很有限。说明少量样本微调就帮助大模型完成了人类指令的对齐,大模型完成CBQA指标评测的能力主要依靠的是内在的世界知识,而不是微调过程中训练样本灌输的。 Loramoe: Revolutionizing mixture of experts for maintaining world knowledge in language model alignment,arXiv2023 Loramoe: Revolutionizing mixture of experts for maintaining world knowledge in language model alignment,arXiv2023 LoRA+MoE 强化学习在生成式任务中的影响 有监督微调缺点 曝光偏置(ExposureBias),训练过程中的输入都是正确的,但是与测试过程中的情况并不一致。 语言多样性(LanguageDiversity),同样的语义可以用差别非常大的文字进行描述;但是,仅差别一个字,但是语义可能完全相反 效果基本不可能超越训练数据 RLHF对于减轻曝光偏置有确定性作用 强化学习 使用RLHF推动翻译偏好建模:低成本实现“信达雅” Advancing Translation Preference Modeling with RLHF: A Step Towards Cost-Effective Solution,arXiv,2024 使用RLHF推动翻译偏好建模:低成本实现“信达雅” 使用RLHF推动翻译偏好建模:低成本实现“信达雅” 从编译器反馈信号中提升代码生成任务效果 CCCS(CurriculumofCodeCompletionSubtasks)的目的是将代码生成任务分解为代码完成子任务的课程,可以减轻RL中的探索挑战; FGO(Fine-GrainedOptimization)专 为 代 码 生成任务而设计,通过只计算已执行代码片段的损失来提供细粒度优化。 StepCoder: Improve Code Generation with Reinforcement Learning from Compiler Feedback,arXiv,2024 在各项任务中都取得了超越基线模型的结果 StepCoder: Improve Code Generation with Reinforcement Learning from Compiler Feedback,arXiv,2024 核心结论 1.提升任务效果依然需要一定数量的标注数据2.多任务之间的相互影响和关系仍需仔细研究3.多任务的训练方法仍然缺乏统一认识4.强化学习对于生成任务效果提升具有重要作用 几点感想 1.大模型可以很快速的在很多任务上做到70分2.基于大模型在任何任务上完成90分都十分困难3.简单增大数据量无法实现效果增加4.标注数据的准确程度要求十分苛刻 忘记AGI、涌现、对齐、激发…从统计机器学习角度“再出发” 谢谢!