IDC资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回IDC资讯列表

[AI] A Comprehensive Review of Transformers: from BERT to ChatGPT(chatgpt transformer bert)

发布时间:2023-11-16

一、BERT、GPT和ChatGPT的背景介绍

A. BERT和GPT的简介

1. BERT的定义和利用领域

BERT(Bidirectional Encoder Representations from Transformers)是由Google开发的双向编码器模型,用于自然语言处理任务,如文本分类和命名实体辨认。它是基于Transformer架构的预训练模型,通过联合训练遮罩语言模型和句子关系判断任务得到。BERT通过模型的双向性能够更好地理解句子内部和句子之间的关系,使得模型在各种NLP任务中表现出色。

2. GPT的定义和利用领域

GPT(Generative Pre-trained Transformer)是一种生成性预训练模型,由OpenAI开发。GPT通过预训练和微调的方式,能够生成各种类型的文本,包括文章、对话和代码等。它采取了单向解码器的结构,主要通过自注意力机制学习句子内部的关系,能够生成联贯而语义准确的文本。

B. ChatGPT的特点及利用案例

1. ChatGPT的基本原理和特点

ChatGPT是由在GPT⑶.5的基础上进行微调得到的模型,利用大量的文本和代码进行训练。它的特点在于可以生成人类对话的响应,适用于聊天机器人等利用。ChatGPT通过输入一段话并生成联贯的回复,摹拟了人类对话的进程,使得聊天机器人更加智能化和自然。

2. ChatGPT的利用案例

ChatGPT在PFM利用中有着典型的利用案例。它利用了大量的本文和代码进行训练,可以生成与人类对话类似的响应。通过不断地与用户交互,并利用人类的反馈来提升模型的性能,使得聊天机器人具有更好的对话能力和用户体验。

二、BERT和GPT的区分及利用场景

A. 结构和学习方式的区分

1. BERT的双向编码器结构

BERT通过自注意力机制学习句子内部和句子之间的关系,具有双向性。它的结构适用于理解全部文本的语义,能够对全部句子进行编码和分析。

2. GPT的单向解码器结构

GPT通过自注意力机制学习句子内部的关系,具有单向性。它的结构适用于生成联贯和语义准确的文本,能够依照给定的上下文生成公道的句子。

B. 利用场景的差异

1. BERT的利用场景

BERT适用于文本分类、命名实体辨认、问答系统等需要对全部文本进行理解和分析的任务。它能够学习句子内部和句子之间的关系,从而对文本进行深入的推断和分类。

2. GPT的利用场景

GPT适用于文章生成、对话生成、代码生成等需要生成联贯和语义准确的文本的任务。它能够根据给定的上下文生成符合语法和文意的句子,具有很强的生成能力。

三、预训练大模型的发展演化和利用方向

A. 模型参数范围和训练数据量的增加

1. Transformer结构的提出和模型参数范围的突破

Transformer结构的提出使得深度学习模型参数突破了1亿的范围,为大范围预训练模型的发展奠定了基础。随着模型的迭代升级,模型参数范围不断增加,从而提高了模型的性能。

2. 引入大量训练数据的作用

大范围数据集的引入对训练大模型起到了相当重要的作用。通过利用大量的无监督数据进行预训练,可以提高模型的泛化能力和性能,使得模型在各种任务上表现出色。

B. 预训练大模型的利用方向

1. 提升模型记忆能力的方法

为了解决大模型的忘记问题,可使用RMT模型提升Transformer类模型的脑容量。这类方法能够在提升模型记忆能力的同时,不增加模型的内存需求,从而使得输入序列可以无穷长。

2. 对话系统和自动化任务的利用

利用Transformer类模型可以进行对话生成和任务自动化等利用。通过将预训练的大模型利用于聊天机器人和自动回复系统等任务,可以实现人工智能在对话交互和自动化任务中的利用。

四、总结

A. BERT、GPT和ChatGPT是预训练大模型的代表

B. 它们在结构、学习方式和利用场景上存在差异

C. 预训练大模型的发展演化和利用方向值得关注和研究

chatgpt transformer bert的进一步展开说明

基于变压器的综合评估:从BERT到ChatGPT

人工智能(Artificial Intelligence,AI)最近几年来成为热门话题之一,缘由很简单。得益于人工神经网络的发展,曾被认为纯洁是科幻小说情节的服务现在正在成为现实。从对话代理到媒体内容生成和编辑,人工智能正在改变我们与技术互动的方式。特别是在自然语言处理(Natural Language Processing,NLP)领域,机器学习(Machine Learning,ML)模型获得了显著的进展。其中一个关键突破是引入了“自注意力”和变压器架构用于序列处理,这解决了之前主导该领域的一些关键问题。

在本文中,我们将仔细研究革命性的变压器架构及其如何转变NLP领域,从引入迁移学习到成为行业和学术界标准的预训练变压器模型。我们还将全面评估从BERT到Alpaca的变压器模型,重点介绍每一个模型的关键特点和潜伏利用。

文本的BERT模型

第一部份专门介绍基于变压器编码器的模型,用于向量化、分类、序列标注、问答(Question Answering,QA)、实体辨认(Named Entity Recognition,NER)等任务。

BERT

Google / 2018

变压器编码器,词片断划分(30K辞汇)。输入嵌入由三个向量组成:标记向量、可训练位置向量和片断向量(第一段或第二段)。模型输入是CLS标记嵌入,第一段文本的嵌入和第二段文本的嵌入。

训练任务有两个:遮蔽语言建模(Masked Language Modeling,MLM)和下一个句子预测(Next Sentence Prediction,NSP)。在MLM中,静态遮蔽了15%的标记,其中80%被MASK标记替换,10%被随机标记替换,10%保持不变。模型预测正确的标记,并且损失仅计算在这15%的标记上。在NSP中,模型预测第二段文本会不会跟随第一段文本。预测是在CLS标记的输出向量上进行的。

为了加快训练速度,90%的时间,序列长度为128个标记,然后10%的时间,模型在512个标记上进行训练,以取得有效的位置嵌入。总共有16GB的训练数据。

RoBERTa

Facebook / 2019

一种改进的BERT模型,没有进行根本性的改变。它只在MLM上进行训练(NSP被认为不太有用),训练序列更长(但仍限制在512个标记之内)。采取动态遮蔽(即当相同数据再次处理时,会遮蔽区别的标记),并且具有更多的训练数据。全部训练超参数都经过精心选择。

XLM

Facebook / 2019

训练多语言模型的一种方法是使用区别的基础模型(目前最流行的模型是基于RoBERTa的XLM-R)。在最初的XLM中,所有语言共用一个BPE辞汇表。

训练任务有两个:MLM和翻译语言建模(Translate LM)。翻译语言建模与MLM本质上相同,只是文本是彼此的平行翻译,并使用随机遮蔽和片断嵌入编码语言。

Transformer-XL

卡耐基梅隆大学 / 2019

该模型专为处理长序列而设计,具有两个主要思想:分段的循环处理和相对位置编码。

长文本被分割成段,每次只处理一个段。同时,所有层中的前一段输出都会被缓存。在计算当前段中的自注意力时,键和值是基于当前段和前一段的输出计算的(它们只是简单地串连在一起)。梯度仅在当前段内活动。

这类方法没法使用绝对位置。通过将位置信息直接添加到自注意力中,而不是将位置向量添加到输入嵌入中,来实现此目的。为此,在模型中重新参数化了注意力权重的公式。绝对向量被基于标记位置之间距离的正弦值和一对对所有位置共有的可训练向量的值得到的固定矩阵所替换。

ERNIE

清华大学、华为 / 2019

将知识图谱中的命名实体信息嵌入到BERT中。输入由一组文本标记和一组实体标记(每一个标记代表全部实体)组成。文本标记由BERT编码。在BERT之上,有一组K编码器块(网络参数的3%)。在这些块中:

文本标记的更新向量和实体标记的原始向量首先分别通过自注意力处理;

将实体向量与它们在文本中首次出现的第一个标记进行匹配;

在一个带有GeLU激活函数的线性层中,它们一起用来取得文本标记的新隐藏表示(对具有实体向量的标记,基于两个向量,对其他标记,仅基于它们的向量);

从隐藏表示中取得新的文本和实体标记向量,并将其作为输入传递给下一个K编码器块。

在预训练中,有三个损失:MLM、NSP和基于标记的实体预测(类似去噪自编码器)。对后者:

在5%的情况下,实体被替换为毛病的实体,但匹配被保存,模型一定要预测正确的实体;

在15%的情况下,匹配被移除,模型一定要仅根据文本预测实体;

在其他情况下,提供全部信息。

预训练模型可以像常规BERT模型一样进行微调(有一个CLS标记)。为了肯定实体与其类型之间的关系,还建议采取额外的微调进程。

XLNet

卡耐基梅隆大学 / 2019

BERT训练进程存在问题:

训练进程中,梯度仅流经遮蔽的标记;

仅对个别标记进行遮蔽,一个被遮蔽的标记的预测不会影响其他标记的预测;

在实际利用中,模型在训练进程中并未主动看到MASK标记。

XLNet基于Transformer-XL,除置换语言建模(Permutation Language Modeling,PLM)任务以外,还建议在其短上下文中学习预测标记,而不是直接使用MASK。这可以确保梯度通过所有标记活动,并消除特殊遮蔽标记的需要。

上下文中的标记被洗牌(即第i个标记可以基于(i⑵)和(i+1)位置的标记进行预测),但它们的位置保持不变。这没法通过当前的位置编码(包括Transformer-XL)实现。在努力预测给定某个上下文中标记的几率时,模型不应当知道标记本身,但应当知道标记在上下文中的位置。为了解决这个问题,自注意力分为两个流:

在每一个标记位置上,有两个向量而不是一个:内容向量和查询向量。

内容向量包括有关标记的完全信息,查询向量仅包括位置信息。

这两个标记的向量都是基于上下文向量计算的,但是自注意力中的查询向量是使用先前的内容向量计算的,而内容向量是使用先前的查询向量计算的。

因此,查询向量不接收有关相应标记内容的信息,但了解上下文的全部信息,而内容向量则包括完全的信息。

在微调进程中,可以疏忽查询向量,模型将像常规Transformer-XL一样工作。

PLM要比MLM更具挑战性。在实践中,上下文一定要足够长,以便模型能够正确学习。它的学习数据量与RoBERTa相同,结果类似,但由于实现的复杂性,该模型并未像RoBERTa那样流行起来。

ALBERT

Google / 2019

一种试图简化BERT而不牺牲质量的方法:

在区别的编码器块中使用公共参数,并且已证明可以共享自注意力层的权重,而分离全连接层的权重会致使质量降落。

与BERT相比,使用较小的输入嵌入和较大的隐藏层向量。这可以通过在网络输入处使用额外的投影矩阵来实现,从而允许解耦嵌入大小和隐藏表示大小。

结果,该模型参数少了18倍,运行速度不错了1.7倍。

该模型在MLM和句子顺序预测(Sentence Order Prediction,SOP)上进行训练。在MLM中,不但遮蔽了单独的标记,还遮蔽了N-gram(BERT的一个限制)。使用XLNet和RoBERTa的数据集作为训练数据。

DistilBERT

Hugging Face / 2019

优化BERT的另外一种方法是蒸馏(distillation):

编码器块数量减半(每隔一个取一个)。

三个损失组成部份:MLM、平滑输出几率的交叉熵(由大型教师模型计算)和对应层输出之间的余弦距离。

结果,该模型比教师模型小40%,快60%,在各种任务中保存了97%的质量。

LaBSE

Google / 2023

基于BERT的多语言模型,用于句子向量化。首先,它在MLM和TLM(20%的标记被遮蔽)上进行训练,然后在近似平行翻译的向量上进行微调。该模型支持100多种语言,辞汇表包括50万个标记。

ELECTRA

Google, Stanford University / 2023

使用生成对抗方法加速BERT训练:

训练了两个类似BERT的模型:一个小型生成器和一个主要的辨别器。

生成器在MLM上进行训练,然后填充被遮蔽的标记。

辨别器的训练目标是预测由生成器生成的文本的原创性(取代标记检测任务)。

训练后,删除生成器,使用辨别器进行微调。

与MLM区别,梯度通过所有标记而不单单是遮蔽的标记活动。这些模型使用共享的嵌入权重。

训练数据量与RoBERTa或XLNet相同,并且该模型在更短的时间内学习到了与BERT、RoBERTa和ALBERT类似的质量。如果训练时间更长,性能会更好。

DeBERTa

Microsoft / 2023

另外一个模型,将标记向量的内容和位置份量分解为两个独立的向量(解耦注意力):

位置向量在所有层之间共享,是相对的,即每一个标记之间的距离都有一个位置向量。

为它们增加了两个新的权重矩阵K_pos和Q_pos(除现有的K_cont和Q_cont代表内容外)。

注意力权重的计算被修改并简化为三个乘积的和:Q_cont * K_cont + Q_cont * K_pos + K_cont * Q_pos(不包括转置)。

增强遮蔽解码器 – 在所有层之前的绝对位置嵌入上添加,在注意力中不太合适使用,但在预测标记时可能很有用。与ALBERT一样,使用投影矩阵来解耦嵌入大小和隐藏标记表示向量。

请注意,所有的改写都符合上述准则。

chatgpt transformer bert的常见问答Q&A

问题1:ChatGPT和BERT有甚么区分?

答案:ChatGPT和BERT是两个利用于自然语言处理任务的人工智能模型,它们之间有以下几个区分:

  • ChatGPT是一个生成型的Transformer模型,而BERT是一个双向的Transformer编码器模型。ChatGPT通过自注意力机制学习句子内部的关系和生成人类化的文本回复,而BERT通过双向的自注意力机制来捕捉文本的上下文信息。
  • ChatGPT主要用于生成性任务,如对话系统和文本生成。它可以根据输入生成联贯、有逻辑的文本回复。而BERT主要用于理解性任务,如文本分类和命名实体辨认。BERT可以根据输入的文本,对文本的语义进行编码和理解。
  • ChatGPT是由OpenAI开发的,其中的模型参数是通过在大量文本和代码上进行微调得到的。而BERT是由Google开发的,它的模型参数是通过大范围无监督预训练得到的。

问题2:ChatGPT和BERT分别适用于哪些利用方向?

答案:ChatGPT和BERT在利用方向上有所区别:

  • ChatGPT适用于生成性任务的利用方向,如对话系统、聊天机器人和文本生成。ChatGPT可以根据输入生成联贯、有逻辑的文本回复,使得对话更加自然流畅。
  • BERT适用于理解性任务的利用方向,如文本分类、命名实体辨认和自然语言推理。BERT可以对输入的文本进行编码,具有理解文本语义的能力,可以对各种自然语言处理任务进行有效建模。

TikTok千粉号购买平台:https://tiktokusername.com/