NLP BigModel

NLP 基础

建议看 [CS224N 2023]打基础
【NLP入门】1. n元语法模型 / 循环神经网络
【NLP入门】3. Word2Vec / GloVe

  • Language Model:语言模型的马尔可夫假设(每个词出现的概率仅依赖前面出现的词),是一个自回归模型(同decoder-only)。①根据前文预测下一个词是 w n w_n wn的条件概率 P ( w n ∣ w 1 , w 2 , . . . , w n − 1 ) P(w_n | w_1, w_2, ..., w_{n-1}) P(wnw1,w2,...,wn1),语言建模的能力,②预测一个word序列组成一句话的联合概率 P ( w 1 , w 2 , . . . , w n ) P(w_1, w_2, ..., w_n) P(w1,w2,...,wn),语言理解能力。
  • N-gram Model:将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列,对文本中长度为n序列进行统计。每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,列表中的每一种gram就是一个特征向量维度。该模型基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。但n-gram背后是one-hot思想,不同词的相似度为零,没有考虑同义词的文本相似度。
  • Vocabulary:word embedding时,根据词表,对见过的词进行编码映射为vector,未见过的词映射为UNK,为解决word-level的稀疏问题和词表无限问题(out of vocabulary),转而使用char-level但粒度太细,所以可以使用subword-level的编码(单词前后缀等)。但vocabulary embedding没有考虑句子中词间关系。
  • Word2Vec:word embedding时,将word映射到向量vector空间的预训练神经网络,文本相似度的word在特征空间中距离近。后面还要接LM做下游任务。
  • Pre-train Whole Model:预训练整个模型是一种将大型神经网络模型与大规模文本数据集一起进行训练的技术,直接统一了word embedding和down stream。
  • BigModel:大模型work的机理,Transfer Learning(无监督预训练+有监督微调)。
    NLP BigModel_第1张图片

NLP BigModel_第2张图片
NLP BigModel_第3张图片

Pretraining Language Model (PLM)

PLM主要分为两类:

  • Feature based 模型:预训练模型的输出作为下游任务的输入,如Word2Vec是第一个PLM。
  • Fine-tune based 模型:预训练模型就是下游任务模型,模型参数也会更新,就是Pre-train Whole Model,如GPT、BERT等。

语言预训练模型梳理: BERT & GPT & T5 & BART
总结从T5、GPT-3、Chinchilla、PaLM、LLaMA、Alpaca等近30个最新模型
[Transformer 101系列] 初探LLM基座模型-——encoder-only,encoder-decoder和decoder-only
[Transformer 101系列] ChatGPT是怎么炼成的?
[Transformer 101系列] 多模态的大一统之路

Fine-tune based 模型

NLP BigModel_第4张图片

NLP BigModel_第5张图片

对于 Fine-tune based 模型 代表性的主要是:

  • Encoder-only(Mask LM模型/双向理解,也叫Auto-Encoder):粉色分支,输出token都能看到所有输入token,采用掩码语言模型和下一句预测等任务进行预训练。如BERT,RoBERTa等。
  • Decoder-only(L2R LM模型/生成任务,也叫Auto-Regressive):蓝色分支,输出token都能看到所有输入token,采用生成式预训练。 如GPT系列,LLaMA,PaLM,OPT,LaMDA,CHINCHILLA,BLOOM等
  • Encoder-Decoder(Text2Text/MLM模型): 绿色分支,输出token都能看到所有输入token。如T5, BART,GLM等

NLP BigModel_第6张图片

NLP BigModel_第7张图片

NLP BigModel_第8张图片

GPT:12层的transformer decoder 自回归从左到右 做生成预训练,作为生成式模型。
GPT-2:增大了GPT模型参数量和预训练数据量,展现出zero-shot(只需要prompt就可处理未见过的数据)和in-context learning(给出示例就可照猫画虎)能力。
BERT:transformer encoder 双向mask 完形填空预训练Mask LM,增加CLS token用于下游任务。
T5:transformer encoder-decoder架构完成text2text完成MLM预训练。
BART:encoder-decoder架构,相比与T5采用了多种给文本加噪声预训练。

NLP BigModel_第9张图片

NLP BigModel_第10张图片

Encoder-only

Encoder-only架构的LLMs更擅长对文本内容进行分析、分类,包括情感分析,命名实体识别。这里以Bert为例子详细说明,roBerta是基于Bert进行了升级,比如扩大了batch size,在更大的数据上训练,消除了Bert的next-sentence prediction task训练方式。

NLP BigModel_第11张图片

Bert的预训练是基于next-sentence prediction taskmask language modeling

  • next-sentence prediction task是将原句子打乱成不同顺序的句子,让bert找出正确语序的原句。

  • mask language modeling则是在大量的文本语料库中将数据中的15%随机遮住mask,让Bert根据上下文内容来预测mask的内容。(80%时间用[MASK] token取代,10%时间用随机token,10%时间不变)

NLP BigModel_第12张图片

Decoder-only

Decoder主要是是为了预测下一个输出的内容/token是什么,并把之前输出的内容/token作为上下文学习。实际上,decoder-only模型在分析分类上也和encoder only的LLM一样有效。

Decoder-only的decoder层跟encoder相似,不过在位置position上用到了mask,使用了一种“掩码”技术,阻止模型关注位置 i 之后的位置,这意味着,在进行解码器的自注意力运算时,位置 i 的注意力分布(即注意力权重)只会在位置 i 及其之前的位置上,不会在位置 i 之后的位置上。这样,我们就可以确保位置 i 的输出只依赖于位置 i 之前的已知输出。

NLP BigModel_第13张图片

两种decoder预训练的方式:

  1. 通过训练自回归的最后一个token(自回归结构中只有最后一个位置才能得到所有输入的注意力汇聚),输入FC层做分类任务: y = A h T + b y = Ah_T+b y=AhT+b
    NLP BigModel_第14张图片
  2. 做一个天然的LM sequnec生成式预训练任务: w t = A h t − 1 + b w_t=Ah_{t-1}+b wt=Aht1+b

NLP BigModel_第15张图片

Encoder-Decoder

encoder-only就是所有输出token都能看到过去和未来的所有输入token,这个对于NLU任务天然友好,但是对于seq2seq任务,如机器翻译,这个结构就不是特别匹配,因为比较难直接用做翻译结果的生成。

一种直接的办法就是加上decoder做预测生成,这就形成了encoder-decoder架构。

NLP BigModel_第16张图片

这种架构的LLM通常充分利用了上面2种类型的优势,采用新的技术和架构调整来优化表现。Encoder即能享受双向context理解输入的内容NLU,又能用Decoder处理并生成内容NLG,尤其擅长处理输入和输出序列之间存在复杂映射关系的任务,以及捕捉两个序列中元素之间关系至关重要的任务。

NLP BigModel_第17张图片

  • decoder第一个MHA变成masked-MHA,使用的是前文casual的attention mask的方式,这样每个当前输出token只能看到过去生成的token
  • decoder新增第二个MHA,并且K和V来自于encoder的输出,这样就实现了看到原始输入的全文

至此我们可以梳理一下encoder-decoder的两种方式:
NLP BigModel_第18张图片

  • 两者分离,标准的原始结构。其中A和B用的是fully-visible的attention mask,C是casusal的attention mask
  • 两者融合,前半部分是fully-visible的,后半部分是casual的。其中D就是casual with prefix的attention mask。

Finetuning

大模型微调范式:
NLP BigModel_第19张图片

Prompt工程:

NLP BigModel_第20张图片

Lora微调:
NLP BigModel_第21张图片

RAG:业务拿到数据后,一边构建知识库,一边微调大模型:

NLP BigModel_第22张图片
NLP BigModel_第23张图片
审核系统:
NLP BigModel_第24张图片
智能纠错:

NLP BigModel_第25张图片
NLP BigModel_第26张图片

模型压缩加速:
NLP BigModel_第27张图片
模型量化:
NLP BigModel_第28张图片
NLP BigModel_第29张图片

你可能感兴趣的:(NLP,BigModel,自然语言处理,人工智能)