在LLaMA-Factory的Evaluate & Predict界面进行评测
- 原始模型评测
- 微调后模型评测
可以看到,微调之后的模型在各个指标上有了显著提升
在完成大型语言模型(如 ChatGLM)的微调后,对模型进行全面评估和测试是至关重要的一步。这不仅帮助我们了解微调的效果,还指导后续的迭代优化。本文内容为使用 LLaMA-Factory 框架进行模型评估和测试的经验,并介绍如何根据评估结果进行优化。
在微调模型后,需要对其性能进行全面评估,以验证模型在目标任务上的效果。这部分包括对模型在模拟面试对话中的表现进行分析,主要考察以下几个方面:
-
回答准确性:
- 指标: 使用 BLEU 和 ROUGE 指标评估模型生成的回答与参考答案之间的相似性。
- 结果: 微调前的 BLEU-4 为 5.93,ROUGE-1 为 22.20;微调后的 BLEU-4 提升至 11.30,ROUGE-1 提升至 32.79。这表明微调后模型在生成准确性上有显著提升。
-
回答逻辑性:
- 指标: 评估生成的回答是否符合逻辑,能够连贯回答问题。这通常通过人类评审或特定的对话质量评估工具来进行。
- 结果: 在实际对话测试中,微调后的模型展示了更好的逻辑连贯性,能更有效地跟随对话上下文。
-
对固定格式的遵从度:
- 指标: 评估模型生成的回答是否符合预期的格式要求。这可以通过自动化测试脚本来验证生成的文本结构。
- 结果: 微调后模型在保持输出格式一致性方面有显著提升,更好地满足了预期的格式标准。
-
生成效率:
- 指标: 通过
predict_runtime
、predict_samples_per_second
、和predict_steps_per_second
等指标来评估模型的生成速度。 - 结果: 微调后模型的生成时间减少了一半以上,生成效率提升至每秒 2.45 个样本和每秒 0.306 个步骤,这意味着模型不仅更准确,而且更高效。
- 指标: 通过
评估结果的量化数据
通过 LLaMA-Factory 基于网页的评估功能,我们获得了以下量化的评估数据:
指标 | 微调前 | 微调后 |
---|---|---|
BLEU-4 | 5.93 | 11.30 |
ROUGE-1 | 22.20 | 32.79 |
ROUGE-2 | 5.20 | 12.21 |
ROUGE-L | 13.72 | 25.68 |
predict_runtime | 20.0068 秒 | 9.7952 秒 |
predict_samples_per_second | 1.2 样本/秒 | 2.45 样本/秒 |
predict_steps_per_second | 0.15 步骤/秒 | 0.306 步骤/秒 |
这些数据清晰地展示了微调后模型在多个关键指标上的提升。
迭代优化
在初步评估模型性能后,根据结果进行迭代优化是提升模型质量的关键。以下是一些基于评估结果的优化建议:
-
调整超参数:
- 学习率: 如果验证损失下降缓慢或不稳定,可以尝试进一步调整学习率。结合余弦退火等学习率调节器,动态优化学习率。
- 批量大小: 适当调整批量大小和梯度累积,以确保内存使用合理且训练稳定。
-
改进数据集:
- 数据多样性: 增加数据集的多样性,尤其是对话类型和问题复杂度方面的扩展,可以提高模型的泛化能力。
- 数据质量: 清洗和增强训练数据,去除噪声数据,并添加高质量的标签数据,可以进一步提升模型性能。
-
优化模型架构:
- 调整 LoRA 秩: 根据模型的复杂度和任务需求,调整 LoRA 秩以更好地适应新任务的数据特征。
- 调节 LoRA 缩放系数: 根据验证集的表现,调整 LoRA 缩放系数,确保模型适配过程稳定且有效。
-
评估策略改进:
- 温度系数和 Top-p 采样值: 这些参数控制生成文本的多样性和创新性。可以实验不同的温度系数(如从
0.8
到1.2
)和 Top-p 采样值(如从0.6
到0.9
),优化生成效果。
- 温度系数和 Top-p 采样值: 这些参数控制生成文本的多样性和创新性。可以实验不同的温度系数(如从
结论
通过使用 LLaMA-Factory 对 ChatGLM 进行微调和评估,我们能够有效地监控模型的性能,并通过调整超参数、改进数据集和优化评估策略来不断提升模型质量。微调后的模型在生成准确性、逻辑性和生成效率上都表现出显著的提升,为应用于实际的模拟面试对话系统提供了坚实的基础。