赞
踩
(1)之前的任务都是语言理解类任务(如文本分类、抽取式问答、序列标注等),而对于文本生成任务(如机器翻译、文本摘要等),这类任务不仅需要对作为条件的输入有较好的表示能力(编码器),同时需要较强大的(序列)解码器生成目标文本。沿着解码器利用自监督学习的方式进行预训练,大佬们提出了一些预训练生成模型:BART、UniLM、T5和GPT-3等,更多机器翻译论文可参考清华大学NLP组整理的论文——https://github.com/THUNLP-MT/MT-Reading-List。
(2)本次学习用Helsinki-NLP/opus-mt-en-ro
预训练模型(含mBart模型等)+微调解决机器翻译任务的方法及步骤,步骤主要分为加载数据、数据预处理、微调预训练模型。
WMT
数据集;as_target_tokenizer
控制target对应的特殊token,并完成数据集中所有样本的预处理;Seq2SeqTrainingArguments
对模型参数进行设置,并构建Seq2SeqTrainer训练器,进行模型训练和评估。(3)问:同样的分类任务,有的是用BertTokenizer
, BertForSequenceClassification
有的是用AutoTokenizer
,AutoModelForSequenceClassification
这俩有什么区别吗?
答: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和
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。