基于Transformer的NLP智能对话机器人实战课程培训

NLP on Transformers 101

One Architecture One Course One Universe

本课程以Transformer 架构为基石、萃取NLP 中最具有使用价值的内容、围绕手动实现工业级智能业务对话机器人所需要的全生命周期知识点展开,学习完成后不仅能够从算法、源码、实战等方面融汇贯通NLP领域NLU 、NLI 、NLG 等所有核心环节,同时会具备独自开发业界领先智能业务对话机器人的知识体系、工具方法、及参考源码,成为具备NLP 硬实力的业界Top 1%人才。

课程特色:

  • 101 章围绕Transformer 而诞生的NLP 实用课程
  • 5137 个围绕Transformers 的NLP 细分知识点
  • 大小近1200 个代码案例落地所有课程内容
  • 10000+行纯手工实现工业级智能业务对话机器人
  • 在具体架构场景和项目案例中习得AI 相关数学知识
  • 以贝叶斯深度学习下Attention 机制为基石架构整个课程
  • 五大NLP 大赛全生命周期讲解并包含比赛的完整代码实现

基于Transformer的NLP智能对话机器人实战课程培训

第1章 : 贝叶斯理论下的 Transformer 揭秘

1 ,基于Bayesian Theory ,融Hard Attention 、Soft Attention 、Self-Attention 、Multi-head Attention 于一身的Transformer 架构

2 ,为什么说抛弃了传统模型(例如RNN 、LSTM 、CNN 等)的Transformer 拉开了非序列化模型时代的序幕?

3 ,为什么说Transformer 是预训练领域底层通用引擎?

4 ,Transformer 的Input-Encoder-Decoder-Output 模型组建逐一剖析

5 ,Transformer 中Encoder-Decoder 模型进行Training 时候处理Data 的全生命周期七大步骤揭秘

6 ,Transformer 中Encoder-Decoder 模型进行Inference 时候处理Data 的全生命周期六大步骤详解

7 ,Teacher Forcing 数学原理及在Transformer 中的应用

8 ,穷根溯源:为何Scaled Dot-Product Attention 是有效的?

9 ,透视Scaled Dot-Product Attention 数据流全生命周期

10 ,穷根溯源:Queries 、Keys 、Values 背后的Trainable 矩阵揭秘

11 ,当Transformer 架构遇到Bayesian 理论:Multi-head attention

12 ,End-to-end Multi-head attention 的三种不同实现方式分析

13 ,透视Multi-head attention 全生命周期数据流

14 ,Transformer 的Feed-Forward Networks 的两种实现方式:Linear Transformations 和Convolutions

15 ,Embeddings 和Softmax 参数共享剖析

16 ,Positional Encoding 及Positional Embedding 解析

17 ,Sequence Masking 和Padding Masking 解析

18 ,Normal distribution 、Layer Normalization 和Batch Normalization 解析

19 ,Transformer 的Optimization Algorithms 数学原理、运行流程和最佳实践

20 ,Learning rate 剖析及最佳实践

21 ,从Bayesian 视角剖析Transformer 中的Dropout 及最佳实践

22 ,Label Smoothing 数学原理和工程实践解析

23 ,Transformer 背后的驱动力探讨

第2章: 通过30+个细分模块完整实现Transformer论文源码及项目调试

1 ,Transformer 源码训练及预测整体效果展示

2 ,模型训练model_training.py 代码完整实现

3 ,数据预处理data_preprocess.py 代码完整实现

4 ,Input 端Embeddings 源码完整实现

5 ,Attention 机制attention.py 代码完整实现

6 ,Multi-head Attention 机制multi_head_attention.py 代码完整实现

7 ,Position-wise Feed-forward 源码完整实现

8 ,Masking 在Encoder 和Decoder 端的源码完整实现0

9 ,SublayerConnection 源码完整实现

10 ,Encoder Layer 源码完整实现

11 ,LayerNormalization 源码完整实现

12 ,DecoderLayer 源码完整实现

13 ,Encoder Stack 源码完整实现

14 ,Decoder Stack 源码完整实现

15 ,由Memory 链接起来的EncoderDecoder Module 源码完整实现

16 ,Batch 操作完整源码实现

16 ,Optimization 源码完整实现

17 ,Loss 计算数学原理及完整源码实现

18 ,Output 端Generator 源码完整实现

19 ,Transformer 模型初始化源码及内幕揭秘

20 ,Label Smoothing 源码完整实现

21 ,Training 源码完整实现

22 ,Greedy Decoding 源码及内幕解析

23 ,Tokenizer 源码及调试

24 ,Multi-GPU 训练完整源码

27 ,使用自己实现的Transformer 完成分类任务及调试

28 ,Transformer 翻译任务代码完整实现及调试

29 ,BPE 解析及源码实现

30 ,Shared Embeddings 解析及源码实现

31 ,Beam Search 解析及源码实现

32 ,可视化Attention 源码实现及剖析

第3章 : 细说 Language Model 内幕及 Transformer XL 源码实现

1 ,人工智能中最重要的公式之一MLE数学本质剖析及代码实战

2 ,Language Model的数学原理、Chain Rule剖析及Sparsity问题

3 ,Markov Assumption:first order、second order、third order剖析

4 ,Language Model :unigram 及其问题剖析、bigram 及依赖顺序、n-gram

5 ,使用Unigram 训练一个Language Model 剖析及实践

6 ,使用Bigram 训练一个Language Model 剖析及实践

7 ,使用N-gram 训练一个Language Model 剖析及实践

8 ,拼写纠错案例实战:基于简化后的Naive Bayes 的纠错算法详解及源码实现

9 ,使用基于Average Log Likelihood 的PPL(Perplexity)来评估Language Model

10 ,Laplace Smoothing 剖析及基于PPL 挑选最优化K 的具体方法分析

11 ,Interpolation Smoothing 实现解析:加权平均不同的N-gram 概率

12 ,Good-Turning Smoothing 算法解析

13 ,Vallina Transformer language model 处理长文本架构解析

14 ,Vallina Transformer Training Losses :Multiple Postions Loss 、Intermediate Layer Losses 、Multiple Targets Losses

15 ,Vallina Transformer 的三大核心问题:Segment 上下文断裂、位置难以区分、预测效率低下

16 ,Transformer XL :Attentive Language Models Beyond a Fixed-Length Context

17 ,Segment-level Recurrence with State Reuse 数学原理及实现分析

18 ,Relative Positional Encoding 算法解析

19 ,Transformer XL 中降低矩阵运算复杂度的Trick 解析

20 ,缓存机制在语言模型中的使用思考

21 ,Transformer XL 之数据预处理完整源码实现及调试

22 ,Transformer XL 之MemoryTransformerLM 完整源码实现及调试

23 ,Transformer XL 之PartialLearnableMultiHeadAttention 源码实现及调试

24 ,Transformer XL 之PartialLearnableDecoderLayer 源码实现及调试

25 ,Transformer XL 之AdaptiveEmbedding 源码实现及调试

26 ,Transformer XL 之相对位置编码PositionalEncoding 源码实现及调试

27 ,Transformer XL 之Adaptive Softmax 解析及源码完整实现

28 ,Transformer XL 之Training 完整源码实现及调试

29 ,Transformer XL 之Memory 更新、读取、维护揭秘

30 ,Transformer XL 之Unit 单元测试

31 ,Transformer XL 案例调试及可视化

第4章 : Autoregressive Language Models GPT-1 2 3 解析及 GPT 源码实现

1 ,Task-aware 的人工智能Language model + Pre-training + Fine-tuning 时代

2 ,Decoder-Only Stack 数学原理及架构解析

3 ,训练材料标注:neutral 、contradiction 、entailment 、multi-label 、QA 等

4 ,NLP(Natural Language Understanding):Semantic similarity 、document classification 、textual entailment 等

5 ,大规模Unsupervised pre-training 贝叶斯数学原理及架构剖析

6 ,Task-specific Supervised fine-tuning 的Softmax 及Loss 详解

7 ,针对Classification 、Entailment 、Similarity 、Mutiple Choice 特定任务的Input 数据预处理解析及矩阵纬度变化处理

8 ,GPT2 架构解析:Language Models for unsupervised multitask learners

9 ,GPT 2 把Layer Norm 前置的数据原理剖析

10 ,GPT 2 Self-Attention 剖析

11 ,GPT 2 Training 数据流动全生命周期解析

12 ,GPT 2 Inference 数据流动全生命周期解析

13 ,GPT 3 架构剖析:Language Models are Few-Shot Learners

14 ,由GPT 3 引发的NLP12 大规律总结

15 ,GPT 数据预处理源码完整实现及调试

16 ,GPT 的BPE 实现源码及调试

17 ,GPT 的TextEncoder 源码实现及调试

18 ,GPT 的Attention 完整源码实现及调试

19 ,GPT 的Layer Normalization 完整源码实现及调试

20 ,GPT 的Feed Foward 神经网络通过Convolutions 源码实现

21 ,GPT 的Block 源码完整实现及调试

22 ,GPT 的TransformerModel 源码完整实现及调试

23 ,GPT 的输入LMHead 源码完整实现及调试

24 ,GPT 的MultipleChoiceHead 源码完整实现及调试

25 ,GPT 的语言模型及特定Task 的DoubleHeadModel 源码完整实现

26 ,GPT 的OpenAIAdam 优化器源码及调试

27 ,GPT 的LanguageModel loss 源码及调试

28 ,GPT 的MultipleChoiceLoss 源码及调试

29 ,OpenAI GPT 的Pretrained Model 的加载使用

30 ,GPT 模型Task-specific 训练完整源码及调试

31 ,GPT 进行Inference 完整源码实现及代码调试

第5章 : Autoencoding Language Models 数学原理及模型架构解析

1 ,Auto-encoding Language Models 通用数学原理详解

2 ,为何要放弃采用Feature-Based 语言模型ELMo 而使用Fine-tuning 模型?

3 ,双向语言模型:both left-to-right and right-to-left 不同实现及数学原理解析

4 ,深度双向语言模型背后的数学原理及物理机制

5 ,Unsupervised Fine-tuning 训练模型架构及数学原理解析

6 ,Transfer Learning 数学原理及工程实现详解

7 ,MLM(Masked Language Models)数学原理及工程架构解析

8 ,MLM 问题解析及解决方案分析

9 ,Pre-training + Fine-tuning 的BERT 分层架构体系及组件解析

10 ,BERT 的三层复合Embeddings 解析

11 ,BERT 不同模块的参数复杂度分析

12 ,BERT 在进行Masking 操作中采用10%随机选取词库的内容进行替换masked 位置的内容的数学原理剖析

13 ,BERT 在进行Masking 操作中采用10%的内容维持不变的数学原理揭秘

14 ,BERT 的Masking 机制五大缺陷及其解决方案分析

15 ,BERT 的Masking 机制在Data Enchancement 方面的妙用

16 ,BERT 的Masking 机制在处理智能对话系统中不规范用语甚至是错误语法及用词的妙用

17 ,BERT 的NSP(Next Sentence Prediction)机制及其实现

18 ,BERT 的NSP 三大问题及解决方案剖析

19 ,BERT 的CLS 剖析及工程实现

20 ,BERT 的CLS 三个核心问题及解决方案

21 ,Knowledge Distillation for BERT 数学原理贝叶斯及KL 散度解析及案例实战

22 ,使用BERT 进行Classification 架构及案例实战

23 ,使用BERT 进行NER(Named Entity Recognition)架构及案例实战

24 ,使用BERT 实现文本Similarity 任务的架构及案例实战

25 ,使用BERT 实现Question-Answering 任务的架构及案例实战

26 ,ALBERT 模型架构解析

27 ,RoBERTa 模型架构解析

28 ,SpanBERT 模型架构解析

29 ,TinyBERT 模型架构解析

30 ,Sentence-BERT 模型架构解析

31 ,FiBERT 模型架构解析

32 ,K-BERT 模型架构解析

33 ,KG-BERT 模型架构解析

第6章 : BERT Pre-training 模型源码完整实现、测试、调试及可视化分析

1 ,词典Vocabulary 库构建多层级源码实现及测试

2 ,Dataset 加载及数据处理源码完整实现及测试和调试

3 ,Next Sentence Prediction 机制源码完整实现及测试

4 ,Masked Language Model 机制中80%词汇Masking 源码实现

5 ,Masked Language Model 机制中10%词汇随机替换和10%词汇保持不变源码实现

6 ,Masked Language Model 机制下的Output Label 操作源码实现

7 ,加入CLS 、SEP 等Tokens

8 ,Segment Embeddings 源码实现

9 ,Padding 源码实现及测试

10 ,使用DataLoader 实现Batch 加载

11 ,BERT 的初始化init 及forward 方法源码实现

12 ,PositionalEmbeddings 源码实现详解

13 ,TokenEmbeddings 源码

14 ,SegmentEmbeddings 源码

15 ,BERTEmbeddings 层源码实现及调试

16 ,基于Embeddings 之多Linear Transformation 操作

17 ,Queries 、Keys 、Values 操作源码

18 ,Attention 机制源码实现

19 ,Multi-head Attention 源码实现

20 ,Layer Normalization 数学原理及源码实现

21 ,Sublayer Connection 源码实现

22 ,Position-wise Feedforward 层源码实现

23 ,Dropout 数学机制及源码实现

24 ,基于Embeddings 之上的Linear Transformation 及其不同源码实现方式

25 ,TransformerBlock 源码完整实现及测试

26 ,BERT 模型训练时候多二分类和多分类别任务数学原理和实现机制

26 ,BERT Training Task 之MLM 源码完整实现及测试

27 ,BERT Training Task 之NSP 源码完整实现及测试

28 ,Negative Sampling 数学原理及实现源码

29 ,MLM 和NSP 的Loss 计算源码实现

30 ,BERT 模型的训练源码实现及测试

31 ,使用小文本训练BERT 模型源码、测试和调试

32 ,使用特定领域的(例如医疗、金融等)来对BERT 进行Pre-training 最佳实践

33 ,BERT 加速训练技巧:动态调整Attention 的Token 能够Attending 的长度

34 ,BERT 可视化分析

第7章 : BERT Fine-tuning 源码完整实现、调试及案例实战

1 ,数据预处理训练集、测试集源码

2 ,文本中的Token 、Mask 、Padding 的预处理源码

3 ,数据的Batch 处理实现源码及测试

4 ,加载Pre-training 模型的BertModel 及BertTokenizer

5 ,模型Config 配置

6 ,Model 源码实现、测试、调试

7 ,BERT Model 微调的数学原理及工程实践

8 ,BERT Model 参数Frozen 数学原理及工程实践

9 ,BertAdam 数学原理及源码剖析

10 ,训练train 方法源码详解

11 ,fully-connected neural network 层源码详解及调试

12 ,采用Cross-Entropy Loss Function 数学原理及代码实现

13 ,Evaluation 指标解析及源码实现

14 ,Classification 任务下的Token 设置及计算技巧

15 ,适配特定任务的Tokenization 解析

16 ,BERT + ESIM(Enhanced Sequential Inference Model)强化BERT 模型

17 ,使用BERT + LSTM 整合强化BERT 模型

18 ,基于Movie 数据的BERT Fine-tuning 案例完整代码实现、测试及调试

第8章 : 轻量级 ALBERT 模型剖析及 BERT 变种中常见模型优化方式详解

1 ,从数学原理和工程实践的角度阐述BERT 中应该设置Hidden Layer 的维度高于(甚至是高几个数量级)Word Embeddings 的维度背后的原因

2 ,从数学的角度剖析Neural Networks 参数共享的内幕机制及物理意义

3 ,从数学的角度剖析Neural Networks 进行Factorization 的机制及物理意义

4 ,使用Inter-sentence coherence 任务进行模型训练的的数学原理剖析

5 ,上下文相关的Hidden Layer Embeddings

6 ,上下午无关或不完全相关的Word Embeddings

7 ,ALBERT 中的Factorized embedding parameterization 剖析

8 ,ALBERT 中的Cross-Layer parameter sharing 机制:只共享Attention 参数

9 ,ALBERT 中的Cross-Layer parameter sharing 机制:只共享FFN 参数

10 ,ALBERT 中的Cross-Layer parameter sharing 机制:共享所有的参数

11 ,ALBERT 不同Layers 的Input 和Output 相似度分析

12 ,训练Task 的复杂度:分离主题预测和连贯性预测的数学原因及工程实践

13 ,ALBERT 中的不同于BERT 的Sentence Negative Sampling

14 ,句子关系预测的有效行分析及问题的底层根源

15 ,ALBERT 的SOP(Sentence Order Prediction)实现分析及工程实践

16 ,ALBERT 采用比BERT 更长的注意力长度进行实际的训练

17 ,N-gram Masking LM 数学原理和ALERT 对其实现分析

18 ,采用Quantization 优化技术的Q8BERT 模型架构解析

19 ,采用Truncation 优化技术的”Are Sixteen Heads Really Better than One?”模型架构解析

20 ,采用Knowledge Distillation 优化技术的distillBERT 模型架构解析

21 ,采用多层Loss 计算+知识蒸馏技术的TinyBERT 模型架构解析

22 ,由轻量级BERT 带来的关于Transformer 网络架构及实现的7 点启示

第9章 : ALBERT Pre-training 模型及 Fine-tuning 源码完整实现、案例及调试

1 ,Corpus 数据分析

2 ,Pre-training 参数设置分析

3 ,BasicTokenizer 源码实现

4 ,WordpieceTokenizer 源码实现

5 ,ALBERT 的Tokenization 完整实现源码

6 ,加入特殊Tokens CLS 和SEP

7 ,采用N-gram 的Masking 机制源码完整实现及测试

8 ,Padding 操作源码

9 ,Sentence-Pair 数据预处理源码实现

10 ,动态Token Length 实现源码

11 ,SOP 正负样本源码实现

12 ,采用了Factorization 的Embeddings 源码实现

13 ,共享参数Attention 源码实现

14 ,共享参数Multi-head Attention 源码实现

15 ,LayerNorm 源码实现

16 ,共享参数Position-wise FFN 源码实现

17 ,采用GELU 作为激活函数分析

18 ,Transformer 源码完整实现

19 ,Output 端Classification 和N-gram Masking 机制的Loss 计算源码

20 ,使用Adam 进行优化源码实现

21 ,训练器Trainer 完整源码实现及调试

22 ,Fine-tuning 参数设置、模型加载

23 ,基于IMDB 影视数据的预处理源码

24 ,Fine-tuning 阶段Input Embeddings 实现源码

25 ,ALBERT Sequence Classification 参数结构总结

26 ,Fine-tuning 训练代码完整实现及调试

27 ,Evaluation 代码实现

28 ,对Movie 数据的分类测试及调试

第10章 : 明星级轻量级高效 Transformer 模型 ELECTRA: 采用 Generator-Discriminator Text Encoders 解析及 ELECTRA 模型源码完整实现

1 ,GAN :Generative Model 和Discriminative Model 架构解析

2 ,为什么说ELECTRA 是NLP 领域轻量级训练模型明星级别的Model ?

3 ,使用replaced token detection 机制规避BERT 中的MLM 的众多问题解析

4 ,以Generator-Discriminator 实现的ELECTRA 预训练架构解析

5 ,ELECTRTA 和GAN 的在数据处理、梯度传播等五大区别

6 ,ELECTRA 数据训练全生命周期数据流

7 ,以Discriminator 实现Fine-tuning 架构解析

8 ,ELECTRA 的Generator 数学机制及内部实现详解

9 ,Generator 的Loss 数学机制及实现详解

10 ,Discriminator 的Loss 数学机制及实现详解

11 ,Generator 和Discriminator 共享Embeddings 数据原理解析

12 ,Discriminator 网络要大于Generator 网络数学原理及工程架构

13 ,Two-Stage Training 和GAN-style Training 实验及效果比较

14 ,ELECTRA 数据预处理源码实现及测试

15 ,Tokenization 源码完整实现及测试

16 ,Embeddings 源码实现

17 ,Attention 源码实现

18 ,借助Bert Model 实现Transformer 通用部分源码完整实现

19 ,ELECTRA Generator 源码实现

20 ,ELECTRA Discriminator 源码实现

21 ,Generator 和Discriminator 相结合源码实现及测试

22 ,pre-training 训练过程源码完整实现

23 ,pre-training 数据全流程调试分析

24 ,聚集于Discriminator 的ELECTRA 的fine-tuning 源码完整实现

25 ,fine-tuning 数据流调试解析

26 ,ELECTRA 引发Streaming Computations 在Transformer 中的应用思考

第11章: 挑战BERT地位的Autoregressive语言模型XLNet剖析及源码完整实现

1 ,作为Autoregressive 语言模型的XLNet 何以能够在发布时在20 个语言任务上都能够正面挑战作为Autoencoding 与训练领域霸主地位的BERT ?

2 ,XLNet 背后Permutation LM 及Two-stream self-attention 数学原理解析

3 ,Autoregressive LM 和Autoencoding LM 数学原理及架构对比

4 ,Denoising autoencoding 机制的数学原理及架构设计

5 ,对Permutation 进行Sampling 来高性价比的提供双向信息数学原理

6 ,XLNet 的Permutation 实现架构和运行流程:content stream 、query stream

7 ,XLNet 中的缓存Memory 记录前面Segment 的信息

8 ,XLNet 中content stream attention 计算

9 ,XLNet 中query stream attention 计算

10 ,使用Mask Matrices 来实现Two-stream Self-attention

11 ,借助Transformer-XL 来编码relative positional 信息

12 ,XLNet 源码实现之数据分析及预处理

13 ,XLNet 源码实现之参数设定

14 ,Embeddings 源码实现

15 ,使用Mask 实现causal attention

16 ,Relative shift 数学原理剖析及源码实现

17 ,XLNet Relative attention 源码完整实现

18 ,content stream 源码完整实现

19 ,queery stream 源码完整实现

20 ,Masked Two-stream attention 源码完整实现

21 ,处理长文件的Fixed Segment with No Grad 和New Segment

22 ,使用einsum 进行矩阵操作

23 ,XLNetLayer 源码实现

24 ,Cached Memory 设置

25 ,Head masking 源码

26 ,Relative-position encoding 源码实现

27 ,Permutation 实现完整源码

28 ,XLNet FFN 源码完整实现

29 ,XLNet 源码实现之Loss 操作详解

30 ,XLNet 源码实现之training 过程详解

31 ,从特定的checkpoint 对XLNet 进行re-training 操作

32 ,Fine-tuning 源码完整实现

33 ,Training Evaluation 分析

34 ,使用XLNet 进行Movies 情感分类案例源码、测试及调试

第12章:NLP比赛的明星模型RoBERTa架构剖析及完整源码实现

1 ,为什么说BERT 模型本身的训练是不充分甚至是不科学的?

2 ,RoBERTa 去掉NSP 任务的数学原理分析

3 ,抛弃了token_type_ids 的RoBERTa

4 ,更大的mini-batches 在面对海量的数据训练时是有效的数学原理解析

5 ,为何更大的Learning rates 在大规模数据上会更有效?

6 ,由RoBERTa 对hyperparameters 调优的数学依据

7 ,RoBERTa 下的byte-level BPE 数学原理及工程实践

6 ,RobertaTokenizer 源码完整实现详解

7 ,RoBERTa 的Embeddings 源码完整实现

8 ,RoBERTa 的Attention 源码完整实现

9 ,RoBERTa 的Self-Attention 源码完整实现

10 ,RoBERTa 的Intermediate 源码完整实现

11 ,RobertLayer 源码完整实现

12 ,RobertEncoder 源码完整实现

13 ,RoBERTa 的Pooling 机制源码完整实现

14 ,RoBERTa 的Output 层源码完整实现

15 ,RoBERTa Pre-trained model 源码完整实现

16 ,RobertaModel 源码完整实现详解

17 ,实现Causal LM 完整源码讲解

18 ,RoBERTa 中实现Masked LM 完整源码详解

19 ,RobertLMHead 源码完整实现

20 ,RoBERTa 实现Sequence Classification 完整源码详解

21 ,RoBERTa 实现Token Classification 完整源码详解

22 ,RoBERTa 实现Multiple Choice 完整源码详解

23 ,RoBERTa 实现Question Answering 完整源码详解

第13章:DistilBERT:smaller, faster, cheaper and lighter的轻量级BERT架构剖析及完整源码实现

1 ,基于pretraining 阶段的Knowledge distillation

2 ,Distillation loss 数学原理详解

3 ,综合使用MLM loss 、distillation loss 、cosine embedding loss

4 ,BERT Student architecture 解析及工程实践

5 ,抛弃了BERT 的token_type_ids 的DistilBERT

6 ,Embeddings 源码完整实现

7 ,Multi-head Self Attention 源码完整实现

8 ,Feedforward Networks 源码完整实现

9 ,TransformerBlock 源码完整实现

10 ,Transformer 源码完整实现

11 ,继承PreTrainedModel 的DistilBertPreTrainedModel 源码完整实现

13 ,DistilBERT Model 源码完整实现

14 ,DistilBertForMaskedLM 源码完整实现

15 ,DistilBert 对Sequence Classification 源码完整实现

第14章: Transformers动手案例系列

1 ,动手案例之使用Transformers 实现情感分析案例代码、测试及调试

2 ,动手案例之使用Transformers 实现NER 代码、测试及调试

3 ,动手案例之使用Transformers 实现闲聊系统代码、测试及调试

4 ,动手案例之使用Transformers 实现Summarization 代码、测试及调试

5 ,动手案例之使用Transformers 实现Answer Span Extraction 代码、测试及调试

6 ,动手案例之使用Transformers 实现Toxic Language Detection Multi-label Classification 代码、测试及调试

7 ,动手案例之使用Transformers 实现Zero-shot learning 代码、测试及调试

8 ,动手案例之使用Transformers 实现Text Clustering 代码、测试及调试

9 ,动手案例之使用Transformers 实现semantics search 代码、测试及调试

10 ,动手案例之使用Transformers 实现IMDB 分析代码、测试及调试

11 ,动手案例之使用Transformers 实现cross-lingual text similarity 代码、测试及调试

第15章: Question Generation综合案例源码、测试及调试

1 ,从Text 到Multiple choice question 数学原理、使用的Transformer 知识、架构设计

1 ,自动生成错误的问题选项

2 ,使用GPT2 自动生成对错二分类的问题

3 ,使用Transformer 生成多选题目

4 ,使用Transformer 自动生成完形填空题目

5 ,使用Transformer 基于特定内容生成问题

6 ,完整案例调试分析

7 ,使用fastAPI部署、测试Transformer 案例

8 ,使用TFX部署、测试Transformer 案例

第16章:Kaggle BERT比赛CommonLit Readability Prize赛题解析、Baseline代码解析、及比赛常见问题

1 ,以问题为导向的Kaggle Data Competition 分析

2 ,为何Kaggle 上的NLP 80%以上都是文本分类比赛,并必须使用Neural Networks ?

3 ,文本复杂度衡量不同类型实现技术分析

4 ,比赛的Training 数据集分析:id 、url_legal 、license 、excerpt 、target 、standard_error

5 ,比赛的评价指标分析

6 ,Readability :NLP Classification or Regression based on neural networks

7 ,Kaggle 比赛通用步骤:Data – Cleaning – Store – GridSearch – Model – Prediction

8 ,比赛外部数据集分析

9 ,比赛使用的硬件条件分析

10 ,Training Set 、Validation Set 、Test Set

11 ,比赛的双层Pretraining 技术解析

12 ,Pretraining 的三大类型解析:ITPT 、IDPT 、CDPT

13 ,传统的Statistics Method 建模+树模型

14 ,Statistical features 构建源码分析

15 ,融合统计信息并使用Regression 模型解析

16 ,使用RoBERTa 模型解析

17 ,使用AutoModelForMaskedLM

18 ,TrainConfig 解析

19 ,模型的Tokenizer 解析

20 ,模型加载

21 ,对RoBERTa 进行pretrain 源码解析解决原声BERT 和比赛数据领域Discrepancy 的问题

22 ,Model weights 保存时的json 和bin 解析

23 ,使用Kaggle Notebook 加载第一次pretrain 后的模型

24 ,验证集:K-Fold 、Sampling 等分析

25 ,Early stoping 分析

26 ,把Examples 转为Features

27 ,DatasetRetriever 源码实现详解

28 ,Input IDs 、Attention Mask 、Token type IDs

28 ,CommonLitModel 源码之regressor 解析

30 ,CommonLitModel 源码之Loss 计算

31 ,CommonLitModel 源码之train 方法源码解析

32 ,finetuning 中的AutoModel

33 ,fineturning 完整源码解析

34 ,Local CV 解析

35 ,RoBERTa Base + RoBERT Large 结合

36 ,对不同子模型结果的处理

37 ,Classification 实现解析

38 ,通过Kaggle Kernel 对GPU 的使用

39 ,Submission 过程解析

40 ,为何比赛时不要私下共享数据?

41 ,kernel 赛能够在本地进行训练和微调,然后在上传到Kaggle 上吗?

42 ,如何在kaggle kernel 加载外部模型?

43 ,RobertaModel 提示not initialized 的情况下该如何处理?

44 ,kernel 无法提交应该如何处理?

45 ,提交后报错该如何处理?

46 ,CV 和公开榜单应该更加注重哪一个?

47 ,使用BERT 比赛的时候最重要的Hyper Parameter 是什么?

48 ,如何选择GPU 训练平台?

49 ,在Kaggle 上运行Notebook 的时候一直是等待状态该怎么处理?

50 ,在kernel 中如何运行脚本文件?

51 ,如何解决BERT 训练效果反复波动的情况?

52 ,为何看到的效果并不是最终的结果?

第17章: BERT CommonLit Readability Prize比赛技术进阶详解

1 ,Data Label based on pairwise comparisions between excerpts

2 ,Target 中数字为0 的原因解析

3 ,文本对比中的技巧

4 ,target 和std 构成联合信息

5 ,Coarse Validation Loop

6 ,private test set

7 ,Hold-out validation 、K-fold CV validation 、Bootstrap resampling

11 ,Diversity of models :RoBERTa 、BERT 、DistilRoBERTa 等联合使用

12 ,模型参数多样化:不同来源、不同层次的参数及Hyper parameters

13 ,多模型结合的training 和inference 时间复杂度分析

14 ,验证集pretraining 的意义分析

15 ,对embeddings 的size 的处理

16 ,FFN 代码分析

17 ,warmup 数学原理及实现剖析

18 ,learning rate scheduler 剖析

19 ,RoBERTa 模型参数结构详解

20 ,Data enhancement 解析和实现

21 ,外部数据集应该用在two-phase pretraining 的具体什么阶段?

22 ,多样性模型背后的数学原理机制深度剖析

23 ,多样性数据来源背后的数学原理剖析

24 ,多层次数据编码数学原理分析

25 ,One-hot 编码和Dense embeddings 的巧妙结合

26 ,对抗网络的使用分析

27 ,长文本处理技巧:head+tail

28 ,模型训练不收敛的解决技巧:动态learning rate

29 ,联合使用不同类别的预训练模型作为输入的Embedding 层来提高收敛速度及避免过拟合背后的数学原理剖析

30 ,为何concatenation 的embedding 很适合Classification 任务?

31 ,Trainable Parameters 开启与停止

32 ,Sentence vector :TFIDF 、监督任务、及SIF

33 ,Adversarial training :FGSM 产生Adversary examples 揭秘

34 ,为何Adversarial training 应用到NLP 文本到时候一般都是对Embedding 层进行Adversary 操作?背后的贝叶斯数学原理及神经网络工作机制

35 ,Adversarial training 的五步骤详解

36 ,Adversarial training 能够极大的提升NLP 效果的数学原理剖析

37 ,Adversarial training 及Adversarial example 在Readability Prize 比赛的应用

38 ,对每个Batch 进行Adversarial training 源码解析

39 ,Data augmentation 方法Easy Data Augmentation 解析及实现

40 ,基于BERT 模型生成高质量的增强数据

41 ,孪生网络的使用

42 ,Dynamic Padding 解析及源码实现

43 ,Uniform Length Batching 解析及源码实现

44 ,Gradient Accumulation 解析及源码实现

45 ,Freeze Embedding 解析及源码实现

46 ,Numeric Precision Reduction 解析及源码实现

47 ,Gradient Checkpoining 解析及源码实现

48 ,使用memory-profiler 来对进程及Python 内存使用逐行分析

49 ,使用subprocess 监视GPU 使用

50 ,Debiasiing Omission in BertADAM

51 ,Re-Initializing Transformer Layers

52 ,Utilizing Intermediate Layers

53 ,LLRD (Layer-wise Learning Rate Decay )

54 ,Mixout Regularization

55 ,Pre-trained Weight Decay

56 ,Stochastic Weight Averaging

57 ,将code 存储为dataset 存储来更好的使用Kaggle 的内存和计算资源

第18章:BERT CommonLit Readability Prize比赛中的高分思路及源码解析

1 ,Ensemble methods 解析

2 ,ML 中的机器学习:Bagging 、Boosting 、GBDT 等

3 ,Kaggle 比赛中的Ensemble methods :Vote 、Blend 、Stacking 等

4 ,为何Kaggle 竞赛中的Ensemble methods 会获得更好的精度?

5 ,Bagging ensemble method :row-based sampling 、column-based sampling 等

6 ,Bagging ensemble method 中的并行训练及预测

7 ,Boosting 串行训练多个模型:多错误样本权重调整、拟合误差

8 ,Blend 和Average :对结果基于精度进行加权求和

9 ,Stacking :out of fold 及交叉验证

10 ,模型和特征多样性

11 ,比赛对Bagging 的使用

12 ,比赛对Boosting 的使用

13 ,深度学习中的模型集成方法:Dropout

14 ,训练阶段调整句子顺序Flipping 操作

15 ,对Ensemble 进行Snapshot

16 ,Stochstic Weight Averaging 操作

17 ,Pseudo Label 解析:基于方差的标签构建

18 ,Kernel 赛Pseudo Label 和非Kernel 赛的Pseudo Lable

19 ,Pseudo Lable 实现四步骤详解

20 ,Knowlede distillation soft label

21 ,用于分类的network distillation :embedding layer 、transformer layer 、prediction layer

22 ,public LB 及private LB

23 ,借助Roberta-large+和训练集相同books 的外部数据集

24 ,使用Pooling 解析及代码实现解析

25 ,混合使用不同来源的特征工程结果进行集成

26 ,高分作品1 完整源码剖析

27 ,高分作品2 完整源码剖析

28 ,高分作品3 完整源码剖析

29 ,高分作品4 完整源码剖析

30 ,高分作品5 完整源码剖析

第19章:NLP阅读理解MRC(Machine Reading Comprehension)数学原理、技术本质及常见算法

1 ,以一篇119 个Words 的GRE(Graduate Record Examinations)文章及2 个相应的阅读理解题目为例来剖析阅读理解的过程及其背后的机制

2 ,MRC 在智能客服、机器问答、搜索引擎等等广泛应用背后的原因:规模化价值复制

3 ,信息的本质及信息理解的本质数学机制剖析

4 ,MRC 三元素:Question-Context-Answer 数学模型及技术本质剖析

5 ,MRC 的核心:Attention Computations

6 ,MRC 对信息理解三大层次解析及背后对应的数学模型

7 ,MRC 实现方法之传统特征工程解析

8 ,MRC 实现方法之深层语意图匹配解析

9 ,MRC 实现方式之神经网络及Attention 机制解析

10 ,MRC 数据之Single-Document 和Multiple-Document 解析

11 ,MRC 的四大核心任务之Cloze Tests 数据集、数学原理和技术本质剖析

12 ,MRC 的四大核心任务之Multiple Choice 数据集、数学原理和技术本质剖析

13 ,MRC 的四大核心任务之Span Extraction 数据集、数学原理和技术本质剖析

14 ,MRC 的四大核心任务之Free Anwering 数据集、数学原理和技术本质剖析

15 ,Cloze Tests 数据集分析:CNN&Daily Mail 、CBT 等

16 ,Multiple Choice 数据集分析:MC Test 、RACE 等

17 ,Span Extraction 数据集分析:SQuAD 、NewsQA 等

18 ,Free Answering 数据集分析:MS MARCO 、DuReader 等

19 ,MRC 的测试集解析:In-domain 、Over-sensitivity 、Over-stability 、Generalization 等

20 ,MRC 的可回答问题及无答案问题数学原理剖析及BERT 实现

21 ,MRC 的Feature extraction 数学原理及算法分析

22 ,传统Machine Learning Algorithms 对MRC 算法解析

23 ,BiDAF (Bi-Directional Attention Flow)下的MRC 算法解析

24 ,QANet 下的MRC 算法解析

25 ,Transformer 架构下的BERT 及ALBERT 下的MRC 解析

26 ,Transformer 架构下的XLNET 下的MRC 解析

第20章:MRC通用架构双线模型内核机制、数学原理、及组件内幕

1 ,双线模型架构解析:Multiple Encoders 、Interaction

2 ,双线模型中为何Interaction 环节是实现信息理解的关键?

3 ,双线模型底层数学原理剖析

4 ,Embeddings 下的One-hot Representation 及多层One-hot 机制解析

5 ,Embeddings 下的Word2vec 的CBOW 模型解析及源码实现

6 ,Embeddings 下的Word2vec 的Skipgram 模型解析及源码实现

7 ,MRC 下GloVe: Global Vectors for Word Representation 架构解析及源码实现

8 ,MRC 下解决一次多义Elmo 架构解析及源码实现

9 ,使用BERT 进行Embeddings 架构及最佳实践解析

10 ,Feature Extraction 下的CNN 模型解析及源码实现

11 ,Feature Extraction 下的RNN 模型解析及源码实现

12 ,Feature Extraction 下的Transformer Encoder 或者Decoder 的架构解析及源码实现

13 ,MRC 灵魂:Context-Question Interaction 及Question-Context Interaction

14 ,Answer Prediction 之Word Predictor 数学原理及源码实现剖析

15 ,Answer Prediction 之Option Predictor 数学原理及源码实现剖析

16 ,Answer Prediction 之Span Extractor 数学原理及源码实现剖析

17 ,Answer Prediction 之Answer Generator 数学原理及源码实现剖析

18 ,MRC 中的Negative Sampling 数学机制及具体实现

19 ,BERT 对MRC 中无答案问题处理剖析及实现

20 ,MRC on Knowledge Graph 解析

21 ,对MRC 进行Evaluation Metrics 之Accuracy 、Precision 、Recall 、F1 解析

22 ,对MRC 进行Evaluation Metrices 之Rouge-L 解析

23 ,对MRC 进行Evaluation Metrics 之BLEU 解析

24 ,提升MRC 能力的7 大方法详解

第21章:基于Bayesian Theory的MRC文本理解基础经典模型算法详解

1 ,Bayesian prior 在模型训练时候对Weight 控制、训练速度影响等功能详解

2 ,Bayesian prior 能够提供模型训练速度和质量的数学原理剖析

3 ,从Word2vec 走向GloVe :从Local 信息走向Global+Local 信息表示模式

4 ,GloVe 中的Vector 相关性算法

5 ,GloVe 的Co-occurrence matrix 解析

6 ,GloVe 的Loss 计算

7 ,神经网络表达信息的三大局限剖析

7 ,使用Convolutions 取代神经网络传统的matrix multiplication 操作

8 ,文本序列的Vector 表示及Convolutions 的天然契合点分析

9 ,Parameter sharing 背后的数学原理和工程的广泛应用

10 ,Vector 中的参数真的能够很好的表达信息吗?数学原理及工程实践

11 ,TextCNN 架构设计解析

12 ,CNN-rand 数学原理及工程实现

13 ,CNN-static 数学原理及工程实现

14 ,CNN-non-static 数学原理及工程实现

15 ,CNN-multiple channel 数学原理及工程实现

16 ,处理长短不一的Sentence

17 ,Kernel 设置的数学原理及最佳实践

18 ,传统模型Attention 实现本质:权重分配

19 ,通过Soft-Search 的方式来构建Attention 机制及数学原理剖析

20 ,KQV :Attention-based model based on weight allocation

21 ,Local-Attention 、Global-Attention 、Self-Attention 对比及最佳实践

22 ,基于一维匹配的Attentive Reader 架构及数学原理剖析

23 ,基于二维匹配的Impatient Reader 架构及数学原理剖析

24 ,Multi-Hop 机制多次提取更充足信息的Attention 实现剖析

25 ,Multi-Hop 机制多次提取更充足信息的TimeStep 状态推进剖析

26 ,Pointer network 和Attention 机制的对比

27 ,R-NET :借助pointer network 和使用gateway 机制的attention 实现

28 ,R-NET 的Encoding Layer 解析

29 ,R-NET 的Question-Passage Matching 解析

30 ,R-NET 的Passage Self-Matching 解析

31 ,R-NET 的Answer Prediction 解析

32 ,Fully-Aware Fusion Network 提出的MRC 的Fusion 层次划分解析

33 ,Fully-Aware Fusion Network 中的History-of-word 机制来更好的理解语意

34 ,Fully-Aware Fusion Network 的Attention 机制解析

35 ,Fully-Aware Fusion Network 的Encoding Layer :GloVe 、CoVe 、POS 、NER 等

36 ,Fully-Aware Fusion Network 的Multi-level Fusion 解析

37 ,Fully-Aware Fusion Network 的Fully-Aware Self-Boosted Fusion 解析

38 ,Fully-Aware Fusion Network 的Output layer 解析

39 ,QA-Net 的架构之Embedding Encoder Layer 解析

40 ,QA-Net 的架构之Context-Query Attention Layer 解析

41 ,QA-Net 的架构之Model Encoder Layer 解析

42 ,QA-Net 的架构之Output Layer 解析

第22章:揭秘针对Cloze Tests基于Attention机制的的MRC领域开山之作:Teaching Machines to Read and Comprehend架构设计及完整源码实现

1 ,对Text 提供精细化的语言理解能力和推理能力的MRC 为何需要Neural Networks 和Attention 机制的支持?

2 ,基于大规模训练数据集的集特征工程和分类于一体的深度学习MRC

3 ,数据集结构分析

4 ,Two-layer Deep LSTM Reader 的Input 和Output 分析

5 ,Two-layer Deep LSTM Reader 中article 和question 的Concatenation 操作

6 ,Two-layer Deep LSTM Reader 中的Embedding Layer 解析

7 ,具有Attention 功能的Two-layer Deep LSTM Reader 架构解析

8 ,Two-layer Deep LSTM Reader 的classification 解析

9 ,Attentive Reader 的Input 时候对Document 和Question 分别作LSTM 建模

10 ,Attentive Reader 使用加法操作实现Attention 机制进行Classification 操作

11 ,Impatient Reader 的Output 中的Attention 数学原理和操作解析

12 ,对模型复杂度及数据量的最佳实践思考

13 ,为何Attention 机制在阅读理解中是有效的?数学原理和工程实践

14 ,CNN Daily Mail 数据Padding 、Batch 等预处理操作

15 ,QADataset 完整源码解析

16 ,QAIterator 完整源码解析

17 ,Context 和Question 进行Concatenation 操作完整源码解析

18 ,Deep LSTM 中的Word Embedding Layer 实现

19 ,Deep LSTM 中的Contextual Embedding Layer 实现

20 ,Deep LSTM 中的Output Layer 实现

21 ,Deep LSTM 中的Dropout

22 ,Deep LSTM 中的Modeling Layer 源码实现

23 ,AttentiveReader 中的Word Embedding Layer 实现

24 ,AttentiveReader 中的Contextual Embedding Layer 实现

25 ,AttentiveReader 中的Modeling Layer 实现

26 ,AttentiveReader 中的Attention 机制实现

27 ,ImpatientReader 中的Embedding Layers 实现

28 ,ImpatientReader 中的Mdoeling Layer 实现

29 ,ImpatientReader 中的Attention 源码完整实现

30 ,training 方法的源码完整实现

31 ,对整个整个算法完整源码实现的调试及分析

第23章:MRC经典的Span Extraction模型Bi-DAF 算法架构、运行机制及数学原理

1 ,双向Attention Flow :Query2Context 、Context2Query 数学原理及工程实现

2 ,Bi-DAF 能够正式确立编码-交互-输出三层架构阅读理解模型背后的原因分析

3 ,Bi-DAF 模型本身的五层架构及其背后数学原理解析

4 ,不同粒度的多阶段Embeddings 层的架构设计和数学原理

5 ,Bonus :多阶段Embeddings 在智能对话信息表示中的应用剖析

6 ,Character Embedding 数学原理及Char-CNN 实现解析

7 ,Word Embedding 数学原理及GloVe 实现解析

8 ,双向LSTM 架构机制及数学原理剖析

9 ,使用Highway Network 解决梯度问题的数学原理及实现解析

10 ,组合Char embedding 和word embedding

11 ,Contextual Embedding 数学原理及实现解析

12 ,Bi-DAF 中的Context2Query 实现解析

13 ,Bi-DAF 中的Query2Context 实现解析

14 ,Trainable Matrix for attention mechanism

15 ,Modeling 层架构和数学原理剖析

15 ,输出层的Start index 计算数学原理解析

16 ,输出层的End index 计算数学原理解析

17 ,Training Loss 计算解析

18 ,参数设置

18 ,Bi-DAF 在信息抽取时候的Assumption 存在的问题分析

19 ,为何Bi-DAF 不擅长回答Why 类型的问题?如何改进?

第24章:基于SQuAD对Bi-DAF进行MRC源码完整实现、测试和调试

1 ,SQuAD 训练集和验证集数据分析及answer 的Index 机制分析

2 ,从JSON 文件中获取样本信息

3 ,Tokenization 代码实现

4 ,遍历处理data 中的paragraphs 下context 及qas

5 ,对data 中answer 的start index 、text 、end index 的处理及word 的处理

6 ,构建基于Batch 的Iterator

7 ,Padding 源码实现及测试

8 ,Character Embedding Layer 对Char 进行Vector 编码实现和测试

9 ,Word Embedding Layer 对word 进行Vector 编码实现及测试

10 ,dropout 操作

11 ,Convolutions 操作实现

12 ,Transformer 数据流源代码剖析

13 ,Concatenate Context 和Question 完整源码实现

14 ,通过基于ReLU 的highway network 来整合信息完整源码实现及测试

15 ,highway network 中的门控机制数学原理及其在AI 中的广泛应用

16 ,通过LSTM 对Contextual Embedding Layer 进行编码完整实现及测试

17 ,Context Matrix 和Question Matrix 可视化分析

18 ,attention flow layer 中相似矩阵S 的源码实现

19 ,Context2Query 完整源码实现及测试

20 ,Query2Context 完整源码实现及测试

21 ,attention flow layer 中信息前向和增强信息表示的G 的融合源码实现

22 ,Modeling Layer 完整源码实现调试分析

23 ,output layer 中p1 的计算实现

24 ,output layer 中p2 的计算实现

25 ,Cross Entropy Loss p1 的细节说明

26 ,在验证集上进行Test 源码完整实现

27 ,Mask 机制的具体作用剖析及调试分析

28 ,对Answer 进行Normalization 操作

29 ,EM (Exact Match) 数学公式解析及源码实现

30 ,F1 对MRC 的应用数学公式解析及源码实现

31 ,Evaluation 完整源码实现及调试

32 ,Soft Evaluation 的重大意义思考

33 ,Bi-DAF 全流程调试及深度分析

Original: https://blog.csdn.net/l_time/article/details/121307996
Author: l_time
Title: 基于Transformer的NLP智能对话机器人实战课程培训

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/531876/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球