2024-10-01 22:39:00 发布
网友
我使用的是来自English to German的经过预训练的MarianMT机器翻译模型。我还有一大套高质量的英语到德语句子对,我想用它们来提高模型的性能,该模型是在OPUS语料库上训练的,但是没有使模型忘记OPUS训练数据。有办法吗?谢谢
我按照这里的描述进行了微调:https://github.com/huggingface/transformers/tree/master/examples/seq2seq#translation
培训模型(从fr到de)并在最后进行评估: python示例/seq2seq/run_translation.py do_train True do_eval True model_name_或路径赫尔辛基NLP/opus mt de fr source_lang de target_lang fr source_前缀“将德语翻译成法语:”列车文件../data/translations-train-de-fr1.json验证文件../data/translations-val-de-fr1.json输出目录../tst每个设备的翻译模型列车批次大小=每个设备4个评估批次大小=4覆盖输出目录预测值与生成真实fp16真
经过训练的模型存储在文件夹:tst translation models中
仅使用微调模型进行评估: 文件夹使用“copy_mode.sh”,必须根据语言进行调整): python示例/seq2seq/run_translation.py do_train False do_eval True model_name_或路径../tst translation models source_lang de target_lang fr source_prefix“将德语翻译为法语:”validation_file../data/translations-val-de-fr1.json per_device_eval_batch_size=4 predict_with_generate True fp16 True
你好,菲利克斯
注:请注意,培训和评估数据必须采用以下格式(每行一项): {翻译〉:{“DE”:“Freilegung der Leitung(DurCH VN StimalRet)”、“FR”:“Deae管理层”(} Par LE PA)}} /P>
您是否尝试过显示here的finetune.sh脚本?除了此处列出的CLI标志短列表外,您还可以尝试添加:
src_lang "en" \ tgt_lang "de" \ num_train_epochs 400 \ warmup_steps 20 \ train_batch_size 32 \ eval_batch_size 32 \ data_dir "/data/dir" \ output_dir "/path/to/store/model/etc" \ cache_dir "/path/for/misc/files" \ max_source_length 128 \ max_target_length 128 \ val_max_target_length 128 \ test_max_target_length 128 \ model_name_or_path "</path/to/pretrained>"
其中“/path/to/pretrained”可以是您机器上的本地路径,也可以是MarianMT型号(Opus en de或同等型号)。“数据/dir”有一个“train.source”和“train.target”作为源&;目标语言,因此目标的行号x是源代码中x行的翻译(与“val.source”和“val.target”相同)。我已将finetune.py脚本here更改为
parser = TranslationModule.add_model_specific_args(parser, os.getcwd())
然后运行finetune.sh脚本
注意:当我使用“fp16”标志(使用Pytorch 1.6)时,渐变变大了,所以我将其删除。此外,您可能希望检查“val_check_interval”、“check_val_every_n_epoch”,并可能检查如何保存多个检查点
我按照这里的描述进行了微调:https://github.com/huggingface/transformers/tree/master/examples/seq2seq#translation
培训模型(从fr到de)并在最后进行评估: python示例/seq2seq/run_translation.py do_train True do_eval True model_name_或路径赫尔辛基NLP/opus mt de fr source_lang de target_lang fr source_前缀“将德语翻译成法语:”列车文件../data/translations-train-de-fr1.json验证文件../data/translations-val-de-fr1.json输出目录../tst每个设备的翻译模型列车批次大小=每个设备4个评估批次大小=4覆盖输出目录预测值与生成真实fp16真
经过训练的模型存储在文件夹:tst translation models中
仅使用微调模型进行评估: 文件夹使用“copy_mode.sh”,必须根据语言进行调整): python示例/seq2seq/run_translation.py do_train False do_eval True model_name_或路径../tst translation models source_lang de target_lang fr source_prefix“将德语翻译为法语:”validation_file../data/translations-val-de-fr1.json per_device_eval_batch_size=4 predict_with_generate True fp16 True
你好,菲利克斯
注:请注意,培训和评估数据必须采用以下格式(每行一项): {翻译〉:{“DE”:“Freilegung der Leitung(DurCH VN StimalRet)”、“FR”:“Deae管理层”(} Par LE PA)}} /P>
您是否尝试过显示here的finetune.sh脚本?除了此处列出的CLI标志短列表外,您还可以尝试添加:
其中“/path/to/pretrained”可以是您机器上的本地路径,也可以是MarianMT型号(Opus en de或同等型号)。“数据/dir”有一个“train.source”和“train.target”作为源&;目标语言,因此目标的行号x是源代码中x行的翻译(与“val.source”和“val.target”相同)。我已将finetune.py脚本here更改为
然后运行finetune.sh脚本
注意:当我使用“fp16”标志(使用Pytorch 1.6)时,渐变变大了,所以我将其删除。此外,您可能希望检查“val_check_interval”、“check_val_every_n_epoch”,并可能检查如何保存多个检查点
相关问题 更多 >
编程相关推荐