From 76f8f4c37643f31ad8b998e072d430d187cc179c Mon Sep 17 00:00:00 2001 From: cjm <490083538@qq.com> Date: Tue, 21 May 2024 17:30:33 +0800 Subject: [PATCH] fix finetune --- finetune/finetune_ds.sh | 1 + finetune/trainer.py | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/finetune/finetune_ds.sh b/finetune/finetune_ds.sh index 3654db1..32f7f80 100644 --- a/finetune/finetune_ds.sh +++ b/finetune/finetune_ds.sh @@ -30,6 +30,7 @@ torchrun $DISTRIBUTED_ARGS finetune.py \ --bf16_full_eval true \ --do_train \ --do_eval \ + --model_max_length 2048 \ --max_steps 80000 \ --eval_steps 200 \ --output_dir output/output_minicpmv2 \ diff --git a/finetune/trainer.py b/finetune/trainer.py index ae2f935..1666904 100644 --- a/finetune/trainer.py +++ b/finetune/trainer.py @@ -35,8 +35,7 @@ class CPMTrainer(Trainer): if isinstance(outputs, dict) and "loss" not in outputs: raise ValueError( "The model did not return a loss from the inputs, only the following keys: " - f"{','.join(outputs.keys())}. For reference, the inputs it received are { - ','.join(inputs.keys())}." + f"{','.join(outputs.keys())}. For reference, the inputs it received are {','.join(inputs.keys())}." ) # We don't use .loss here since the model may return tuples instead of ModelOutput. loss = outputs["loss"] if isinstance(outputs, dict) else outputs[0]