RUCAIBox/TextBox

[🐛BUG] 用lstm模型训练wmt-16-en-ro时出现问题。

Closed this issue · 1 comments

描述这个 bug
我想使用lstm训练wmt16-en-ro,我是把wmt16-ro-en的数据集的src和tgt互换得到的数据,在训练时发现bleu始终为0,打开generation.txt查看发现生成的全是乱码,在查看数据集发现数据集是正常的,但是生成出来的却是乱码

如何复现
run_textbox.py --model=lstm --num_layers=2 --encoder_bidirectional=True --dataset=wmt16-en-ro --src_lang=en_XX --tgt_lang=ro_RO

日志
后附generation.txt
generation.txt

你好,这个问题主要是由于lstm默认的tokenizer是BartTokenizer,因此不适用于多语任务。如果你想要评测wmt16-en-ro,可以更改--tokenizer_path--vocab_size来进行修改,同时建议使用更大的学习率--learning_rate。例如

python run_textbox.py --model=lstm --num_layers=2 --tokenizer_path=google/mt5-small --encoder_bidirectional=True --dataset=wmt16-en-ro --src_lang=en_XX --tgt_lang=ro_RO --epochs=1 --vocab_size=250112  --learning_rate=1e-3