sunzeyeah/RLHF

训练相关

macheng6 opened this issue · 2 comments

  1. 训练的日志文件,比如RougeL的变化等能否用tensorbaord等画图展示?
  2. huggingface上的chinese-chatgpt-courpus数据集中训练集有5G,但是我看你训练模型只用了5.4M,这5.4M数据是在5G中筛选出来的吗?

你好

  1. 训练代码 里使用了transformersTrainerTrainingArguments类,是支持将train和eval的过程进行记录的,具体为TrainingArgumentsreport_to这个入参,目前默认设置就是tensorboard。输出地址为output_dir/runs,tensorboard的记录分为train和eval两个阶段。
  • train对应metric有3类,如下:

Screenshot 2023-04-07 223140

  • eval对应的metric有8类,包括:Roug-1、Rouge-2、Rouge-L、Rouge-Lsum,如下:

Screenshot 2023-04-07 223211

你提到的Rouge类指标是eval阶段计算的,目前默认策略是每个epoch结束后进行eval,对应TrainingArgumentsevaluation_strategy="epoch"。如果想提高eval的频次,可修改TrainingArgumentsevaluation_strategy="steps",表示每训练固定步数进行一次eval,同时也需要设置对应的步长,即TrainingArgumentseval_steps。这2个参数为训练代码的入参,可以直接修改,如下:

python src/train_sft.py \
  --evaluation_strategy="steps" \
  --eval_steps 10 \
  ...
  1. 这里5.4M指的是数据量,不是文件的大小,实际训练数据文件大小就是5G