我带大家一起阅读一下LLaMA-Factory的源码,特别是大模型监督微调方面的源码,共同学习该框架提供的参数配置文件,方便我们从源码角度上对框架进行参数了解和调整,并致力于在此基础上添加自己的超参数。
安装
LaMA-Factory,全称Large Language Model Factory,即大型语言模型工厂。它支持多种预训练模型和微调算法,提供了一套完整的工具和接口,使得用户能够轻松地对预训练的模型进行定制化的训练和调整,以适应特定的应用场景,如智能客服、语音识别、机器翻译等。
**LLaMA-Factory源码**安装方法参照github源码给出的教程,我所使用的版本为0.9.1.dev0
微调
#运行
llamafactory-cli train qwen2__5_3b_lora.sft.yaml
由于我们运行的是llamafactory-cli的train方法,执行下面文件的方法
由于我们使用监督微调sft,而qwen2__5_3b_lora.sft.yaml的所有超参数通过方法get_train_args(args)获取进而产生model_args、data_args、finetuning_args等模型、数据、训练、微调、生成的参数对象进行传递,下一小节追溯超参数来源源码
,执行下面的方法
转接到该文件LLaMA-Factory/src/llamafactory/train/sft/workflow.py,该文件为自监督微调的核心文件,是微调的整个过程,包含准备数据集、初始化训练器、训练、评估、预测的方法。其通过导入以下类并按顺序执行以下这些功能:
from .