LLM-quickstart icon indicating copy to clipboard operation
LLM-quickstart copied to clipboard

【fine-tune-quickstart.ipynb】训练后ACC值随着评估集变化的问题

Open simson2010 opened this issue 2 years ago • 2 comments

作业: fine-tune-quickstart.ipynb

由于时间原因,只使用了5万的样本进行训练。 训练后,使用原测试集的100条进行trainer.evaluate()得到如下结果。

{'eval_loss': 1.2431399822235107, 'eval_accuracy': 0.57, 'eval_runtime': 1.7855, 'eval_samples_per_second': 56.007, 'eval_steps_per_second': 7.281}

再使用 1000条进行evaluate()得到另一个结果。

{'eval_loss': 1.016939640045166, 'eval_accuracy': 0.64, 'eval_runtime': 15.7258, 'eval_samples_per_second': 63.59, 'eval_steps_per_second': 7.949}

GPT的解释如下 :

  • 数据集规模:从之前的较小数据集增加到1000个样本,模型在更大规模的数据集上进行评估,可能更全面地反映了模型的性能。
  • 模型改进:在两组评估之间,模型可能经历了改进或调优的过程,使其在新的评估数据集上表现更好。
  • 数据偏差:两组评估使用的数据集可能存在一定的偏差,包括样本分布、数据质量等方面的差异,导致评估结果有所不同。
  • 随机性:评估过程中存在一定的随机性,包括数据样本的随机选择、模型参数的初始化等。因此,两组评估结果之间的差异可能部分归因于随机因素。

代码:

https://github.com/simson2010/LLM-quickstart/blob/feature/homework/homework/fine-tune-quickstart.ipynb

问题

同一个数据集fine-tune完后,用不同数量的样本进行评估,结果有较大偏差,这个可以怎么理解,用100条样本,ACC是0.57,用1000条样本时则升到0.64.但这样来做评估,怎么确定训练数据量用多少为好?

simson2010 avatar Dec 28 '23 14:12 simson2010

哈哈,我直接大力出奇迹,租个服务器全量数据训练,最高ACC能到0.68,不过听彭老师说,ACC能训练到80%到90%,不知道咋训练的

1k2222 avatar Nov 12 '24 04:11 1k2222

我用的2080Ti,跑全量数据训练,5轮epochs,30多小时跑完,acc最高也没过0.7,也需要彭老师解惑一下

weyson avatar Nov 17 '24 13:11 weyson