01.
课题背景
近年来,全球迎来了一股大模型的热潮,众多大型预训练模型,如GPT-4、BERT相继问世。这些模型通过在海量文本数据上进行训练,能够掌握丰富的语言模式和广泛的一般知识,在各种自然语言处理任务中表现出色。然而,这些模型的训练成本高昂,需要庞大的计算资源和大量的数据。此外,尽管大型预训练模型具备较好的通用性知识,但每个具体任务或应用(如情感分析、文本摘要和对话生成)都有其独特的需求和模式。
为了应对上述问题,许多研究人员开始探索大模型微调技术,即在预训练模型的基础上,针对特定任务进行额外的训练,以满足特定需求,来提高预训练模型在新任务上的性能,同时也减轻了大型预训练模型的训练成本。这种方式即使在计算资源受限的情况下,也能迅速利用预训练模型的知识来适应新任务,实现高效的迁移学习。因此,大模型微调技术不仅提升了模型性能,同时大大缩短了训练时间和计算成本,使更多人能够参与深度学习研究。
微调的概念已经存在很多年,并在很多领域得到了广泛应用。微调技术已知最早的应用是机器翻译,研究人员使用预训练的神经网络来初始化一个更小的网络的权重,然后针对特定翻译任务对其进行微调。经典的大模型微调方法,即全量微调(Full Fine-Tuning)会将预训练模型与少量特定任务数据一起继续训练,在这个过程中,预训练模型的权重被更新,以更好地适应任务。
但是,随着模型变得越来越大,在消费级硬件上对模型进行全部参数的微调变得不可行。此外,为每个下游任务独立存储和部署微调模型变得非常昂贵,因为微调后的模型(即调整了所有参数的模型)和原始预训练模型的规模是相同的。为了解决这个难题,研究人员开始探索参数高效微调技术(Parameter-Efficient Fine-Tuning,简称PEFT),该技术的目标是在尽可能减少所需参数和计算资源的同时,有效地微调预训练语言模型。相较于传统的全量微调方法,高效微调技术所需的参数和计算资源更少,这一技术通过只训练一小部分参数来解决传统微调技术所需的大量资源问题,这些参数可以是已有模型参数的子集,或者是新增的一组参数。这些方法在参数效率、内存效率、训练速度以及模型的最终性能等方面都有所不同,接下来我们将详细探讨一些常用的微调技术和其主要实现方式。
(图1:常用微调技术示意图)
02.
常用微调方法
(1)全量微调
全量微调(Full Fine-Tuning)是一种在预训练模型的基础上进行微调的方法,其基本思想是:首先在大量的未标注数据上预训练一个大型模型,然后在具体的任务数据上对整个模型进行微调。在微调阶段,所有的模型参数(包括预训练阶段学习到的参数)都会被更新。微调的目标是根据具体任务的标签优化模型的性能。
全量微调的优势在于能够借助模型在预训练阶段积累的通用知识,然后通过微调,将这些知识应用到特定任务中。而且,全量微调已经历了相当长的时间的验证,被广泛应用于各种场景,并且其性能也得到了众多行业专家的认可。然而,全量微调也面临着一些挑战。首先,由于需要更新所有模型参数,所以它需要大量的计算资源和时间。其次,由于微调可能导致模型过度适应微调数据(即过拟合),因此,我们需要谨慎调整学习率和正则化参数。最后,对于大型模型来说,全面微调所有参数可能会导致模型性能下降,因为有些参数可能在预训练阶段已经被优化到了理想的状态。
(图2:全量微调示意图)
(2)前缀微调
前缀微调(Prefix-Tuning)是一种高效微调预训练语言模型的技术。这种技术的基本思想是在模型的输入端(前缀)增加一些可学习的参数,然后在训练过程中优化这些参数,而保持模型的主体部分固定不变。具体来说,我们首先定义一些额外的参数,这些参数可以被视为一个序列,我们把它添加到我们的输入序列的前面,然后一起输入到模型中。这些参数通常被初始化为零,但在训练过程中会被优化以改进模型在特定任务上的性能。该方法其实和构造提示(Prompt)类似,只是提示是人为构造的“显式”的提示,并且无法更新参数,而前缀则是可以学习的“隐式”的提示。同时,为了防止直接更新前缀的参数导致训练不稳定和性能下降,论文提出在前缀层前面加MLP结构,训练完成后,只保留前缀部分的参数。除此之外,通过消融实验证实,只调整输入层的表现力不够,因此,前缀微调在每层都加了前缀参数,改动较大。前缀微调有以下几个优点:
****①减少计算资源的需求:****因为只需要更新一部分参数,所以前缀微调需要的计算资源比全模型微调少。
****②减少过拟合的风险:****因为只更新一部分参数,所以前缀微调降低了过拟合的风险。
****③更好的迁移性能:****因为每个任务都有一个特定的前缀,所以前缀微调可以更好地将模型在预训练阶段学习到的一般知识迁移到具体的任务上。
然而,前缀微调也面临着一些挑战。首先,前缀的效果会影响模型的性能,所以如何设计合适的前缀是一项挑战。其次,虽然前缀微调减少了参数的数量,但如果前缀的参数数量很大,那么计算资源的需求仍然可能很大。最后,对于一些复杂的任务,只通过前缀微调可能无法充分利用模型的能力。
(图3:前缀微调技术示意图)
(3)提示微调
提示微调(Prompt Tuning)可以看作是前缀微调的简化版本,只在输入层加入prompt tokens,并不需要加入MLP进行调整来解决难训练的问题,提示微调只关注模型的输入 prompt,它不直接改变模型的参数,而是找到一组优化的 prompt,这些 prompt 可以引导模型在特定任务上生成更好的输出。例如,假设我们有一个预训练模型,我们想使用它来生成关于电影的积极评论。我们可以使用提示微调来找到一个优化的 prompt,如 “这部电影真的很棒,因为…”,然后让模型在这个 prompt 的引导下生成评论。
(图4:提示微调技术示意图)
提示微调的主要优点是其效率和灵活性。因为我们只调整输入 prompt,而不是模型的所有参数,所以提示微调可以节省大量的计算资源。此外,同一模型可以通过叠加不同的 prompt 来调整适应不同的任务,因此提示微调非常灵活。
(4)P-Tuning
P-Tuning提出将Prompt转换为可以学习的Embedding层,如下图所示,这个任务是让模型来预测一个国家的首都。左边是全token的prompt,文献里称为“离散的prompt”。右边是token+vector形式的prompt,其保留了原token prompt里面的关键信息(capital, Britain),它们(capital, Britain)是和任务、输出结果最相关的信息,其他不关键的词汇(the, of ,is)留给模型来学习。
(图5:P-Tuning示意图)
考虑到直接对Embedding参数进行优化会存在这样两个挑战:
**①Discretenes:**对输入正常语料的Embedding层已经经过预训练,而如果直接对输入的prompt embedding进行随机初始化训练,容易陷入局部最优。
**②Association:**无法捕捉到prompt embedding之间的相关关系。
所以作者提出用MLP+LSTM的方式来对prompt embedding进行一层处理。P-Tuning 的优点是它可以极大地降低微调大型模型的计算和内存开销,因为它只需优化少量的参数。此外,因为这些参数是独立于任务的,我们可以将同一模型用于不同的任务,只需更换 soft prompt 即可。
(5) LoRA
在机器学习的实践中,虽然许多模型具有大量的参数(被称为过度参数化),但实际有效的参数或被学习到的特性可能只存在于这些参数空间的一个较低维度的子空间中。
举个例子,考虑一个深度神经网络,它可能有数百万或数十亿的参数。然而,通过训练,网络可能找到了一个有效的解决方案,这个解决方案在参数空间中可能只占据一个较小的区域,即只需要改变一部分参数就可以在不同任务间进行有效的迁移。这就说明这个模型可能在一个低内在维度的子空间上工作。低秩自适应(LoRA)方法假设在模型自适应过程中权重的变化也具有较低的“内在秩”,它的核心思想很简单:
-
在原始 PLM (Pre-trained Language Model) 旁边增加一个旁路,做一个降维再升维的操作,来模拟所谓的intrinsic rank。
-
训练的时候固定 PLM 的参数,只训练降维矩阵A与升维矩阵B。而模型的输入输出维度
2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享**
一、2025最新大模型学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:AI大模型时代的华丽登场
L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。
L2级别:AI大模型RAG应用开发工程
L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3级别:大模型Agent应用架构进阶实践
L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。
L4级别:大模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
三、大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
四、大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
五、大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取