1.微调训练大模型时使用了哪些格式的数据集?
大模型微调数据集的格式有多种,以下是常见的几种:
JSON 格式、JSONL 格式、CSV 格式、TXT 格式
基于Bert模型的微博评价微调训练时使用的是CSV 格式
基于models--uer--gpt2-chinese-cluecorpussmall中文白话文模型训练中国古诗词时使用的是TXT格式
基于Qwen系列模型使用llamafactory进行微调训练时使用的是 JSON格式 的数据集
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,也易于机器解析和生成。在大模型微调中,JSON 格式的数据通常以列表形式存储多个样本,每个样本是一个包含输入和输出的字典。示例:
[
{
"input": "解释一下人工智能",
"output": "人工智能是一门研究如何使计算机能够模拟人类智能的学科,它涵盖了机器学习、自然语言处理等多个领域。"
},
{
"input": "什么是深度学习",
"output": "深度学习是机器学习的一个分支领域,它通过构建和训练深度神经网络来学习数据中的模式和特征。"
}
]
JSONL(JSON Lines)是一种每行一个 JSON 对象的文本格式,适合处理大量数据,因为可以逐行读取和处理,无需一次性加载整个文件到内存中。示例:
{"input": "解释一下人工智能", "output": "人工智能是一门研究如何使计算机能够模拟人类智能的学科,它涵盖了机器学习、自然语言处理等多个领域。"}
{"input": "什么是深度学习", "output": "深度学习是机器学习的一个分支领域,它通过构建和训练深度神经网络来学习数据中的模式和特征。"}
CSV(Comma-Separated Values)是一种常见的表格数据格式,用逗号分隔不同的字段。在大模型微调中,通常有两列,分别表示输入和输出。示例:
input,output
解释一下人工智能,人工智能是一门研究如何使计算机能够模拟人类智能的学科,它涵盖了机器学习、自然语言处理等多个领域。
什么是深度学习,深度学习是机器学习的一个分支领域,它通过构建和训练深度神经网络来学习数据中的模式和特征。
TXT 格式是一种纯文本格式,可以根据特定的规则组织数据。例如,可以将输入和输出用特定的分隔符(如 \t 或 ### )分隔开,每行表示一个样本。示例:
解释一下人工智能\t人工智能是一门研究如何使计算机能够模拟人类智能的学科,它涵盖了机器学习、自然语言处理等多个领域。
什么是深度学习\t深度学习是机器学习的一个分支领域,它通过构建和训练深度神经网络来学习数据中的模式和特征。
选择哪种格式取决于具体的应用场景和模型训练框架的要求。例如,Hugging Face 的 Transformers 库通常支持 JSON、JSONL 等格式。
2.用过哪些部署推理框架?
Ollama、vLLM、LMDeploy、llama.cpp
3.用过哪些微调训练框架?
LLaMA Factory、XTuner
4.对大模型进行微调训练时,训练到什么程度可以停止?
在大模型的微调训练中,可从以下几个维度判断训练程度:
指标评估:损失函数、准确率
模型输出质量:人工评估、与基准模型对比
损失函数:
- 含义 :损失函数衡量模型预测结果与真实标签之间的差异。在训练过程中,损失值通常会随着训练的进行而逐渐降低。
- 判断标准 :当损失值下降到一个稳定的水平,且继续训练不再显著降低时,可认为训练达到了一个较好的程度。例如在文本生成任务中常用交叉熵损失,若其在多轮训练后趋于平稳,可考虑停止训练。
准确率:
- 含义 :在分类任务中,准确率是预测正确的样本数占总样本数的比例。
- 判断标准 :准确率开始稳定在一个较高的水平,且提升幅度非常小甚至不再提升时,表明训练效果达到了瓶颈。比如在情感分类任务中,准确率达到 90% 后长时间不再提升,可考虑停止训练。
人工评估:
- 含义 :由专业人员对模型的输出结果进行主观评估,如在文本生成任务中评估生成文本的逻辑性、流畅性和相关性。
- 判断标准 :当人工评估认为模型输出质量达到可接受的水平,且继续训练没有明显提升时,可认为训练达到了预期程度,此时可考虑停止训练。
与基准模型对比:
- 含义 :将微调后的模型与已知的基准模型在相同任务上进行对比。
- 判断标准 :若微调后的模型在各项指标和输出质量上与基准模型相当甚至更优,说明训练效果较好,可考虑停止训练。