首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用更多的训练数据从MarianMT中增强HuggingFace的预训练模型

用更多的训练数据从MarianMT中增强HuggingFace的预训练模型
EN

Stack Overflow用户
提问于 2020-09-07 09:12:43
回答 2查看 1K关注 0票数 0

我使用的是来自从英语到德语的经过预先训练的从英语到德语机器翻译模型。我也有一套高质量的英语到德语句子对,我想用它来提高模型的性能,这个模型是在操作系统语料库上训练的,但是没有使模型忘记了OPUS的训练数据。有办法吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-07 12:24:48

你试过finetune.sh脚本显示给这里了吗?除了列出的CLI标志的简短列表之外,您还可以尝试添加:

代码语言:javascript
复制
--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/预培训”可以是机器上的本地路径,也可以是MarianMT模型(Opus-en-de或等效的)。对于源语言和目标语言,"data/dir“有一个"train.source”和"train.target“,因此目标的行号x是源中x行的翻译(与"val.source”和“val.target”相同)。我已将finetune.py脚本这里更改为

代码语言:javascript
复制
parser = TranslationModule.add_model_specific_args(parser, os.getcwd())

然后运行finetune.sh脚本。

注意:当我使用"fp16“标志时,渐变变大了,所以我删除了它。另外,您可能希望检查"val_check_interval“、"check_val_every_n_epoch",并可能检查本期如何保存多个检查点。

票数 2
EN

Stack Overflow用户

发布于 2021-04-16 11:33:17

我完成了如下所述的细化:https://github.com/huggingface/transformers/tree/master/examples/seq2seq#translation

对模型进行培训(fr to de)并在末尾进行评估: python实例/seq2seq/run_validation- do _translate do_eval- model _name_or_path赫尔辛基-NLP/opus-mt- de - fr -source_lang de --target_lang -源_lang-将德语翻译为法语:/翻译-val-de-fr1.json--输出_dir./tst-转换-模型-per_device_train_batch_size=4-per_device_val_batch_size=4-改写_output_dir True -with_with_generate True -FP16 True

经过训练的模型存储在文件夹中:tst-转换-模型。

仅使用finetuned模型进行计算:文件夹使用“copy_mode.sh”,它必须适合每种语言):python示例/seq2seq/run_validation-do_train False --do_val True --model_name_or_path ./tst-模型--source_lang de --目标_lang fr --源_lang_前缀--将德语翻译为法语:--验证_file./data/defr1.json- per _device_val_batch_size=4-使用_generate-FP16真

你好,费利克斯

PS:请注意,培训和评估数据必须采用以下形式(每行一项):{“转换”:{ " de ":"Freilegung der Leitung (durch VN installiert)","fr":"Dégagement de la导管(installée par )“}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63774619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档