微调这件小事:训练集中的输入数据该作为instruction还是input?从LLaMA-Factory的源码中寻找答案吧~
在之前的博文中,我们已经了解了LLaMA-Factory框架执行各类任务的流程。今天,我们将深入探讨SFT微调过程中关于数据集的两个关键问题:
- 数据集中的instruction和input是如何结合起来生成大模型可以理解的输入的?instruction是不是就是system prompt呢?(之所以会问这个问题,是因为我发现有的数据集将输入作为instruction,有的作为input,而它们在效果上基本没有区别)
- 模板(template)是如何起作用的?它如何将文本数据转换为模型可以理解的格式?
这两个问题其实在处理流程上是一体的,由于篇幅限制,我们这里先聚焦于第一个问题。
文章目录
-
- SFT微调整体流程
-
- 主要流程概括
- 数据集与微调参数准备
- SFT入参调试
- 数据生成源码解析
-
- 数据集准备
-
- 数据集加载部分
-
- 读取单个文件
- 格式转换(解开谜题的钥匙)
- 多数据集合并
- 数据集后处理部分
- 结论
🎉进入大模型应用与实战专栏 | 🚀查看更多专栏内容