购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第二节
有监督微调:让大模型更好理解并执行实际的需求

也许你会有疑问:不同行业、不同领域、不同场景、不同任务下,对大模型的能力要求都不一样,大模型真的都可以胜任吗?如果采购大模型直接应用,会不会效果并不好?

有疑问是正常的,担忧也是对的。因为只经过预训练阶段的大模型虽然也有良好的通用能力,但从实践效果来看,在面对一些特定的下游任务或用户的定制需求时,大模型的表现依然不够好。正如前文所说,预训练后的大模型还需要“打磨”,进一步进行特定训练、参数改进,也就是有监督微调。

本节聚焦有监督微调,阐述大模型如何在不同领域也能胜任,且精准度大幅提升。这也是回应用户常关心的话题:如果不想自己开发大模型,但又觉得买来即用的大模型不够好用,那要怎么处理?

一、为什么需要微调

如果大模型仅仅经过预训练阶段,那么在日常业务使用场景中,时常会遇到三类约束状况,从而导致只经过预训练的大模型可用度降低。

第一,专业化要求高。例如,在医学、金融、法律等多个领域,都有特有的名词、特定的使用场景和目的,如果大模型只了解语言表层的含义,无法理解专业术语,那就不能深入理解人类的指令,自然也就无法满足用户的需求,并且和用户之间的交互质量也会降低,最终导致人工智能的使用场景受限,实用性大幅降低。因此,在这些对专业化要求高的领域,就需要对大模型再进行特定训练,也就是微调。

第二,合规性要求严。例如,在金融、法律、政务等领域,对数据有着严格的合规要求,在大模型使用过程中,要确保数据安全和隐私保护。这就产生了一个矛盾——要不要使用大模型?一方面,在上述领域,文本信息多,文本事务也多,非常适合大模型发挥作用,也可以显著提升效率。但另一方面,仅经过预训练的通用大模型,可能会因为缺乏上述领域的数据,使能力并不完全匹配。因此,这些特定领域在使用大模型时,需要符合合规要求,在数据安全的范围内对大模型进行微调。

第三,资源有限。每个领域、每家企业,都从零起步研发自己专属的大模型,可行性并不高。因为大部分企业并不具备自研的能力,而且成本会显著增加,也会造成资源浪费。同时,企业拥有的数据有限,大部分并不足以训练大模型。因此,可以让资源被充分利用且效果更好的方案就是,在大模型已有的数据基础上,再结合稀缺的特定数据进行微调训练。这种“先通用,再微调”的理念,在现实中很常见。例如,我们在装修房子时,通常也会有一个通用的设计,然后再根据个人喜好进行调整。

在上述场景中,需要进行的操作就是有监督微调:在预训练的基础上,根据有监督的数据集进行微调,学习特定任务的指令遵循能力。

所谓有监督,是和预训练的自监督相对应的。自监督的数据是利用互联网广泛存在的语言文本,根据前文预测下一个词来构成学习的样本。而有监督的数据,则是人工专家标注好的、结构化的、高质量且数量规模相对较小的数据集。

有监督微调,可以高效利用基础模型,节约从零训练的时间,减少计算资源,还可以在保持原有训练任务知识的基础上,提高特定任务、领域的性能,强化专业能力。简单来说,就是让预训练模型适应下游任务,而非下游任务适应模型。

二、微调怎么做

(一)微调的技术

微调是比较专业的技术,在实践过程中,微调的实施通常由客户或大模型服务商的开发人员协同进行。此处仅对技术原理进行阐述,以便于读者在后续业务中能够进行选择。

微调技术可以分为两类:全量参数微调和高效参数微调。全量参数微调,即对所有参数进行调整。高效参数微调,即将原参数全部冻结,增加网络结构和参数,微调仅更新新增参数部分(见图2-2)。

图2-2 全量参数微调和高效参数微调

资料来源:CSDN。

通常情况下,全量参数微调的效果更好。但是,大模型的参数量巨大,进行全量调整既浪费资源,又未必需要。因此,在大模型时代,高效参数微调是目前采用的主要方法。其中,LoRA(大语言模型的低秩适应)又是最受欢迎的高效参数微调技术。

LoRA的技术思路是,在固定模型的线性权重参数基础上,通过更新新增的很少量低秩矩阵参数实现对模型权重的微调。也就是说,不去直接改变大模型的参数,而是搞一个“外挂”,通过升级“外挂”,实现对大模型参数做修改的效果。

LoRA提高了参数效率,节省了计算资源,也可以快速适应新任务,而且具有很好的灵活性。据LoRA论文报告的结果,在训练GPT-3 175B的实验中,通过LoRA微调需要的显存占用量为350GB(吉字节),比全参数微调的1.2TB大幅降低,训练速度也提升了25%。 目前,业界不少应用场景都在基于LoRA持续迭代更先进的算法,实现更少资源、更好效果。

(二)微调的流程

微调以预训练大模型为基础,使用特定数据集对模型再次训练,通过反向传播算法调整模型参数,从而使预测输出和实际标注之间的差异达到最小化。实践流程包括多个步骤。

第一步,大模型使用者自行决策或和大模型服务商协同,明确微调的任务、领域、希望达到的目标等。

第二步,收集与特定任务或领域相关的数据集,并进行清洗、标注等处理工作,以提高微调数据的质量和多样性。微调数据质量的重要性远高于数量。

第三步,选择预训练模型,确定微调的参数,包括学习率、训练轮数等,开始模型微调训练。

第四步,评估微调后模型在特定领域任务的效果,如果效果不满足任务要求,则对训练数据或微调超参数进行调整重新训练,如此重复迭代直到模型效果满足任务需求。随后部署模型到应用中进一步验证效果。

三、微调的效果和收获

微调,可以带来多项改善。

第一,微调可以增强模型在特定场景、任务下的指令遵循能力。大模型在特定数据下进行训练,可以更好地捕捉特定场景下输入和输出之间的关系,准确遵循相关指令。比如,在医疗场景下进行微调,大模型就可以通过学习医学术语、病症描述等特定数据,从而更准确地回答医疗问题。在金融领域,经过微调的模型,可以理解杜邦分析、布莱克-斯科尔斯模型(简称BS模型)等金融指令。

第二,微调可以优化模型在特定场景中调用工具的效果,能准确把用户的需求翻译成对对应工具的调用指令。简单理解为,每种工具都有功能边界,微调之后,大模型就更了解工具能做什么、不能做什么。例如,在商业数据分析领域,如果用户给出“分析销售数据趋势,并预测未来一年销量”的指令,那么大模型需要优先调用分析工具,而不是可视化工具。

第三,微调可以调整模型输出的语言风格。例如,在角色扮演中,通过微调让人工智能更有特色,而不是机械的“AI味儿”,也可以创作各类平台所需的文案风格,提升营销效果。

第四,微调可以降低模型应用成本。微调不仅可以规避从零开发大模型的成本,而且在实践中可以发现,有时候通过对一些小参数的模型进行微调,也可以得到大参数模型的效果,采购成本反而更低。在实践过程中,基于百度轻量级大模型微调,效果可与旗舰级大模型持平,同时成本可降低10倍以上。

总结一下,有监督微调技术对于大模型落地实践非常重要。它既可以充分发挥大模型原有的能力,又可以针对用户所在的特定领域进行更有针对性的提升,开发更专属的能力。同时,也节省了前期大模型通用能力的开发成本,将资源花在特定领域的刀刃上。

更多实际的开发经验、案例,会在后文进行详细阐述。

仅经过预训练的大模型,在面对更丰富的下游场景、任务时,并不能完全匹配。因此,需要进行有监督微调。

有监督的数据,是人工专家标注好的、结构化的、高质量且数量规模相对较小的数据集。

微调技术可以分为两类:全量参数微调和高效参数微调。后者仅对部分参数进行调整,既节约资源,又提高效率,是目前实践中的主流方案。高效参数微调方案中,又以LoRA为主。

微调可以增强模型在特定场景、任务下的指令遵循能力;可以优化模型在特定场景中调用工具的效果,能准确把用户的需求翻译成对对应工具的调用指令;可以调整模型输出的语言风格;可以降低模型应用成本。 nJMdZ2QkRoo06D0JOWUtPUQ0SxXmLNl7LtgdKDumNcoVEuZQnXqjbTF9PTae9rUY

点击中间区域
呼出菜单
上一章
目录
下一章
×