一、项目背景
大模型微调主要采用参数优化与知识蒸馏两种核心技术。参数优化通过反向传播算法,在预训练模型的参数基础上,利用特定领域数据对模型进行训练,调整网络参数,使模型适应细分场景需求;知识蒸馏则是将 “教师模型” 的知识迁移到 “学生模型”,通过模仿学习,在不增加模型参数量的前提下提升性能。本项目基于阿里百炼平台,采用从 Hugging Face 下载的法律相关训练集,综合运用上述技术,重点提升模型在法律知识问答、法律文书分析等场景下的性能,确保模型输出符合法律行业严谨性、专业性要求。本次实验主要在于学习微调技术的操作流程,与熟悉微调过程中,所用到的各种微调参数的意义。
二、训练集准备
2.1 训练集获取
从 Hugging Face 平台下载了公开的法律领域训练集,涵盖了法律法规解读、法律案例分析、法律咨询问答等多种类型的法律文本数据。这些数据来源广泛,包括官方发布的法律条文、真实的司法案例以及专业法律论坛的问答内容,确保了训练集的多样性和代表性。
2.2 数据预处理
下载的原始数据存在格式与百炼平台所需的训练集格式不一致,需要进行预处理成所需的格式:
三、阿里百炼平台大模型微调
3.1 训练集上传
在数据管理页面中,上传处理好的训练集:
3.2 模型选择与上传
在百炼平台提供的基础大模型列表中,本次选择了qwen2.5-7b模型作为基础模型。将预处理后的训练集上传至百炼平台指定的数据存储位置,确保数据能够被模型训练任务正确读取。
3.3 微调参数设置
根据法律领域数据的特点和项目需求,设置微调参数,参数的设置对模型训练效果会有直接影响,若想要达到预期效果,需多次训练与验证。本次先选择了默认参数进行了微调实验。
- 学习率:采用默认的学习率,3e-4。
- 训练轮数:训练轮数为 3 轮。
- 批次大小:设置批次大小为10。
3.4 训练过程监控
在模型训练过程中,通过百炼平台提供的监控工具实时查看训练进度、损失函数值、准确率等指标。根据监控结果,及时调整训练参数,如在损失函数下降过慢时适当降低学习率,在出现过拟合迹象时增加正则化参数,确保训练过程顺利进行。
下图是我们用300条训练集,采用默认参数训练出的Training Loss下降不明显,说明我们使用的默认学习率,对于法律的微调来说有些大了,我们应该降低学习率,并增加训练集的数量,来达到更好的微调效果。
四、模型部署
4.1 部署环境搭建
在完成模型微调后,选择合适的部署环境。本项目采用阿里云自带的模型部署功能,进行了一件部署。
五、模型验证
5.1 未微调前,模型回答效果
在使用法律领域训练集进行微调前,基础模型在法律相关任务上的表现存在明显不足。通过一个实际的案例可以看出,未微调前的大模型回答的回答不具有权威性,没有引用相关的法律条文,并不满足我想要的效果。
5.2 微调后,模型回答效果
经过在法律领域训练集上的微调,模型在法律相关任务上的表现得到了显著提升。微调之后,我们在用相同的问句去问我们微调后的大模型,可以看出大模型返回了我们想要的权威性回答:
六、总结与展望
6.1 项目总结
本项目基于阿里百炼平台,成功完成了法律领域大模型的微调、部署和验证工作。通过使用 Hugging Face 下载的法律相关训练集对基础模型进行微调,显著提升了模型在法律领域的性能表现。在模型部署和验证过程中,通过科学的方法和合理的配置,确保了模型能够稳定运行并满足实际应用需求。但在项目过程中也发现了一些问题,如训练数据的质量和多样性仍有待提高,模型在处理复杂法律问题时的能力还需进一步加强。