HarderThenHarder / transformers_tasks

⭐️ NLP Algorithms with transformers lib. Supporting Text-Classification, Text-Generation, Information-Extraction, Text-Matching, RLHF, SFT etc.
https://www.zhihu.com/column/c_1451236880973426688
2.12k stars 377 forks source link

运行RLHF/train_reward_model.sh的疑问 #12

Closed yaleimeng closed 1 year ago

yaleimeng commented 1 year ago

1,训练过程中,loss是从-0.6左右逐渐下降到-0.9以下,但为什么acc虽然会上下跳动,却始终是0.1的整数倍呢? 2,粗看了一下train_reward_model.py代码, train()函数中末尾,在评估的时候, acc = evaluate_model(model, eval_dataloader),调用了这个函数。但是在evaluate_model(model, data_loader)函数中,又有一行 model.train(),这是什么用意呢?

HarderThenHarder commented 1 year ago

Hi,因为在评估函数的开头 这里,对模型进行了 model.eval(),所以在结束评估后需要恢复模型的训练模式,所以添加了 model.train()。

HarderThenHarder commented 1 year ago

关于您提出的第 1 个问题,可能是由于 这个 issue 中提到的原因。我已经修复了评估函数,您可以尝试 pull 最新的代码来解决这个问题。

yaleimeng commented 1 year ago

确实是这个原因,修正之后acc就正常了。不过您在readme中的示例终端打印信息和结束截图都有点问题。