ChatGLM2-6B
ChatGLM2-6B copied to clipboard
[Help] <如何在完成一次punting之后,在结果的基础上继续ptuning>
Is there an existing issue for this?
- [X] I have searched the existing issues
Current Behavior
完成了一次现有数据集的ptuning,数据集更新/扩充了,想要在上次的基础上继续该如何操作?
Expected Behavior
No response
Steps To Reproduce
根据demo文档的操作部署的
Environment
- OS:Ubuntu 20.04
- Python:3.8
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :true
Anything else?
No response
--resume_from_checkpoint
,没记错的话应该是这个
是放在train.sh里面么?
你好,请问你使用的官方提供的ptuning进行微调的吗,是否有改动什么内容。我这边微调后再推理中出现推理错误且一直重复的问题。
你好,请问你使用的官方提供的ptuning进行微调的吗,是否有改动什么内容。我这边微调后再推理中出现推理错误且一直重复的问题。 按照官方的弄的,不过换成了我自己的train.json文件做数据集。另外我没有验证数据集dev.json,所以我把应该写dev.json的地方都改成了train.json。其他地方没动。 我也不知道我改的会不会有问题,不过看起来好像没有引起什么问题。
--resume_from_checkpoint
,没记错的话应该是这个
这不应该是从之前断掉的step重新开始训练嘛,我的理解应该在train.sh文件中加入--ptuning_checkpoint 以上均是个人理解,不对请勿喷
--resume_from_checkpoint
,没记错的话应该是这个这不应该是从之前断掉的step重新开始训练嘛,我的理解应该在train.sh文件中加入--ptuning_checkpoint 以上均是个人理解,不对请勿喷
--resume_from_checkpoint
,没记错的话应该是这个
两位老哥说的好像都不对,会报下面的错 train.sh: line 28: --resume_from_checkpoint: command not found train.sh: line 28: --ptuning_checkpoint: command not found
你好,请问你使用的官方提供的ptuning进行微调的吗,是否有改动什么内容。我这边微调后再推理中出现推理错误且一直重复的问题。 按照官方的弄的,不过换成了我自己的train.json文件做数据集。另外我没有验证数据集dev.json,所以我把应该写dev.json的地方都改成了train.json。其他地方没动。 我也不知道我改的会不会有问题,不过看起来好像没有引起什么问题。
你微调时使用的是量化 还是非量化微调 我使用quantization_bit 为8 微调后就出问题
你好,请问你使用的官方提供的ptuning进行微调的吗,是否有改动什么内容。我这边微调后再推理中出现推理错误且一直重复的问题。 按照官方的弄的,不过换成了我自己的train.json文件做数据集。另外我没有验证数据集dev.json,所以我把应该写dev.json的地方都改成了train.json。其他地方没动。 我也不知道我改的会不会有问题,不过看起来好像没有引起什么问题。
你微调时使用的是量化 还是非量化微调 我使用quantization_bit 为8 微调后就出问题
好像是int4,train.sh里面默认就是--quantization_bit 4
你好,请问你使用的官方提供的ptuning进行微调的吗,是否有改动什么内容。我这边微调后再推理中出现推理错误且一直重复的问题。 按照官方的弄的,不过换成了我自己的train.json文件做数据集。另外我没有验证数据集dev.json,所以我把应该写dev.json的地方都改成了train.json。其他地方没动。 我也不知道我改的会不会有问题,不过看起来好像没有引起什么问题。
你微调时使用的是量化 还是非量化微调 我使用quantization_bit 为8 微调后就出问题
好像是int4,train.sh里面默认就是--quantization_bit 4
除了使用自己的训练集,还有其他的改动吗,我这边微调后就全乱了 实在没查到原因
你好,请问你使用的官方提供的ptuning进行微调的吗,是否有改动什么内容。我这边微调后再推理中出现推理错误且一直重复的问题。 按照官方的弄的,不过换成了我自己的train.json文件做数据集。另外我没有验证数据集dev.json,所以我把应该写dev.json的地方都改成了train.json。其他地方没动。 我也不知道我改的会不会有问题,不过看起来好像没有引起什么问题。
你微调时使用的是量化 还是非量化微调 我使用quantization_bit 为8 微调后就出问题
好像是int4,train.sh里面默认就是--quantization_bit 4
除了使用自己的训练集,还有其他的改动吗,我这边微调后就全乱了 实在没查到原因
没了
你好,请问你使用的官方提供的ptuning进行微调的吗,是否有改动什么内容。我这边微调后再推理中出现推理错误且一直重复的问题。 按照官方的弄的,不过换成了我自己的train.json文件做数据集。另外我没有验证数据集dev.json,所以我把应该写dev.json的地方都改成了train.json。其他地方没动。 我也不知道我改的会不会有问题,不过看起来好像没有引起什么问题。
你微调时使用的是量化 还是非量化微调 我使用quantization_bit 为8 微调后就出问题
好像是int4,train.sh里面默认就是--quantization_bit 4
除了使用自己的训练集,还有其他的改动吗,我这边微调后就全乱了 实在没查到原因
没了
好的 谢谢 我再问一句 你使用的torch是>2还是<2的
你好,请问你使用的官方提供的ptuning进行微调的吗,是否有改动什么内容。我这边微调后再推理中出现推理错误且一直重复的问题。 按照官方的弄的,不过换成了我自己的train.json文件做数据集。另外我没有验证数据集dev.json,所以我把应该写dev.json的地方都改成了train.json。其他地方没动。 我也不知道我改的会不会有问题,不过看起来好像没有引起什么问题。
你微调时使用的是量化 还是非量化微调 我使用quantization_bit 为8 微调后就出问题
好像是int4,train.sh里面默认就是--quantization_bit 4
除了使用自己的训练集,还有其他的改动吗,我这边微调后就全乱了 实在没查到原因
没了
好的 谢谢 我再问一句 你使用的torch是>2还是<2的
用的>2
--resume_from_checkpoint
,没记错的话应该是这个这不应该是从之前断掉的step重新开始训练嘛,我的理解应该在train.sh文件中加入--ptuning_checkpoint 以上均是个人理解,不对请勿喷
--resume_from_checkpoint
,没记错的话应该是这个两位老哥说的好像都不对,会报下面的错 train.sh: line 28: --resume_from_checkpoint: command not found train.sh: line 28: --ptuning_checkpoint: command not found
大佬问一下,你这个命令可以用了吗,最后是怎么改的呀
--resume_from_checkpoint
,没记错的话应该是这个这不应该是从之前断掉的step重新开始训练嘛,我的理解应该在train.sh文件中加入--ptuning_checkpoint 以上均是个人理解,不对请勿喷
--resume_from_checkpoint
,没记错的话应该是这个两位老哥说的好像都不对,会报下面的错 train.sh: line 28: --resume_from_checkpoint: command not found train.sh: line 28: --ptuning_checkpoint: command not found
大佬问一下,你这个命令可以用了吗,最后是怎么改的呀
还没弄对呢
--resume_from_checkpoint
,没记错的话应该是这个这不应该是从之前断掉的step重新开始训练嘛,我的理解应该在train.sh文件中加入--ptuning_checkpoint 以上均是个人理解,不对请勿喷
--resume_from_checkpoint
,没记错的话应该是这个两位老哥说的好像都不对,会报下面的错 train.sh: line 28: --resume_from_checkpoint: command not found train.sh: line 28: --ptuning_checkpoint: command not found
大佬问一下,你这个命令可以用了吗,最后是怎么改的呀
可能是--checkpoint_dir 不知道对不对,运行没有报错
测试发现--checkpoint_dir 输入上次训练完成后的路径,这种方法好像是错误的
add line below in train.sh works: --resume_from_checkpoint output/xxxx/checkpoint-xxx \
add line below in train.sh works: --resume_from_checkpoint output/xxxx/checkpoint-xxx \
no,I used this,and I got error log: train.sh: line 28: --resume_from_checkpoint: command not found
add line below in train.sh works: --resume_from_checkpoint output/xxxx/checkpoint-xxx \
no,I used this,and I got error log: train.sh: line 28: --resume_from_checkpoint: command not found 你贴出你的train.sh给我看看
--resume_from_checkpoint这个命令是可以继续训练的,我是训练1500轮结果400的时候挂掉了,在train.sh上加上了--resume_from_checkpoint 以及对应checkpoint的绝对路径(相对路径就是不行,不知道为啥),从400恢复了训练。如果你是1500训练完成了想继续训练,那max_steps估计也得跟着变
大哥,请问下你解决这个问题了吗
在train.sh里加上--resume_from_checkpoint就可以了啊,train.sh里的命令参考:
PRE_SEQ_LEN=128 LR=2e-2 NUM_GPUS=1
torchrun --standalone --nnodes=1 --nproc-per-node=$NUM_GPUS main.py
--do_train
--train_file AdvertiseGen/train.json
--validation_file AdvertiseGen/dev.json
--preprocessing_num_workers 10
--prompt_column content
--response_column summary
--overwrite_cache
--model_name_or_path /home/aistudio/THUDM/chatglm2-6b
--output_dir output/adgen-chatglm2-6b-pt-$PRE_SEQ_LEN-$LR
--overwrite_output_dir
--max_source_length 256
--max_target_length 64
--per_device_train_batch_size 1
--per_device_eval_batch_size 1
--gradient_accumulation_steps 16
--predict_with_generate
--max_steps 10
--logging_steps 10
--save_steps 10
--learning_rate $LR
--pre_seq_len $PRE_SEQ_LEN
--resume_from_checkpoint 预训练断掉之前保存的check_point的绝对路径
在train.sh里加上--resume_from_checkpoint就可以了啊,train.sh里的命令参考:
PRE_SEQ_LEN=128 LR=2e-2 NUM_GPUS=1
torchrun --standalone --nnodes=1 --nproc-per-node=$NUM_GPUS main.py --do_train --train_file AdvertiseGen/train.json --validation_file AdvertiseGen/dev.json --preprocessing_num_workers 10 --prompt_column content --response_column summary --overwrite_cache --model_name_or_path /home/aistudio/THUDM/chatglm2-6b --output_dir output/adgen-chatglm2-6b-pt-$PRE_SEQ_LEN-$LR --overwrite_output_dir --max_source_length 256 --max_target_length 64 --per_device_train_batch_size 1 --per_device_eval_batch_size 1 --gradient_accumulation_steps 16 --predict_with_generate --max_steps 10 --logging_steps 10 --save_steps 10 --learning_rate $LR --pre_seq_len $PRE_SEQ_LEN --resume_from_checkpoint 预训练断掉之前保存的check_point的绝对路径
这个resume_from_checkpoint在哪里可以看到啊?我看main.py文件中参数来源是这3个:
parser = HfArgumentParser((ModelArguments, DataTrainingArguments, Seq2SeqTrainingArguments))
但是我只在ModelArguments类中看到了ptuning_checkpoint:
@dataclass
class ModelArguments:
"""
Arguments pertaining to which model/config/tokenizer we are going to fine-tune from.
"""
model_name_or_path: str = field(
metadata={"help": "Path to pretrained model or model identifier from huggingface.co/models"}
)
ptuning_checkpoint: str = field(
default=None, metadata={"help": "Path to p-tuning v2 checkpoints"}
)
在train.sh里加上--resume_from_checkpoint就可以了啊,train.sh里的命令参考: PRE_SEQ_LEN=128 LR=2e-2 NUM_GPUS=1 torchrun --standalone --nnodes=1 --nproc-per-node=$NUM_GPUS main.py --do_train --train_file AdvertiseGen/train.json --validation_file AdvertiseGen/dev.json --preprocessing_num_workers 10 --prompt_column content --response_column summary --overwrite_cache --model_name_or_path /home/aistudio/THUDM/chatglm2-6b --output_dir output/adgen-chatglm2-6b-pt-$PRE_SEQ_LEN-$LR --overwrite_output_dir --max_source_length 256 --max_target_length 64 --per_device_train_batch_size 1 --per_device_eval_batch_size 1 --gradient_accumulation_steps 16 --predict_with_generate --max_steps 10 --logging_steps 10 --save_steps 10 --learning_rate $LR --pre_seq_len $PRE_SEQ_LEN --resume_from_checkpoint 预训练断掉之前保存的check_point的绝对路径
这个resume_from_checkpoint在哪里可以看到啊?我看main.py文件中参数来源是这3个:
parser = HfArgumentParser((ModelArguments, DataTrainingArguments, Seq2SeqTrainingArguments))
但是我只在ModelArguments类中看到了ptuning_checkpoint:
@dataclass class ModelArguments: """ Arguments pertaining to which model/config/tokenizer we are going to fine-tune from. """ model_name_or_path: str = field( metadata={"help": "Path to pretrained model or model identifier from huggingface.co/models"} ) ptuning_checkpoint: str = field( default=None, metadata={"help": "Path to p-tuning v2 checkpoints"} )
我找到了,是Seq2SeqTrainingArguments这个类的继承类TrainingArguments中有:
resume_from_checkpoint: Optional[str] = field(
default=None,
metadata={"help": "The path to a folder with a valid checkpoint for your model."},
)