Closed ZeyuZhu0120 closed 1 year ago
你好,你可以通过运行下面的命令,它将会在output/ccks_mt5-base_f1_1e-4_test_result目录下生成test_preds.json
文件。你需要将model_name设置为训练好的模型的位置、output_dir是输出test_preds.json文件所在位置、data_dir是测试数据所在目录。
model_name="output/ccks_mt5-base_f1_1e-4"
output_dir="output/ccks_mt5-base_f1_1e-4_test_result"
data_dir="data"
deepspeed --include localhost:0,2 src/run_ccks_ds.py \
--do_predict \
--predict_with_generate \
--use_fast_tokenizer=True \
--per_device_eval_batch_size 16 \
--test_file=${data_dir}/valid.json \
--model_name_or_path=${model_name} \
--output_dir=${output_dir} \
--overwrite_output_dir=False \
--logging_dir=${output_dir}_log \
--preprocessing_num_workers 4 \
--generation_max_length 256 \
--generation_num_beams 1 \
--gradient_checkpointing=True \
--bf16=True \
--deepspeed "configs/ds_mt5_z3_config_bf16.json" \
--seed 42
deepspeed --include localhost:0,2 src/run_ccks_ds.py \
再次感谢您的回复,我看到您的回复中有些到这个命令:deepspeed --include localhost:0,2 src/run_ccks_ds.py \ 但是我看Github项目中并没有这个src/run_ccks_ds.py文件,请问运行的是run_finetune.py文件还是其他的呢?
应该是deepspeed --include localhost:0,1 run_finetune.py
应该是deepspeed --include localhost:0,1 run_finetune.py
感谢您的回复,我按照您的指令再尝试一下!
应该是deepspeed --include localhost:0,1 run_finetune.py
您好,十分抱歉再次打扰您,我按照您刚刚给出的bash文件执行了如下命令:
但是发生了下面的报错,请问是哪里出了问题呢?还是说我要重新训练一遍模型,像您最新的readme中提到的那样:--do_train --do_eval --do_predict \
还有一个小问题是:我看您readme中写的是用了两张3090来跑mt5这个demo,bachsize设置的是16,但是实际我跑的时候也是两张3090,bachsize设置为16时显存会爆掉,我调整为8以后,仍然出现这样的情况,我调成4以后可以正常运行。后来我又尝试了使用了两张V100,bachsize设置为16,显存仍然爆掉,这令我十分不解,所以我好奇您在跑的时候是2张3090 bachsize=16吗?非常感谢您的解答!
你尝试把--preprocessing_num_workers 4 \去掉
应该是deepspeed --include localhost:0,1 run_finetune.py
您好,十分抱歉再次打扰您,我按照您刚刚给出的bash文件执行了如下命令: 但是发生了下面的报错,请问是哪里出了问题呢?还是说我要重新训练一遍模型,像您最新的readme中提到的那样:--do_train --do_eval --do_predict
还有一个小问题是:我看您readme中写的是用了两张3090来跑mt5这个demo,bachsize设置的是16,但是实际我跑的时候也是两张3090,bachsize设置为16时显存会爆掉,我调整为8以后,仍然出现这样的情况,我调成4以后可以正常运行。后来我又尝试了使用了两张V100,bachsize设置为16,显存仍然爆掉,这令我十分不解,所以我好奇您在跑的时候是2张3090 bachsize=16吗?非常感谢您的解答!
我看你好像设置的bf16是False
应该是deepspeed --include localhost:0,1 run_finetune.py
您好,十分抱歉再次打扰您,我按照您刚刚给出的bash文件执行了如下命令: 但是发生了下面的报错,请问是哪里出了问题呢?还是说我要重新训练一遍模型,像您最新的readme中提到的那样:--do_train --do_eval --do_predict 还有一个小问题是:我看您readme中写的是用了两张3090来跑mt5这个demo,bachsize设置的是16,但是实际我跑的时候也是两张3090,bachsize设置为16时显存会爆掉,我调整为8以后,仍然出现这样的情况,我调成4以后可以正常运行。后来我又尝试了使用了两张V100,bachsize设置为16,显存仍然爆掉,这令我十分不解,所以我好奇您在跑的时候是2张3090 bachsize=16吗?非常感谢您的解答!
我看你好像设置的bf16是False
是的,bf16我之前设置的为False,因为之前运行时这个地方会报错,说是我的GPU不支持bf16,我更改为False以后就能够正常运行了,所以应该不是这个地方的问题。 我按照您刚刚的回复把--preprocessing_num_workers 4 \这个给去掉的以后,还是一样的错误。
有可能是你的valid.json中有些行存在output
字段?你可以把3个地方的remove_columns=train/valid/test_column_names都去掉。
应该是deepspeed --include localhost:0,1 run_finetune.py
您好,十分抱歉再次打扰您,我按照您刚刚给出的bash文件执行了如下命令: 但是发生了下面的报错,请问是哪里出了问题呢?还是说我要重新训练一遍模型,像您最新的readme中提到的那样:--do_train --do_eval --do_predict 还有一个小问题是:我看您readme中写的是用了两张3090来跑mt5这个demo,bachsize设置的是16,但是实际我跑的时候也是两张3090,bachsize设置为16时显存会爆掉,我调整为8以后,仍然出现这样的情况,我调成4以后可以正常运行。后来我又尝试了使用了两张V100,bachsize设置为16,显存仍然爆掉,这令我十分不解,所以我好奇您在跑的时候是2张3090 bachsize=16吗?非常感谢您的解答!
我看你好像设置的bf16是False
是的,bf16我之前设置的为False,因为之前运行时这个地方会报错,说是我的GPU不支持bf16,我更改为False以后就能够正常运行了,所以应该不是这个地方的问题。 我按照您刚刚的回复把--preprocessing_num_workers 4 \这个给去掉的以后,还是一样的错误。
我看它好像是在eval的时候显存不够的。你可以尝试设置eval_accumulation_steps=32或64试试(但这会导致eval的时候很慢)
有可能是你的valid.json中有些行存在
output
字段?你可以把3个地方的remove_columns=train/valid/test_column_names都去掉。 我的valid.json文件是从ccks官网任务一中下载的run_finetune.py文件中的remove_columns=train/valid/test_column_names这三个地方我刚刚都去掉了,但还是一样的错误。
有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。
有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。
您说的是只执行--do_predict吗?还是说模型重新训练一遍呢?我刚刚试了一下您修改的代码,但是现在报这个错误
感谢作者解答,我是今天下午的时候按作者下午的版本运行了代码发现报错和上一个人一样,我现在按作者的源码尝试一下,谢谢作者!!!
感谢作者解答,我是今天下午的时候按作者下午的版本运行了代码发现报错和上一个人一样,我现在按作者的源码尝试一下,谢谢作者!!!
你好,想问下你是根据作者修改的代码运行的这个bash文件成功的吗?
有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。
您说的是只执行--do_predict吗?还是说模型重新训练一遍呢?我刚刚试了一下您修改的代码,但是现在报这个错误
你试试最新的源码,里面没有RecordFeatures的
作者您好,十分感谢您的解答,我现在也测试一下您最新上传的bash,我的截图是作者下午之前的版本,发截图是表达一下我也遇到相同问题,希望这一次可以跑通,没有作者解答之前我认为是生成的文件里面没有output列,百思不得其解
有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。
您说的是只执行--do_predict吗?还是说模型重新训练一遍呢?我刚刚试了一下您修改的代码,但是现在报这个错误
你试试最新的源码,里面没有RecordFeatures的
感谢您的提醒,现在看起来一切正常了!!再次感谢您的回复!
有点错误,我修改了源码,自己跑了一遍,成功了。你可以再试试。
您说的是只执行--do_predict吗?还是说模型重新训练一遍呢?我刚刚试了一下您修改的代码,但是现在报这个错误
你试试最新的源码,里面没有RecordFeatures的
感谢您的提醒,现在看起来一切正常了!!再次感谢您的回复!
没事没事,祝你取得好成绩!
在运行完bash run_finetene_ds.bash后,在output文件夹下没有找到readme中提到的‘test_preds.json’文件。
我想要运行convert.py文件进行格式转换,但是这个目录下并没有test_pred.json文件,请问这个该如何解决呢?