当前位置:   article > 正文

【NLP】(task9)Transformers解决机器翻译任务_seq2seqtrainer

seq2seqtrainer

学习总结

(1)之前的任务都是语言理解类任务(如文本分类、抽取式问答、序列标注等),而对于文本生成任务(如机器翻译、文本摘要等),这类任务不仅需要对作为条件的输入有较好的表示能力(编码器),同时需要较强大的(序列)解码器生成目标文本。沿着解码器利用自监督学习的方式进行预训练,大佬们提出了一些预训练生成模型:BART、UniLM、T5和GPT-3等,更多机器翻译论文可参考清华大学NLP组整理的论文——https://github.com/THUNLP-MT/MT-Reading-List

(2)本次学习用Helsinki-NLP/opus-mt-en-ro预训练模型(含mBart模型等)+微调解决机器翻译任务的方法及步骤,步骤主要分为加载数据、数据预处理、微调预训练模型。

  • 在加载数据阶段中,使用WMT数据集;
  • 在数据预处理阶段中,对tokenizer分词器的建模,使用as_target_tokenizer控制target对应的特殊token,并完成数据集中所有样本的预处理;
  • 在微调预训练模型阶段,使用Seq2SeqTrainingArguments对模型参数进行设置,并构建Seq2SeqTrainer训练器,进行模型训练和评估。

(3)问:同样的分类任务,有的是用BertTokenizer, BertForSequenceClassification 有的是用AutoTokenizerAutoModelForSequenceClassification 这俩有什么区别吗?
答:Auto的字面含义就是:自动帮你寻找合适的模型,根据你传入的模型名字。比如你传了了一个bert-base-uncased的,它就会帮你找到对应的BertForSequenceClassification

(4)NLP生成任务用什么预训练模型效果更好,BERT、Roberta,GPT,T5?

1)RoBERTa(Robustly Optimized BERT Pre-training Approch)与BERT有何不同?
Facebook AI研究团队改进了BERT的训练,以进一步优化它:
1、他们使用160GB的文本,而不是最初用于训练BERT的16GB数据集。
2、将迭代次数从100K增加到300K,然后进一步增加到500K。
3、动态更改应用于训练数据的mask 模式。
4、从训练过程中删除下一个序列预测目标。

2)T5(Text-to-Text Transfer Transformer)使用同一套模型参数完成多项不同的条件式生成任务
1、需要给模型注入任务信息,使其能够按照特定任务生成目标文本;
2、使用自然语言描述或简短提示(Prompt)作为输入文本的前缀表示目标任务。

3)GPT-3同样是将不同形式的NLP任务重定义为文本生成实现模型的通用化
GPT-3主要展现的是超大规模语言模型的小样本学习(Few-shot learning)能力。其模型的输入不仅以自然语言或指令作为前缀表征目标任务,还使用少量的目标任务标注样本为条件上下文。

建议直接使用google colab notebook打开本教程,可以快速下载相关数据集和模型。
如果正在google的colab中打开这个notebook,可能需要安装Transformers和

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/374721
推荐阅读
相关标签