模型微调技术 Fine-tuning

📅 2026/8/21 20:37:23
模型微调技术 Fine-tuning
模型微调技术 Fine-tunning一、微调简介1、微调是什么2、场景3、模型的选择1、开源 vs 闭源2、具体选择哪个模型3、选择什么尺寸的模型4、训练数据的质量5、训练数据的数量二、微调的具体方法1、全模型微调(Full Fine-tunning)2、冻结部分参数微调(Partial Fine-tunning /Layer Freezing)3、轻量化微调(Parameter-Efficient Fine-tunning, PEFT)1、Prompt Tunning2、P-Tuning3、Prefix-Tuning4、低秩适应微调Low-Rank Adaptation, LoRA)4、渐进微调(Progressive Fine-tunning)5、多任务微调(Multi-Task-Fine-tunning)三、评估微调后的模型能力1、训练集、验证集、测试集2、设计更容易量化准确性的分类任务3、设计问答任务、人工打分4、持续收集数据一、微调简介1、微调是什么在已经训练的模型基础上做进一步调整让模型的输出更符合自己的预期需要的数据量级、数据质量有极大的要求2、场景资本化需求需要自己的模型提升自己的估值Bot沟通网络有特殊需求的例如AI恋爱、儿童故事缺少垂直领域的数据例如军事行业基座模型缺少一些特定的任务类型例如RPA机器人、自动化操作电脑/手机3、模型的选择1、开源 vs 闭源除非有特殊的需求选择闭源2、具体选择哪个模型基座模型的持续性3、选择什么尺寸的模型足量的实验后选择可实现的最小尺寸4、训练数据的质量从真实场景中收集真实的数据真实的录音、聊天记录定义清楚数据的质量打分表数据分布与门店实际数据尽量一致避免对某些标签的过度偏好否则模型可能在特定场景中表现过度复杂度高的对话场景需要更多的对话样本确保模型能学习更多的细节根据微调出来的结果进一步判断哪些数据需要增强5、训练数据的数量二、微调的具体方法1、全模型微调(Full Fine-tunning)典型的基座模型微调2、冻结部分参数微调(Partial Fine-tunning /Layer Freezing)基于某个场景来进行场景进行设计时要考虑的因素 1、应该选择一个多少参数的基座模型 2、场景包含的知识量级、任务的复杂度 3、应该其中多大比例的参数 4、应该准备多少实验数据3、轻量化微调(Parameter-Efficient Fine-tunning, PEFT)1、Prompt Tunning基座模型训练好后参数可以理解是固定的。 准备大量的SFT Data(一问一答这样的数据)作为一个起始的标准 训练时根据自己的场景在提示词上加一些参数连提示词带参数一起交给模型回答这次的回答和初始的SFT Data肯定是有一定的误差存在的根据误差再调整加入的这些参数 相对固化2、P-Tuning在prompt tuning的基础上将用户的问题交给LSTM/MLP由神经网络根据用户的问题生成一些参数将这些生成的参数和自己的参数做一个累加再让模型回答3、Prefix-Tuning在用户的输入进行神经网络的每一层时都添加一些参数(每一层加的参数不同)这样评估的回答结果更准确4、低秩适应微调Low-Rank Adaptation, LoRA)定义将模型参数矩阵分解成低秩矩阵进行微调从而减少需要优化的参数的数量优点降低存储和计算成本适用于大规模的模型训练缺点在一些复杂任务上不如全量微调一个基座模型的参数假设为1.5亿现在希望在每个参数上加一个偏移量影响它的评估输出那就意味着也需要1.5亿个参数。为了简化利用线性代码的思想可以将1.5亿拆分成两个矩阵相乘比如数字8就相当于可以利用1.5亿/8万个参数就可以影响原有的参数调整QLoRA主旨是解决显存占用过大的问题将矩阵中的浮点数通过数学算法转换成整数的处理一个浮点数占32字节一个整数占8字节从而减少显存占用量4、渐进微调(Progressive Fine-tunning)5、多任务微调(Multi-Task-Fine-tunning)三、评估微调后的模型能力1、训练集、验证集、测试集训练集70-80%用于模型实际训练和练习验证集10-15%评估模型在训练过程中的表现以随时做出调整测试集10-15%模型训练完成后用于最终评估模型性能2、设计更容易量化准确性的分类任务3、设计问答任务、人工打分任务完成度、对话连贯性、人工选择偏好4、持续收集数据产品功能一定要有收集数据的能力产品功能可以就特定场景 、定向收集数据优秀的数据管理平台数据来源管理体系化标注数据去重与增强数据打包模型评估利用LLM的能力让数据平台具备一些智能化