项目与服务
大模型基础理论与算法
项目介绍
自ChatGPT问世以来,大模型已在人工智能及更广泛的领域中取得了令人瞩目的进展。然而,目前学术界与业界对大模型的运行机理仍缺乏底层理解,因此对大模型降本增效的研究主要依赖启发式的工程探索。由于大模型实验的巨大投入,这种探索模式带来了高昂的试错成本,限制了大模型技术发展的深度和广度。为改变这一现状,本项目旨在发展大模型的数学理论,深入解释大模型的作用机理,以及研发高效的大模型基础算法,从而推动大模型的科学研究和产业应用。
项目研究重点
本项目一方面利用优化、统计等数学工具,结合大模型的架构特征和训练方式,对其进行数学建模,深入分析大模型在通用能力习得、领域能力迁移、知识遗忘及幻觉等行为现象的底层机制,逐步建立大模型的基础数学理论体系,并通过系统性的实验进行定量与定性的验证。另一方面,基于对大模型底层机理的深入理解,研发具有理论支撑的高效算法,提升大模型在训练和推理阶段的性能,具体包括内存高效的预训练、微调和对齐算法,抗遗忘训练算法,以及推理阶段的幻觉缓解算法等。
主要产出
1.基于Hessian矩阵块异质性分析的大模型训练理论
Transformer架构是目前大模型的主流网络架构。与卷积神经网络(CNN)训练主要采用的随机梯度下降(SGD)算法不同,Transformer的训练往往依赖于Adam(W)优化器。SGD在Transformer上的表现明显不如Adam,这背后的原因尚不明确,影响对模型训练机制的理解和优化器的选择。我们通过分析Transformers架构的Hessian矩阵,发现Transformers的不同参数模块在Hessian谱上表现出显著的差异,即“块异质性”。相比之下,CNN不同参数模块的Hessian谱非常接近,即“块同质性”。块异质性对SGD的性能带来了不利影响,因为SGD在所有参数上使用相同的学习率,难以适应不同块的特性,而Adam则通过为每个参数设置自适应学习率解决了这个问题。
图1 (a) VGG16(一种CNN网络)的架构与Hessian块同质性;(b)SGD与Adam在VGG16训练上性能相当;
(c) BERT (一种Transformer网络)的架构与Hessian块异质性;(d)在BERT训练上,SGD性能显著劣于Adam。
在多种网络架构和训练任务中,我们验证了块异质性是导致SGD在Transformer上的表现差于Adam的重要原因。此外,我们在理论上构建了带有块异质性的凸二次模型,证明当存在块异质性时,Adam的性能优于梯度下降算法(SGD原型)。本项目进一步提出了衡量网络架构块异质性的指标:块间JS距离,并指出在训练前计算模型的块间JS距离,可以定性预测SGD在训练中的表现是否与Adam相当,从而帮助选择合适的优化器。该成果相关论文已发表于人工智能领域国际会议ICML 2024 [1]。
图2 随着模型Hessian矩阵的块间JS距离提升,SGD性能逐渐劣于Adam。
2.内存高效的大模型优化器Adam-mini
本项目提出一种新的神经网络训练优化器 “Adam-mini”,旨在减少包括大模型在内的深度学习模型训练的内存消耗,同时保持或提升模型性能。Adam-mini先按照Hessian结构对模型参数进行分块,并为每个参数块分配单一学习率。这一做法去除了标准AdamW算法中多于99.9%的自适应学习率设置,相比AdamW降低约50%的内存成本。Adam-mini在包括GPT-2和Llama系列在内的大模型训练任务中,均表现出与AdamW相当甚至更好的效果。此外,Adam-mini在预训练、监督微调(SFT)、人类反馈强化学习(RLHF)等任务中均表现优异。例如,在预训练Llama 2-7B模型时,Adam-mini在2×A800-80GB GPU上实现了比AdamW高出49.6%的吞吐量,减少了33%的训练时间。
图3 相比大模型标准优化器AdamW, Adam-mini优化器:(a)带来接近50%的优化器内存降低、49.6%的训练吞吐量提升;(b)训练曲线与AdamW基本一致(图示以迭代次数为横轴);(c)带来33%的训练加速(图示以训练时间为横轴)。
Adam-mini不仅适用于语言模型,也适用于视觉模型、图模型、扩散模型等非语言模型的训练,具备较好的通用性。此外,在模型参数扩展实验中,Adam-mini在不同参数规模下均表现出与AdamW相当的缩放规律(scaling law),具备较强的扩展潜力。目前,Adam-mini技术论文[2]与代码均已公开,可使用pip直接安装,月下载量超过10,000。
3.大模型高效RLHF算法ReMax
人类反馈强化学习(RLHF)在对齐大模型以符合人类偏好方面至关重要。RLHF通过将人类反馈纳入模型训练,可使其生成的内容更符合人类的需求和价值观,显著提升了模型的可控性和实用性。然而,RLHF过程对GPU内存和计算资源的高需求是大规模模型训练中的巨大挑战。本项目提出一种新的强化学习方法“ReMax”,旨在简化RLHF训练的内存与计算开销。ReMax利用RLHF的三项特性——快速模拟、确定性状态转移和轨迹级奖励,改进经典的REINFORCE算法,去除了现有RLHF范式中复杂的价值模型,显著减少内存占用、训练时间,并降低了调参难度。
相比标准RLHF算法PPO,ReMax在训练7B参数模型时GPU内存占用减少了46%,且无需进行价值模型优化,显著降低了大模型对齐训练的成本。在实验中,使用ReMax对 Mistral-7B模型进行RLHF训练后,在AlpacaEval和MT-bench测试中分别取得了94.78%的胜率和7.739的得分,达到7B模型的开源新标杆。ReMax算法相关论文已发表于人工智能领域国际会议ICML 2024 [3]。
图4 ReMax仅保留大模型RLHF过程中的参考模型,大幅降低了GPU内存使用。相比标准算法PPO,内存占用仅有54%,训练时间仅有62%。
4. 大模型抗遗忘训练算法MoFO
本项目提出了一种大模型微调算法“MoFO” (Momentum-Filtered Optimizer),旨在解决大模型在微调过程中的知识遗忘的问题。微调是指在已预训练好的大模型基础上,使用少量数据进行监督式再训练的过程,是快速提升大模型特定能力、在不同领域中适配的一种重要手段。然而,在微调过程中,模型容易遗忘其在预训练阶段获取的知识,导致模型的已有通用能力下降,为大模型的应用落地带来巨大挑战。
MoFO通过在训练中迭代选择和更新具有最高动量的参数,保持模型参数更接近预训练状态,从而有效减少遗忘现象。实验中,MoFO在包括Llama-2-7B和TinyLlama-1.1B等模型的微调任务中,不仅取得了与标准全参数微调相当的下游任务效果,还维持甚至提升了模型的通用性能,在诸如GSM8K数学推理、ARC-Easy常识推理和HumanEval代码生成等任务中,均显示出比全参数微调更好的结果。目前MoFO的技术论文已公开[4]。
[1] Zhang, Yushun, et al. "Why transformers need adam: A hessian perspective." ICML 2024.
[2] Zhang, Yushun, et al. "Adam-mini: Use fewer learning rates to gain more." arXiv preprint arXiv:2406.16793 (2024).
[3] Li, Ziniu, et al. "Remax: A simple, effective, and efficient method for aligning large language models." ICML 2024.
[4] Chen, Yupeng, et al. "MoFO: Momentum-Filtered Optimizer for Mitigating Forgetting in LLM Fine-Tuning." arXiv preprint arXiv:2407.20999 (2024).
具体应用场景及作用
1.基于Hessian矩阵块异质性的分析理论可为大规模人工智能模型定性预测SGD与Adam类算法的实际性能,帮助选择合适的训练优化器,在大模型训练相关的所有场景中均有应用潜力。
2.Adam-mini可用于各种架构深度学习模型的训练任务中,包括大语言模型、视觉模型、图模型、扩散模型。当前,Adam-mini已获得来自大模型社区的广泛好评,月下载量超过10,000,使用者包括Meta Llama项目组在内的科技企业大模型训练团队、高校AI for Science研究团队等。
3.ReMax算法可被广泛应用于大模型的对齐场景中,尤其适合计算资源有限、时间紧迫的大模型构建任务中。
4.MoFO算法可被广泛应用于大模型的微调场景中,尤其适合通用大模型的领域适配任务,目前已实际落地到华为GTS团队的大模型产品中。
合作模式
项目团队由来自深圳市大数据研究院、深圳国际工业与应用数学中心、香港中文大学(深圳)的研究科学家、教授、博士研究生与研究助理组成,研究方向囊括理论探索、算法研发、实验分析、应用转化等方面,保障了研究成果兼具理论深度与应用价值。团队与华为GTS部、2012实验室开展了一系列项目合作,不仅帮助了团队识别大模型在训练与应用过程中的真实痛点,也推动了团队成果在实际产品中的落地。