很多企业(尤其是大型企业)会以自有数据训练企业自己的专属大模型,并针对特定用例进行优化。
微调是在预训练基础模型之上,将领域数据或企业知识喂给模型进行进一步训练,以适应任务的特定需求。通过微调,可以提高大模型的可操控性、输出格式的可靠性和语气的一致性。微调是企业建设大模型的重要路径,但是,企业需要视用例的情况考虑是否要使用微调,企业可以参考如下的决策思路:
条件1:预期目标是将大模型与特定任务对齐或增加特定领域知识
企业是否要微调大模型,首先考虑的是预期目标,如果企业想要实现的目标是与特定任务对齐或增加特定领域知识,就可以考虑微调:
• 与特定任务对齐:大多基础大模型都是通用大模型,泛化能力较强,但在特定任务中效果较差,微调可使大模型提高完成特定任务的能力。大模型不仅可以完成问答、对话等任务,还可用于分类等任务,通过喂给大模型更详细的说明和实例,可以微调大模型,提高任务性能。此外,通过微调也可以有效调整大模型输出的风格和语气,实现一致性地输出。
• 增加特定领域知识:可以使用额外数据微调大模型,为大模型注入特定领域的新知识,而这些知识并不存在于大模型的原始训练数据中。但是,微调更适用于对大模型知识进行轻量更新。如果企业想要创建高性能、多任务、特定领域的大模型,就需要更高阶的调优手段和技术以及更多的训练数据和成本投入。
条件2:使用替代方式无效时再考虑微调
企业在训练特定任务的大模型时,微调并不是唯一可选项,提示工程和检索增强生成(RAG)是主要的替代方式。
• 提示工程:通过向大模型提供数据,指定和限制大模型可以产生的回答,指导模型输出。提示工程可以在不更新模型参数的情况下产生预期效果。
• 检索增强生成(RAG):检索增强生成是一种特殊的提示工程,可以在基础模型外部检索数据,并将检索到的相关数据注入到上下文中,增强提示信息,使大模型的输出以新信息为基础。
微调、提示工程和检索增强生成彼此之间不是互斥关系,企业可以在微调的基础上,进行提示工程和检索增强生成。
相较于提示工程和检索增强生成,微调具有一定优势,但同时也具有一些不足。基于对微调优劣势的分析,企业在训练大模型时,应先尝试提示工程和检索增强生成,进行试点和反复试验,只有在这些训练方式不足以提高模型性能时再考虑微调。
条件3:用于微调的训练数据足够充足
用于微调的训练数据必须与特定的微调目标(与特定任务对齐或增加特定领域知识)有关,并以正确的格式呈现。
微调通常需要创建提示/完成对然后用于训练大模型,与从头开始训练基础大模型所需的数据集相比,微调的数据集可以相对较小,但数据质量必须非常高,因为大模型将产生与训练数据较为相似的输出。
由于企业无法通过权限控制对模型输出进行限制,因此训练数据中不可以包括不能提供给最终用户的信息,用于微调的数据也不应太频繁更改或更新。
当前,大模型微调技术正在向着更高效、更统一和更智能的方向快速发展中,尤其是PEFT技术(参数高效微调),只需要改变少量的大模型参数,就能达到高效迁移学习的目的,大幅减少微调所需的时间和成本。
企业需要跟进微调技术的最新发展,但需要注意的是,无法选择哪种微调技术,都需要在满足前文所述的条件下,再考虑是否使用微调技术。