sunzeyeah / RLHF

Implementation of Chinese ChatGPT
283 stars 35 forks source link

训练相关 #3

Closed macheng6 closed 1 year ago

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

你好

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

Screenshot 2023-04-07 223140

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
macheng6 commented 1 year ago

好的,感谢。

------------------ 原始邮件 ------------------ 发件人: Zeye Sun @.> 发送时间: 2023年4月7日 22:49 收件人: sunzeyeah/RLHF @.> 抄送: macheng6 @.>, Author @.> 主题: Re: [sunzeyeah/RLHF] 训练相关 (Issue #3)

你好

训练代码 里使用了transformers的Trainer和TrainingArguments类,是支持将train和eval的过程进行记录的,具体为TrainingArguments的report_to这个入参,目前默认设置就是tensorboard。输出地址为output_dir/runs,tensorboard的记录分为train和eval两个阶段。

train对应metric有3类,如下:

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

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

这里5.4M指的是数据量,不是文件的大小,实际训练数据文件大小就是5G

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>