如果你不了解原始的Transformer模型,那么请查看论文:[1706.03762] Attention Is All You Need (arxiv.org)
当然这里有一份可以对照代码来解读原始Transformer模型的参考:The Annotated Transformer (harvard.edu)
在Hugging Face中,所有的模型都在这里:Hugging Face – On a mission to solve NLP, one commit at a time.
以及模型的配置可以在这里查看:Pretrained models — transformers 4.0.0 documentation (huggingface.co)
所有在Hugging Face中的模型都属于下面的其中一类:
简单介绍一下:
Autoregressive models(自回归模型)在标准语言建模任务上进行了预训练:即在已读取所有先前token的基础上,预测下一个token。通俗理解为从左向右读取序列。它们对应于原始transformer model的decoder,虽然可以对这些模型进行微调并在许多任务上取得出色的结果,但这一类模型最佳的应用是文本生成,因为其训练方式与文本生成的方式都是从左向右。这种模型的典型示例是GPT;
Autoencoding models(自编码模型)是通过以某种方式破坏输入的token并尝试在预训练的时候重建原始序列。从某种意义上讲,它们与原始transformer model的encoder相对应,因为它们可以在输入的时候查看整段序列。虽然可以对它们进行微调并在许多任务(例如文本生成)上取得出色的结果,但这一类模型最佳的应用是序列分类或token分类。此类模型的典型示例是BERT;
Sequence-to-sequence models(序列到序列模型)希望将所有NLP任务都转换到sequence-to-sequence问题。可以将它们微调成许多任务,但最佳的应用是翻译,摘要和阅读理解。原始transformer模型是此类模型的一个示例(仅用于翻译)。此类模型的典型示例是T5;
Multimodal models(多任务模型)将文本输入与其他类型的输入(例如图像)混合在一起,并且更特定于给定任务;
Retrieval-based models笔者暂不了解。
这里简单介绍一下每一类模型的典型代表是哪些。
Autoregressive models(自回归模型)
Original GPT:
在Book Corpus数据集上预训练的第一个基于transformer体系结构的自回归模型
模型源码解析:https://huggingface.co/transformers/model_doc/gpt.html
GPT-2:
GPT的更大更好的版本,已在WebText上进行了预训练
Paper:Language Models are Unsupervised Multitask Learners (d4mucfpksywv.cloudfront.net)
模型源码解析:OpenAI GPT2 — transformers 4.0.0 documentation (huggingface.co)
CTRL:
笔者暂不了解该模型
Paper:[1909.05858] CTRL: A Conditional Transformer Language Model for Controllable Generation (arxiv.org)
模型源码解析:CTRL — transformers 4.0.0 documentation (huggingface.co)
Transformer-XL:
与常规GPT模型相同,但引入了两个连续段的递归机制(类似于具有两个连续输入的常规RNN),相比于原始Transformer,Transformer-XL不会将长序列切割造成碎片化,且能记住更长序列的文本
Paper:Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context (arxiv.org)
======================================================
Autoencoding models(自编码模型)
BERT:
通过使用随机mask来破坏输入,并配合预测两个序列是否上下文关系来进行预训练
Paper:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (arxiv.org)
RoBERTa:
与BERT相同,具有更好的预训练技巧:
# 动态mask:token在每个epoch被不同地mask
# 不使用NSP,不对序列进行截短,使用全长度序列
# 在更大的数据集上训练
# 使用BPE并将字节作为子单元,而不使用字符(由于Unicode字符)
Paper:RoBERTa: A Robustly Optimized BERT Pretraining Approach (arxiv.org)
DistilBERT:
BERT的蒸馏版本
Paper:DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter (arxiv.org)
模型源码解析:https://huggingface.co/transformers/master/model_doc/distilbert.html
======================================================
Sequence-to-sequence models(序列到序列模型)
BART:
破坏的token输入到encoder中,原始正确的token输入到了decoder中(但是像常规的transformers decoder一样,具有mask以隐藏未预测的词)
对于encoder,在预训练任务上,将应用以下transformations的组合:
# mask随机token(如BERT)
# 随机删除token
# 用单个掩码token掩码k个token的范围
# 打乱句子
# 旋转文档以使其从特定标记开始
T5:
将所有NLP任务转换成Sequence to Sequence任务,例如,中文翻译成英文的任务,使用T5之前的数据输入是“我喜欢跑步”,输出是“I like running”。使用T5之后数据输入变成了“把中文翻译成英文:我喜欢跑步”,输出是“I like running”
Paper:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer (arxiv.org)
======================================================
Multimodal models(多任务模型)
MMBT:
在多模式设置中使用的transformers模型,结合文本和图像进行预测
Paper:Supervised Multimodal Bitransformers for Classifying Images and Text (arxiv.org)
模型源码解析:无
扫码关注不迷路!!!
郑州升龙商业广场B座25层
service@iqiqiqi.cn
联系电话:400-8049-474
联系电话:187-0363-0315
联系电话:199-3777-5101