文章目录
一、概念
- 最早的预训练语言模型(plms)是word2vec,现在的模型(gpt&bert)都是基于transformer
- 以下是一些常见的预训练语言模型分类:
-
基于Transformer的模型:
- BERT(Bidirectional Encoder Representations from Transformers):通过掩盖部分输入序列中的词汇,使模型学习双向上下文信息。
- GPT(Generative Pre-trained Transformer):采用单向的Transformer模型,通过自回归的方式生成文本。
- XLNet:结合了BERT和自回归模型的优点,采用了更复杂的自回归因果模型。
-
基于LSTM或GRU的模型:
- ELMo(Embeddings from Language Models):通过训练双向LSTM模型来生成上下文相关的词向量。
- ULMFiT(Universal Language Model Fine-tuning):基于AWD-LSTM架构,通过迁移学习和微调提高模型性能。
-
自注意力机制模型:
- Transformer-XL:基于自注意力机制的模型,具有更长的上下文记忆。
- BERT-family:包括BERT、RoBERTa、DistilBERT等不同变种,通过改进训练方式和模型结构提升性能。
-
双向模型和单向模型:
- 双向模型:如BERT、RoBERTa等,在训练过程中能够同时考虑前后文信息。
- 单向模型:如GPT、GPT-2等,采用自回归方式生成文本。
-
基于对抗训练的模型:
- ALBERT:通过对抗训练技术提高模型的泛化能力。
二、GPT
1、概念
GPT(Generative Pre-trained Transformer)是由OpenAI提出的基于Transformer架构的预训练语言模型。GPT模型的原理可以简单概括如下:
-
Transformer架构:GPT基于Transformer模型,Transformer是一种基于注意力机制的深度学习模型,能够捕捉输入序列中的长距离依赖关系。Transformer模型由多个编码器(Encoder)和解码器(Decoder)堆叠而成。
-
单向语言模型:GPT采用了单向语言建模的方式,在训练过程中,模型会根据前面的词预测下一个词,从而学习到文本序列中的语言规律和语义信息。
-
多层Transformer编码器:GPT由多个Transformer编码器组成,每个编码器包含多头自注意力机制和前馈神经网络层。通过堆叠多个编码器,模型可以学习到不同层次的语义表示。
-
位置编码:为了让模型能够理解输入序列中的位置信息,GPT使用位置编码来表示词的位置关系,将位置信息融入词向量中。
-
预训练和微调:GPT首先在大规模文本数据上进行预训练,学习通用的语言表示。然后可以针对特定任务进行微调,如文本生成、文本分类等。
-
自回归生成:GPT采用自回归生成的方式,在生成文本时,模型会逐步生成序列中的每个词,每次根据已生成的部分来预测下一个词。
2、自回归
自回归(Autoregression)是一种时间序列分析方法,用于预测时间序列数据中下一个时间点的值,基于过去时间点的观测值来预测未来值。在自回归模型中,当前时间点的观测值被认为是过去多个时间点的观测值的函数。
自回归模型的基本原理是利用时间序列数据的历史信息来预测未来的值,其中时间序列数据是按照时间顺序排列的一系列观测值。自回归模型假设时间序列数据之间存在某种自相关性,即当前时刻的值受过去时刻的值影响。
自回归模型通常用一个参数为p的滞后项(lag term)来表示过去p个时间点的观测值对当前时间点的影响,形式化表示为:
[ y t = c + ∑ i = 1 p ϕ i y t − i + ϵ t [ y_t = c + \sum_{i=1}^{p} \phi_i y_{t-i} + \epsilon_t [yt=c+∑i=1pϕiyt−i+ϵt]
其中:
- ( y t (y_t (yt) 表示时间点t的观测值;
- ( c (c (c) 是常数项;
- ( ϕ 1 , ϕ 2 , . . . , ϕ p (\phi_1, \phi_2, ..., \phi_p (ϕ1,ϕ2,...,ϕp) 是模型的参数,表示过去p个时间点的权重;
- ( ϵ t (\epsilon_t (ϵt) 是误差项。
在训练自回归模型时,通常会使用过去时间点的观测值作为特征,通过最小化预测值与实际值之间的误差来优化模型参数。自回归模型在时间序列数据分析、预测以及信号处理等领域有着广泛的应用,能够帮助理解时间序列数据的变化规律并进行未来值的预测。
3、zero-shot
-
gpt模型具有zero-shot的学习能力。
-
Zero-shot是一种机器学习和自然语言处理领域的术语,指的是在模型没有经过任务特定的微调的情况下,直接应用于新任务或新领域的能力。在zero-shot学习中,模型在只接受一种类型的输入(如文本、图像等)和一种类型的输出(如分类、生成等)的情况下,能够在未经过特定任务的训练的情况下执行该任务。
-
在自然语言处理领域中,zero-shot学习通常用于指代语言模型在没有针对特定任务进行微调的情况下,直接应用于新的任务或领域。这种能力的实现通常基于预训练语言模型,这些模型通过在大规模文本数据上进行预训练,学习到了通用的语言表示,使得在未经过微调的情况下也可以适应新任务。
-
举例来说,假设有一个预训练语言模型,经过在大规模文本数据上的预训练,该模型可以理解和生成文本。如果直接将这个模型应用于一个新的文本分类任务,而不对其进行特定任务的微调,如果模型能够在没有接受任何新标记数据的情况下准确分类新文本,则可以说这是一个zero-shot学习的例子。
-
Zero-shot学习的概念强调了模型在泛化和迁移能力上的重要性,即学习到的通用表示能力有助于模型在新任务上的表现,而无需针对每个任务都进行昂贵的微调。Zero-shot学习的研究和应用有助于推动自然语言处理领域的发展,提高模型的适应性和泛化能力。
三、bert
1、概念
BERT(Bidirectional Encoder Representations from Transformers)是由Google提出的一种基于Transformer架构的预训练语言模型。BERT模型在自然语言处理领域取得了巨大成功,被广泛应用于各种文本相关任务,如文本分类、命名实体识别、问答等。
以下是关于BERT模型的一些关键特点和工作原理:
-
Transformer架构:BERT基于Transformer模型,Transformer是一种基于自注意力机制的深度学习模型,能够捕捉输入序列中的长距离依赖关系。
-
双向上下文建模:与传统的单向语言模型不同,BERT采用了双向上下文建模的方式,利用了整个句子的上下文信息来学习词汇的表示。
-
预训练任务:BERT在预训练阶段采用了两个主要任务,分别是Masked Language Model(MLM)和Next Sentence Prediction(NSP)。MLM任务是通过随机掩盖输入文本中的部分词汇,让模型预测这些被掩盖的词汇;NSP任务是让模型判断两个句子是否是连续的。
-
多层Transformer编码器:BERT由多个Transformer编码器组成,包含多头自注意力机制和前馈神经网络层。通过堆叠多个编码器,模型可以学习到不同层次的语义表示。
-
微调任务:在实际应用中,可以通过在特定任务上进行微调,如文本分类、情感分析等,以适应特定领域或任务的需求。
-
BERT的变种:在BERT基础上,研究者们提出了许多改进版本和变种,如RoBERTa、DistilBERT、ALBERT等,通过改进训练方式和模型结构来提升性能和效率。
2、masked LM
Masked Language Model(MLM)是BERT(Bidirectional Encoder Representations from Transformers)模型中用于预训练的一种任务。在MLM任务中,模型需要学习在输入文本中随机掩盖(mask)部分词汇,然后预测这些被掩盖的词汇。
MLM任务的主要目的是让模型在理解和预测文本时,不仅考虑到词汇的上下文关系,同时也能够填补缺失的词汇,从而提高模型对语言的理解和生成能力。通过训练模型在MLM任务上,可以使模型学习到更好的语言表示,从而在各种文本相关任务中表现更好。
在BERT模型的预训练阶段,模型会随机掩盖输入文本中的一部分词汇,通常以一定的概率将这些词汇替换为特殊的“[MASK]”标记。然后,模型需要根据上下文中的其他词汇来预测这些被掩盖的词汇。这个预测任务可以使模型学会如何有效地利用上下文信息来填补缺失的词汇,从而提高模型的语言理解能力。
通过MLM任务的预训练,BERT模型能够学习到丰富的语言表示,包括词汇之间的语义关系、句子结构等,为各种自然语言处理任务提供了强大的基础。MLM任务是BERT模型成功的关键之一,也启发了后续许多预训练模型采用类似的掩盖预测任务来提升模型的泛化能力。
标签:BERT,Transformer,进阶,训练,模型,任务,LLM,文本 From: https://blog.csdn.net/ning_xiao_xuan/article/details/136571116