hiyouga / ChatGLM-Efficient-Tuning

Fine-tuning ChatGLM-6B with PEFT | 基于 PEFT 的高效 ChatGLM 微调
Apache License 2.0
3.65k stars 471 forks source link

LoRA微调已经训练好了,关于Evaluate和Predict的几个疑问 #368

Closed FreeYiran closed 11 months ago

FreeYiran commented 1 year ago

一、Evaluate

脚本

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --model_name_or_path path_to_your_chatglm_model \
    --do_eval \
    --dataset alpaca_gpt4_zh \
    --dataset_dir data \
    --finetuning_type lora \
    --checkpoint_dir path_to_lora_checkpoint \
    --output_dir path_to_eval_result \
    --overwrite_cache \
    --per_device_eval_batch_size 8 \
    --max_samples 50 \
    --predict_with_generate

疑问 Running Result

  1. 为什么evaluate不是在Lora训练过程中evaluate?如果可以,怎么设置?
  2. evaluate的 Num examples = 50 在哪里改变?
  3. 这里的 evaluate_accuracy 怎么只有0.04?

    二、Predict

    脚本

    CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --model_name_or_path path_to_your_chatglm_model \
    --do_predict \
    --dataset alpaca_gpt4_zh \
    --dataset_dir data \
    --finetuning_type lora \
    --checkpoint_dir path_to_lora_checkpoint \
    --output_dir path_to_predict_result \
    --overwrite_cache \
    --per_device_eval_batch_size 8 \
    --max_samples 100 \
    --predict_with_generate

    疑问 执行以上脚本后报错,不知道什么原因。 Untitled

    三、导出模型

    脚本

    python src/export_model.py \
    --model_name_or_path chatglm_model_path \
    --finetuning_type lora \
    --checkpoint_dir checkpoint_dir_path \
    --output_dir path_to_export

    疑问 执行以上脚本后报错,不知道什么原因。 Untitled

刚入门,恳请好心人解答,非常感谢!
codemayq commented 1 year ago
  1. Evaluate的 第一个小图 Running Evaluation 是在 do_train 训练过程中产生的,Num examples是用 参数--dev_ratio 控制的。
  2. 其他问题是版本问题导致的,你需要更新一下项目为最新版本再重新运行