[李宏毅-ELMO、BERT、GPT视频笔记link]
[参考link]
[NLP模型应用之一:基础知识link]
[BERT参考博客link]
[GPT-2参考博客link]
[GPT与GPT-2参考博客link]
[Bert参考博客link]
[GPT-1参考博客link]
[ALBERT参考博客link]
[ERNIE参考博客link]
[NLP相关论文时间线简书_link]
自2017年06月Transformer面世,相继产生了GPT、Bert、GPT-2、ALBERT这些神作,它们都属于预训练词向量模型。
既然提到了预训练词向量模型,就顺带也提一下Pre-train
& Fine-tuning
,包括:
*
Pre-train & Fine-tuning思想从CV到NLP的发展历程
*
早期的一些比较经典的语言模型方法:word2vec、GloVe、ELMo
*
以及19年百度公开的ERNIE
Pre-train
& Fine-tuning
主要参考论文:
发表年月 | 官网 | 论文链接 | 代码链接 |
---|---|---|---|
2000.10 | Can Artificial Neural Networks Learn Language Models? -- 徐伟 | ||
2001、2003 | A Neural Probabilistic Language Model -- Bengio | ||
1301.3781 | - | word2vec | |
2014-October | Stanford NLP Group、web_link | GloVe | |
1802.05365 | Allen研究所 | ELMo | |
2018-06 | openai 官网link | GPT: Improving Language Understanding by Generative Pre-Training |
https://github.com/openai/finetune-transformer-lm |
1810.04805 | BERT | https://github.com/google-research/bert | |
2019-02 | openai官网link | GPT-2 lk_1、lk_2 | https://github.com/openai/gpt-2 |
1904.09223 | 百度 | ERNIE | |
1909.11942 | ALBERT | https://github.com/google-research/ALBERT | |
2005.14165 | openai官网link | GPT-3 | https://github.com/openai/gpt-3 |
通过以上几个官方的代码库,可以对Pre-train & Fine-tuning
、transformer
的实现有一个全面的认知。
-0- Pre-train
& Fine-tuning
github链接 | 注释 |
---|---|
https://github.com/graykode/nlp-tutorial | 一个自然语言处理教程,由Pytorch实现。其中包括从Word2Vec、TextCNN到Transformer多个模型的演进。其主要优点是代码非常简单。比如BERT实现在nlp-tutorial/5-2.BERT/BERT_Torch.py文件中,只有200多行代码,其中一半以上和前篇Transformer相同,同时比Transformer翻译任务减少了Decoder部分,因此只需要考虑不到一半的基础逻辑。 |
https://github.com/huggingface/transformers | 下载量仅次于google官方发布的TensorFlow版本。其中除了BERT还包括GPT2、CTRL、ROBERTA等多个基于transformer模型NLP工具的实现,它同时提供BERT和Pytorch代码。其中BERT的Pytorch实现包括1500行代码,例程相对完整,对于问答、分类、句间关系等问题均有具体实现的类及调用方法。 |