复试人工智能前沿概念总结

1.大模型相关概念(了解即可)

1.1 GPT

GPT,全称为Generative Pre-training Transformer,是OpenAI开发的一种基于Transformer的大规模自然语言生成模型。GPT模型采用了自监督学习的方式,首先在大量的无标签文本数据上进行预训练,然后在特定任务的数据上进行微调。

GPT模型的主要结构是一个多层的Transformer解码器,但是它只使用了Transformer解码器的部分,没有使用编码器-解码器的结构。此外,为了保证生成的文本在语法和语义上的连贯性,GPT模型采用了因果掩码(causal mask)或者叫自回归掩码(auto-regressive mask),这使得每个单词只能看到其前面的单词,而不能看到后面的单词。

在预训练(Pre-training)阶段,GPT模型使用了一个被称为"Masked Language Model"(MLM)的任务,也就是预测一个句子中被遮盖住的部分。预训练的目标是最大化句子中每个位置的单词的条件概率,这个概率由模型生成的分布和真实单词的分布之间的交叉熵来计算。

在微调(fine-tuning)阶段,GPT模型在特定任务的数据上进行训练,例如情感分类、问答等。微调的目标是最小化特定任务的损失函数,例如分类任务的交叉熵损失函数。

GPT模型的优点在于,由于其预训练-微调的训练策略,它可以有效地利用大量的无标签数据进行学习,并且可以轻松地适应各种不同的任务。此外,由于其基于Transformer的结构,它可以并行处理输入序列中的所有单词,比基于循环神经网络的模型更高效。

GPT演进了三个版本:

(1)GPT-1用的是自监督预训练+有监督微调,5G文档,1亿参数,这种两段式的语言模型,其能力还是比较单一,即翻译模型只能翻译,填空模型只能填空,摘要模型只能摘要等等,要在实际任务中使用,需要各自在各自的数据上做微调训练,这显然很不智能。

(2)GPT-2用的是纯自监督预训练,相对于GPT-1,它可以无监督学习,即可以从大量未标记的文本中学习语言模式,而无需人工标记的训练数据。这使得GPT-2在训练时更加灵活和高效。它引入了更多的任务进行预训练,40G文档,15亿参数,能在没有针对下游任务进行训练的条件下,就在下游任务上有很好的表现。

(3)GPT-3沿用了GPT-2的纯自监督预训练,但是数据大了好几个量级,570G文档,模型参数量为 1750 亿,GPT-3表现出了强大的零样本(zero-shot)和少样本(few-shot)学习能力。这意味着它可以在没有或只有极少示例的情况下,理解并完成新的任务,它能生成更连贯、自然和人性化的文本,理解文本、获取常识以及理解复杂概念等方面也比GPT-2表现得更好。

1.2.InstructGPT

GPT-3 虽然在各大 NLP 任务以及文本生成的能力上令人惊艳,但模型在实际应用中时长会暴露以下缺陷,很多时候,他并不按人类喜欢的表达方式去说话:

(1)提供无效回答:没有遵循用户的明确指示,答非所问。

(2)内容胡编乱造:纯粹根据文字概率分布虚构出不合理的内容。

(3)缺乏可解释性:人们很难理解模型是如何得出特定决策的,难以确信回答的准确性。

(4)内容偏见有害:模型从数据中获取偏见,导致不公平或不准确的预测。

(5)连续交互能力弱:长文本生成较弱,上下文无法做到连续。

在这个背景下,OpenAI 提出了一个概念“Alignment”,意思是模型输出与人类真实意图对齐,符合人类偏好。因此,为了让模型输出与用户意图更加 “align”,就有了 InstructGPT 这个工作。

InstructGPT相对于GPT的改进主要是使用了来自人类反馈的强化学习方案—— RLHF( Reinforcement Learning with human feedback)来微调 GPT-3,这种技术将人类的偏好作为激励信号来微调模型。

以摘要生成任务为例,详细展示如何基于人类反馈进行强化学习,最终训练完成得到 InstructGPT 模型。主要分为三步:

1. 收集人类反馈:使用初始化模型对一个样本生成多个不同摘要,人工对多个摘要按效果进行排序,得到一批排好序的摘要样本;

2. 训练奖励模型:使用第1步得到的样本集,训练一个模型,该模型输入为一篇文章和对应的一个摘要,模型输出为该摘要的得分;

3. 训练策略模型:使用初始化的策略模型生成一篇文章的摘要,然后使用奖励模型对该摘要打分,再使用打分值借助 PPO 算法重新优化策略模型

InstructGPT可以更好地理解用户意图,通过指令-回答对的数据集和指令-评价对的数据集,InstructGPT可以学习如何根据不同的指令生成更有用、更真实、更友好的输出。

1.3 ChatGPT(GPT3.5/GPT4.0)

ChatGPT由OpenAI公司在2022年11月30日发布。在同样由OpenAI开发的GPT-3.5模型基础上,ChatGPT通过无监督学习与强化学习技术进行微调,并提供了客户端界面,支持用户通过客户端与模型进行问答交互。ChatGPT不开源,但通过WebUI为用户提供免费的服务。

OpenAI没有公布ChatGPT的论文和相关的训练和技术细节(GPT-3.5没有开源),但根据OpenAI所言,ChatGPT相对于InstructGPT的主要改进在于收集标注数据的方法上,而整个训练过程没有什么区别,因此,可以推测ChatGPT的训练过程应该与InstructGPT的类似,大体上可分为3步:

1.预训练一个超大的语言模型;

2.收集人工打分数据,训练一个奖励模型;

3.使用强化学习方法微调优化语言模型。

相对于GPT-3,GPT-3.5拥有3个变体,每个变体有13亿、60亿和1750亿参数,当前ChatGPT提供了基于GPT-4的版本,相对于GPT-3.5,GPT-4模型据说有1万亿个参数,GPT4是一个多模态(multimodal)模型,即它可以接受图像和文本作为输入,并输出文本;而GPT3.5只能接受文本作为输入,并输出文本。这使得GPT4可以处理更复杂且具有视觉信息的任务,如图像描述、图像问答、图像到文本等。

1.4 Transformer

Transformer 是一种基于自注意力机制(self-attention mechanism)的深度学习模型,最初是为了处理序列到序列(sequence-to-sequence)的任务,比如机器翻译。由于其优秀的性能和灵活性,它现在被广泛应用于各种自然语言处理(NLP)任务。Transformer模型最初由Vaswani等人在2017年的论文"Attention is All You Need"中提出。

Transformer模型主要由以下几部分组成:

(1)自注意力机制(Self-Attention Mechanism)

自注意力机制是Transformer模型的核心。它允许模型在处理一个序列的时候,考虑序列中的所有单词,并根据它们的重要性给予不同的权重。这种机制使得模型能够捕获到一个序列中的长距离依赖关系。

(2)位置编码(Positional Encoding)

由于Transformer模型没有明确的处理序列顺序的机制,所以需要添加位置编码来提供序列中单词的位置信息。位置编码是一个向量,与输入单词的嵌入向量相加,然后输入到模型中。

(3)编码器和解码器(Encoder and Decoder)

Transformer模型由多层的编码器和解码器堆叠而成。编码器用于处理输入序列,解码器用于生成输出序列。编码器和解码器都由自注意力机制和前馈神经网络(Feed-Forward Neural Network)组成。

(4)多头注意力(Multi-Head Attention)

在处理自注意力时,Transformer模型并不只满足于一个注意力分布,而是产生多个注意力分布,这就是所谓的多头注意力。多头注意力可以让模型在多个不同的表示空间中学习输入序列的表示。

(5)前馈神经网络(Feed-Forward Neural Network)

在自注意力之后,Transformer模型会通过一个前馈神经网络来进一步处理序列。这个网络由两层全连接层和一个ReLU激活函数组成。

(6)残差连接和层归一化(Residual Connection and Layer Normalization)

Transformer模型中的每一个子层(自注意力和前馈神经网络)都有一个残差连接,并且其输出会通过层归一化。这有助于模型处理深度网络中常见的梯度消失和梯度爆炸问题。

左侧为 Encoder block,右侧为 Decoder block。红色圈中的部分为 Multi-Head Attention,是由多个 Self-Attention组成的,可以看到 Encoder block 包含一个 Multi-Head Attention,而 Decoder block 包含两个 Multi-Head Attention (其中有一个用到 Masked)。Multi-Head Attention 上方还包括一个 Add & Norm 层,Add 表示残差连接 (Residual Connection) 用于防止网络退化,Norm 表示 Layer Normalization,用于对每一层的激活值进行归一化。

Transformer模型的优点在于,它能够并行处理序列中的所有单词,这使得它在处理长序列时比循环神经网络(RNN)更高效。另外,自注意力机制使得模型能够捕获到序列中长距离的依赖关系,这是RNN难以做到的。

 1.5 大模型

有学者称之为“大规模预训练模型”(large pretrained language model),也有学者进一步提出”基础模型”(Foundation Models)的概念。

2021年8月,李飞飞、Percy Liang等百来位学者联名发布了文章:On the Opportunities and Risks of Foundation Models[1],提出“基础模型”(Foundation Models)的概念:基于自监督学习的模型在学习过程中会体现出来各个不同方面的能力,这些能力为下游的应用提供了动力和理论基础,称这些大模型为“基础模型”。

“小模型”:针对特定应用场景需求进行训练,能完成特定任务,但是换到另外一个应用场景中可能并不适用,需要重新训练(我们现在用的大多数模型都是这样)。这些模型训练基本是“手工作坊式”,并且模型训练需要大规模的标注数据,如果某些应用场景的数据量少,训练出的模型精度就会不理想。

“大模型”:在大规模无标注数据上进行训练,学习出一种特征和规则。基于大模型进行应用开发时,将大模型进行微调(在下游小规模有标注数据进行二次训练)或者不进行微调,就可以完成多个应用场景的任务,实现通用的智能能力。

人工智能的发展已经从“大炼模型”逐步迈向了“炼大模型”的阶段。ChatGPT只是一个起点,其背后的Foundation Module的长期价值更值得被期待。

大模型发展的前期被称为预训练模型,预训练技术的主要思想是迁移学习。当目标场景的数据不足时,首先在数据量庞大的公开数据集上训练模型,然后将其迁移到目标场景中,通过目标场景中的小数据集进行微调 ,使模型达到需要的性能 。在这一过程中,这种在公开数据集训练过的深层网络模型,被称为“预训练模型”。使用预训练模型很大程度上降低下游任务模型对标注数据数量的要求,从而可以很好地处理一些难以获得大量标注数据的新场景。

2018年出现的大规模自监督(self-supervised)神经网络是真正具有革命性的。这类模型的精髓是从自然语言句子中创造出一些预测任务来,比如预测下一个词或者预测被掩码(遮挡)词或短语。这时,大量高质量文本语料就意味着自动获得了海量的标注数据。让模型从自己的预测错误中学习10亿+次之后,它就慢慢积累很多语言和世界知识,这让模型在问答或者文本分类等更有意义的任务中也取得好的效果。没错,说的就是BERT 和GPT-3之类的大规模预训练语言模型,也就是我们说的大模型。

2022年8月,Google发表论文,重新探讨了模型效果与模型规模之间的关系。结论是:当模型规模达到某个阈值时,模型对某些问题的处理性能呈现快速增长。作者将这种现象称为Emergent Abilities,即涌现能力。

大模型的典型架构就是Transformer 架构,其自2018年开始统治NLP领域,NLP领域的进展迎来了井喷。为何预训练的transformer有如此威力?其中最重要的思想是attention,也就是前面提到过的注意力机制。就是句子中每个位置的表征(representation,一般是一个稠密向量)是通过其他位置的表征加权求和而得到。

为什么这么简单的结构和任务能取得如此威力?原因在其通用性。预测下一个单词这类任务简单且通用,以至于几乎所有形式的语言学和世界知识,从句子结构、词义引申、基本事实都能帮助这个任务取得更好的效果。大模型也在训练过程中学到了这些信息,让单个模型在接收少量的指令后就能解决各种不同的NLP问题。也许,大模型就是“大道至简”的最好诠释。

"大模型"通常是具有大量的参数,它们定义了模型的复杂性和学习能力。实现大模型主要涉及以下几个步骤:

(1) 模型架构设计:大模型通常具有更深的网络架构(更多的层)和/或更宽的层(更多的神经元)。这种设计可以使模型拥有更强大的表示能力,可以学习和记忆更复杂的模式,比如Transformer 架构。

(2) 数据准备:训练大模型需要大量的数据。这些数据为模型提供了学习的机会,使其能够捕捉到数据中的潜在模式。大量的训练数据也有助于防止模型过拟合,这是深度学习模型常常需要面临的问题。

(3) 计算资源:大模型需要大量的计算资源来进行训练,包括强大的GPU和足够的内存。大模型的训练通常需要并行化和分布式计算来处理大量的计算任务。

(4) 优化算法:训练大模型需要高效的优化算法。这些算法(如随机梯度下降及其变体)用于调整模型的参数以最小化预测错误。

(5) 正则化技术:大模型由于其复杂性,更容易过拟合训练数据。因此,训练大模型通常需要使用正则化技术(如权重衰减、dropout等)来防止过拟合。

(6) 模型并行和数据并行:由于大模型的规模,训练过程常常需要在多个GPU或者多个机器上进行。模型并行和数据并行是两种常用的策略,前者是将模型的不同部分分布在不同的设备上,后者是将数据分布在不同的设备上。

这些是实现大模型的一般步骤和要求。然而,这也带来了一些挑战,如计算资源的需求、训练时间的增加、过拟合的风险等。因此,选择合适的模型规模以平衡性能和效率是深度学习中的一个重要任务。

除了GPT-3、GPT-3.5及GPT-4,当前还有BERT、RoBERTa、T5、XLNet等大模型。这些模型都是由不同的公司和组织开发的,它们都有自己的优点和缺点。以下是这些模型的简要介绍:

(1)BERT:BERT是由Google开发的一种预训练语言模型,它在自然语言处理领域取得了很大的成功。BERT有340M和1.1B两个版本,其中1.1B版本有33亿个参数。

(2)RoBERTa:RoBERTa是Facebook AI Research开发的一种预训练语言模型,它在自然语言处理领域取得了很大的成功。RoBERTa有125M、250M、500M、1.5B和2.7B五个版本,其中2.7B版本有27亿个参数。

(3)T5:T5是由Google开发的一种预训练语言模型,它在自然语言处理领域取得了很大的成功。T5有11B和22B两个版本,其中22B版本有220亿个参数。

(4)XLNet:XLNet是由CMU和Google Brain开发的一种预训练语言模型,它在自然语言处理领域取得了很大的成功。XLNet有两个版本,分别为XLNet-Large和XLNet-Base,其中XLNet-Large有18亿个参数。

(5)GShard:GShard是由Google开发的一种预训练语言模型,它在自然语言处理领域取得了很大的成功。GShard有两个版本,分别为GShard-Large和GShard-Base,其中GShard-Large有6亿个参数。

(6)Switch Transformer:Switch Transformer是由CMU开发的一种预训练语言模型,它在自然语言处理领域取得了很大的成功。Switch Transformer有两个版本,分别为Switch Transformer-Large和Switch Transformer-Base,其中Switch Transformer-Large有1.6亿个参数。

1.6 AIGC(人工智能生成内容)

AIGC(Artificial Intelligence Generated Content / AI-Generated Content)中文译为人工智能生成内容,一般认为是相对于PCG(专业生成内容)、UCG(用户生成内容)而提出的概念。AIGC狭义概念是利用AI自动生成内容的生产方式。广义的AIGC可以看作是像人类一样具备生成创造能力的AI技术,即生成式AI,它可以基于训练数据和生成算法模型,自主生成创造新的文本、图像、音乐、视频、3D交互内容等各种形式的内容和数据,以及包括开启科学新发现、创造新的价值和意义等。

下面示例了AIGC能做的事情:

 AIGC技术中,耳熟能详的当属Transformer、GPT、Diffusion、CLIP、Stable Diffusion,下面简要介绍下Diffusion、CLIP、Stable Diffusion。

(1)Diffusion

“扩散” 来自一个物理现象:当我们把墨汁滴入水中,墨汁会均匀散开;这个过程一般不能逆转,但是 AI 可以做到。当墨汁刚滴入水中时,我们能区分哪里是墨哪里是水,信息是非常集中的;当墨汁扩散开来,墨和水就难分彼此了,信息是分散的。类比于图片,这个墨汁扩散的过程就是图片逐渐变成噪点的过程:从信息集中的图片变成信息分散、没有信息的噪点图很简单,逆转这个过程就需要 AI 的加持了。

研究人员对图片加噪点,让图片逐渐变成纯噪点图;再让 AI 学习这个过程的逆过程,也就是如何从一张噪点图得到一张有信息的高清图。这个模型就是 AI 绘画中各种算法,如Disco Diffusion、Stable Diffusion中的常客扩散模型(Diffusion Model)。

(2)CLIP( Contrastive Language-Image Pre-Training,大规模预训练图文表征模型)

如果让你把下面左侧三张图和右侧三句话配对,你可以轻松完成这个连线。但对 AI 来说,图片就是一系列像素点,文本就是一串字符,要完成这个工作可不简单。

 大规模预训练图文表征模型用4亿对来自网络的图文数据集,将文本作为图像标签,进行训练。一张图像和它对应的文本描述,希望通过对比学习,模型能够学习到文本-图像对的匹配关系。CLIP为CV研究者打开了一片非常非常广阔的天地,把自然语言级别的抽象概念带到计算机视觉里。

(3) Stable Diffusion

Diffusion算法针对任意噪声图片去噪后得到的图片是不可控的,如果让Diffusion算法能够接受文字的提示从而生成想要的图片,这就是当下AIGC的另一个大热点,AI绘画:只输入文字描述,即可自动生成各种图像,其核心算法-Stable Diffusion,就是上面提到的文字到图片的多模态算法CLIP和图像生成算法DIffusion的结合体,CLIP就是作为作为文字提示用的,进而对DIffusion施加影响生成所需的图片。

1.7 AGI(通用人工智能)

AGI 是 Artificial General Intelligence(通用人工智能)的缩写,它指的是一种理论上的形式的人工智能,具有全面理解、学习和应用知识的能力,与人类智能在各方面上都相当或者超越。这种类型的AI能够理解、学习和应用其在一个领域学到的知识到任何其他领域。(可能会提问AGI,AIGC,chatgpt之间的关系

通用人工智能与当前存在的人工智能(通常被称为弱人工智能或窄人工智能)有很大的不同。当前的AI系统通常在一个非常特定的任务或一组任务中表现出超人的性能,例如围棋、语言翻译、图像识别等,但它们缺乏在一个任务上学到的知识应用到其他任务的能力,也没有真正理解它们正在做什么的能力。

当前火热的GPT等大模型仍然是一种窄人工智能(Narrow AI)或特定人工智能(Specific AI)。它们被训练来执行特定的任务(在这种情况下是生成文本),而并不具有广泛的理解能力或适应新任务的能力,这是AGI的特征。

然而,GPT和AGI的关联在于,GPT是当前AI研究为实现AGI所做出的努力中的一部分。它表明了预训练模型的潜力,并给出了一种可能的路径,通过不断增加模型的规模和复杂性,可能会接近AGI。但是,这仍然是一个未解决的问题,并且需要更多的研究来确定这是否可行,以及如何安全有效地实现这一目标。

尽管GPT在生成文本上表现出了强大的性能,但它并不理解它正在说什么。GPT没有意识,也没有理解或意愿,它只是学会了模拟人类语言模式的统计模型。这是目前所有AI系统(包括GPT)与AGI之间的一个关键区别。

我们仍然远离实现通用人工智能。实现这个目标需要解决许多重大的科学和技术挑战,包括但不限于语义理解、共享和迁移学习、推理和规划,以及自我知觉和自我理解(此处可能会提问我们能不能实现通用人工智能,会面临什么挑战)

1.8 LLM(大型语言模型)

大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。它们在大量的文本数据上进行训练,可以执行广泛的任务,包括文本总结、翻译、情感分析等等。LLM的特点是规模庞大,包含数十、成百、上千亿的参数,这种模型可以捕获语言的复杂模式,包括句法、语义和一些上下文信息,从而生成连贯、有意义的文本。

GPT3、ChatGPT、BERT、T5、文心一言等都是典型的大型语言模型。

1.9 羊驼(Alpaca)

ChatGPT 大热,让人惊叹其强大的对话、上下文理解、代码生成等等能力,但另一方面由于 GPT-3以后得 系列模型 & ChatGPT 均未开源,再加上高昂的训练成本所构成的坚不可摧的护城河,让普通人 & 公司望而却步。

2023年3月,Meta开源了一个新的大模型系列 ——LLaMA(Large Language Model Meta AI),参数量从 70 亿到 650 亿不等。130 亿参数的 LLaMA 模型在大多数基准上可以胜过参数量达 1750 亿的 GPT-3,而且可以在单块 V100 GPU 上运行。

时隔几天,斯坦福基于 LLaMA 7B 微调出一个具有 70 亿参数的新模型 Alpaca,他们使用了 Self-Instruct 论文中介绍的技术生成了 52K 条指令数据,同时进行了一些修改,在初步的人类评估中,Alpaca 7B 模型在 Self-Instruct 指令评估上的表现类似于 text-davinci-003(GPT-3.5)模型。

然后,斯坦福学者联手 CMU、UC 伯克利等,再次推出一个全新模型 ——130 亿参数的 Vicuna,俗称「小羊驼」(骆马)。Vicuna 是通过在 ShareGPT 收集的用户共享对话上对 LLaMA 进行微调训练而来,训练成本近 300 美元。

研究人员设计了 8 个问题类别,包括数学、写作、编码,对 Vicuna-13B 与其他四个模型进行了性能测试。测试过程使用 GPT-4 作为评判标准,结果显示 Vicuna-13B 在超过 90% 的情况下实现了与 ChatGPT 和 Bard 相匹敌的能力。同时,在超过 90% 的情况下胜过了其他模型,如 LLaMA 和斯坦福的 Alpaca。

1.10 Fine-tuning(微调)

Fine-tuning(微调)是一种机器学习技术,用于调整已预训练的模型以适应新的任务。预训练的模型是在大量数据集(如整个互联网的文本)上训练的,并且已经学习了该数据的许多基本模式。然后,这些模型可以被微调,即在更小、特定的数据集上进行额外的训练,以适应特定的任务。

例如,你可以取一个已经在大量的英文文本上预训练的模型(这样它已经学会了英语的语法和许多词汇),然后在一个小的数据集上进行微调,这个数据集包含医学文本。微调后的模型将能更好地理解和生成医学相关的文本,因为它已经适应了这个特定的领域,前面提到的GPT-1就用到了微调技术。

微调的一个关键优势是,预训练的模型已经学习了许多有用的基本模式,因此只需要相对较小的数据集就可以对其进行微调。这样,微调可以更快、更有效地训练模型,尤其是在数据有限的情况下。

1.11自监督学习(Self-Supervised Learning)

自监督学习是从数据本身找标签来进行有监督学习。 无监督学习没有标拟合标签的过程,而是从数据分布的角度来构造损失函数。自监督学习的代表是语言模型,无监督的代表是聚类。自监督不需要额外提供label,只需要从数据本身进行构造。

这种方法的一个常见示例是预测文本中的下一个单词或缺失的单词。模型的输入可能是一个句子中的一部分,目标或标签是句子中的下一个单词或缺失的单词。通过这种方式,模型可以在大量未标记的文本数据上进行训练,并学习语言的语法和语义。

自监督学习的一个主要优点是可以利用大量的未标记数据进行训练。在许多情况下,获取未标记的数据要比获取标记的数据容易得多。例如,互联网上有大量的文本数据可以用来训练语言模型,但只有一小部分数据有人工标记。

虽然自监督学习可以学习数据的内在模式,但它可能需要额外的监督学习步骤(例如,fine-tuning)来执行特定的任务。例如,预训练的语言模型(如GPT-3)首先使用自监督学习来学习语言的模式,然后可以在特定任务的标记数据上进行微调。

1.12 自注意力机制(Self-Attention Mechanism)

自注意力机制,也被称为自我注意力或者是转换模型(Transformers)中的注意力机制,是一种捕获序列数据中不同位置之间相互依赖性的技术。这种机制使得模型可以在处理一个元素(例如一个词)时,考虑到序列中其他元素的信息。

在自注意力机制中,每一个输入元素(例如一个单词)都会被转换为三种向量:查询向量、键向量(Key vector)和值向量(Value vector)。在自注意力机制中,计算一个词的新表示的步骤如下:

(1)计算查询向量与所有键向量(即输入元素)的点积,以此来获取该词与其他词之间的相关性。

(2)将这些相关性得分经过softmax函数转化为权重,以此使得与当前词更相关的词获得更高的权重。

(3)用这些权重对值向量进行加权平均,得到的结果就是当前词的新表示。

举个例子,我们考虑英文句子 "I love my dog." 在自注意力机制处理后,每个词的新表示会是什么样的。我们将关注"I"这个词。

原始的词嵌入向量 "I" 可能只包含了 "I" 这个词本身的信息,比如它是一个代词,通常用于表示说话者自己等。但在自注意力机制处理后,"I" 的新表示将包含与其有关的上下文信息。比如在这个句子中,"I"后面跟着的是 "love my dog",所以新的表示可能会包含一些与“喜爱”和“狗”有关的信息。

通过这种方式,自注意力机制可以捕获到序列中长距离的依赖关系,而不仅仅是像循环神经网络(RNN)那样只能捕获相邻词之间的信息。这使得它在处理诸如机器翻译、文本生成等需要理解全局信息的任务中表现得尤为优秀。

1.13 中文LangChain

中文LangChain 开源项目最近很火,其是一个工具包,帮助把LLM和其他资源(比如你自己的领域资料)、计算能力结合起来,实现本地化知识库检索与智能答案生成。

LangChain的准备工作包括:

1、海量的本地领域知识库,知识库是由一段一段的文本构成的。

2、基于问题搜索知识库中文本的功能性语言模型。

3、基于问题与问题相关的知识库文本进行问答的对话式大语言模型,比如开源的chatglm、LLama、Bloom等等。

其主要工作思路如下:

1、把领域内容拆成一块块的小文件块、对块进行了Embedding后放入向量库索引 (为后面提供语义搜索做准备)。

2、搜索的时候把Query进行Embedding后通过语义检索找到最相似的K个Docs。

3、把相关的Docs组装成Prompt的Context,基于相关内容进行QA,让chatglm等进行In Context Learning,用人话回答问题。

2. OpenAI Sora

2.1 Soar 简介

2024/02/15,OpenAI发布了王炸级别Sora

Sora可以根据文字描述生成长达60s的视频,画面非常流畅,真实度很高。一下子在国内互联网炸开了锅,得到了广泛的传播。目前Sora生成视频的质量基本上秒杀了市面上所有的文字生成视频的产品。对比其他产品,Pika是3秒,Runway是4秒,Sora生成的视频是60秒,简直就是秒杀,而且生成的分辨率也非常高,几乎可以做到以假乱真。Sora注定会像ChatGPT一样,成为一个颠覆很多行业的产品。

2.2 Soar原理

Sora是一个在不同时长、分辨率和宽高比的视频及图像上训练而成的扩展模型,同时采用了Transformer架构,也就是一种扩散型Transformer。

简单来说,Soar整合了自家的GPT和DALL-E模型。其中,GPT-4就是基于Transformer架构的大型神经网络,目前是最强大的大预言模型。而最新的DALL-E3是基于文本提示生成图像的图像生成模型。

关于具体技术细节,官方报告简单提出了以下6点:

视觉数据的补片化
在具体操作中,模型先将视频压缩到低维潜空间中,然后将它们表示分解为时空补片,从而将视频转换为补片。

视频压缩网络技术
降低视觉数据维度,输入视频,输出时空上压缩的潜表示。OpenAI为此训练了一个专门的解码器。

时空补片技术
给定一个压缩的输入视频,模型提取一系列时空补片,充当Transformer的token。基于补片的表示,Sora就够对不同分辨率、持续时间和长宽比的视频和图像进行训练。这种技术就类似于目前很多手机看视频都在使用的动态插帧技术一样。

扩展Transformer
OpenAI发现,扩散型Transformer不仅可以用在ChatGPT的文本生成领域,同样能在视频模型领域中完成高效扩展。

视频多样化
相比较其他的文字生成视频技术,OpenAI是在直接视频数据的原始尺寸上进行了训练。所以Sora就可以不同分辨率、时长、宽高比的视频,这一点也是其他的产品无法比拟的。

语言理解
毋庸置疑,ChatGPT Plus是目前市面上最为强大的大预言模型。OpenAI也用GPT来将用户简短的提示转换为更长的详细说明,然后发送给Sora。Sora的文字理解能力也表现得非常出色。

2.3 Sora 视频案例

原始提示词

A stylish woman walks down a Tokyo street filled with warm glowing neon and animated city signage. She wears a black leather jacket, a long red dress, and black boots, and carries a black purse. She wears sunglasses and red lipstick. She walks confidently and casually. The street is damp and reflective, creating a mirror effect of the colorful lights. Many pedestrians walk about.

对应效果是:

 2.4 Sora的视频特点

高质量的视觉呈现

Sora模型升级和训练解决了很大一部分物理逻辑问题,能够理解和模拟现实中的运动。Sora生成的视频不仅完整清晰,更不会给人以现实的突兀感,几乎可以和专业人士花费大量时间制作的专业视频相媲美了。

时长一分钟

其他AI视频工具像Runway、Pika、Domo AI生成的视频时长很短,只有5秒左右,给人的感觉其实就是一个GIF的动图。而Sora生成的视频是60秒。其中的视频画面是一直保持动态,并且有交互过程。这些是其他的视频工具无论是时长还是质量上都无法超越的。

多角度视觉呈现

通过前面的示例视频也可以发现Sora可以生成多种角度的视频,包括特写、远景、航拍、拉远、推进等等角度。

就算是旋转镜头,也能保持视觉主体的稳定与清晰,完全可以和高质量的CG作品比拼了。

真实的画面感
其他AI视频工具像Runway、Pika、Domo AI生成的视频很容易辨别出来时AI画作的,无论是镜头语言还是整个画面的色彩丰富度基本上都是保持不变的,这也就是我们常说的AI味。Sora模拟呈现的镜头感非常真实,并不会随着元素的运动而混乱或丢失。在某些情况下甚至可以达到以假乱真的地步。

精准的文本理解

Sora使用了DALL·E 3中的重新标注技术,准备了大量带有文本标题的视频数据,通过训练一个高度描述性的标题模型,为所有视频生成文本标题,来提高文本准确性,改善了视频质量。同时,Sora利用GPT将用户简短的提示转化为更长、更详细的标题,指导视频的生成过程,从而使Sora能够生成高质量的视频,并准确地遵循用户的指示。

其他模型在这块做得不够好,所以是通过图片合成视频。并且其他的模型也没有OpenAI在ChatGPT的大预言模型方便的强大的技术实力,所以如果需要生成令人满意的视频,需要花费大量的时间和精力去矫正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/440724.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣hot100题解(python版55-59题)

55、全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输入&…

论文研读笔记1:

1.Improving Domain-Adapted Sentiment Classification by Deep Adversarial Mutual Learning: 1.1本篇论文提出了一种名为深度对抗性互学习(Deep Adversarial Mutual Learning, DAML)的新方法,用于改进领域适应性情感分类。 对…

使用 Cypress 进行可视化回归测试:一种务实的方法

每次组件库 Picasso 发布新版本时,都会更新所有的前端应用程序,让绝大部分新功能能与整个平台的设计保持一致。上个月,推出了 Toptal Talent Portal 的 Picasso 更新,这是我们的用户用来找工作和与客户互动的平台。 已知了这个版本…

C++指针(四)万字图文详解!

个人主页:PingdiGuo_guo 收录专栏:C干货专栏 前言 相关文章:C指针(一)、C指针(二)、C指针(三) 本篇博客是介绍函数指针、函数指针数组、回调函数、指针函数的。 点赞破六…

结构体和malloc学习笔记

结构体学习: 为什么会出现结构体: 为了表示一些复杂的数据,而普通的基本类型变量无法满足要求; 定义: 结构体是用户根据实际需要自己定义的符合数类型; 如何使用结构体: //定义结构体 struc…

【工具】Raycast – Mac提效工具

引入 以前看到同事们锁屏的时候,不知按了什么键,直接调出这个框,然后输入lock屏幕就锁了。 跟我习惯的按Mac开机键不大一样。个人觉得还是蛮炫酷的~ 调研 但是由于之前比较繁忙,这件事其实都忘的差不多了&#xff0…

C++ · 代码笔记4 ·继承与派生

目录 前言010继承与派生简单例程020多级继承030使用using关键词更改访问权限040隐藏050派生类与基类成员函数同名时不构成重载060使用多级继承展示成员变量在内存中的分布情况071派生类在函数头调用基类构造函数072构造函数调用顺序080构造函数与析构函数的调用顺序091多重继承…

【常见集合】Java 常见集合重点解析

Java 常见集合重点解析 1. 什么是算法时间复杂度? 时间复杂度表示了算法的 执行时间 和 数据规模 之间的增长关系; 什么是算法的空间复杂度? 表示了算法占用的额外 存储空间 与 数据规模 之间的增长关系; 常见的复杂度&#x…

超实用的公众号搭建教程分享,纯干货

微信公众号已经成为了企业、个人和品牌进行宣传和互动的重要平台。在这个拥有海量公众号的时代,如何让你的公众号脱颖而出,吸引更多的关注者,实现有效传播呢?接下来,伯乐网络传媒将为你详细解析公众号搭建教程&#xf…

便捷在线导入:完整Axure元件库集合,让你的设计更高效!

Axure元件库包含基本的工具组件,可以使原型绘制节省大量的重复工作,保持整个设计页面的一致性和标准化,同时显得专业。Axure元件库就像我们日常生活中的门把手、自行车踏板和桌子上的螺丝钉,需要组装才能使用。作为一名成熟的产品…

信息安全管理与评估DCST-6000B-Pro神州数码堡垒机沙箱连接教程

信息安全管理与评估DCST-6000B-Pro神州数码堡垒机沙箱连接教程 一、前言 在全国职业院校技能大赛-信息安全管理与评估赛项中,我们会用到DCST-6000B-Pro神州数码堡垒机沙箱,简称堡垒机, 很多院校并没有购买该设备,导致备赛学生可…

阿珊详解Vue Router的守卫机制

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

安全防御第七次实验

需求:在FW7和FW8之间建立一条IPSEC通道保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 一、NAT配置 FW4: FW6: 二、在FW4上做服务器映射 三、配置IPSEC FW5: FW6: 四、防火墙上的安全策略 FW4: FW5:…

spring cloud 之 Netflix Eureka

1、Eureka 简介 Eureka是Spring Cloud Netflix 微服务套件中的一个服务发现组件,本质上是一个基于REST的服务,主要用于AWS云来定位服务以实现中间层服务的负载均衡和故障转移,它的设计理念就是“注册中心”。 你可以认为它是一个存储服务地址信息的大本…

Androidstudio实现登录按钮按下变色

在activity_main.xml中&#xff0c;写如下代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"androi…

禁止使用搜索引擎,你了解吗?

员工A&#xff1a;“我今天想搜索的时候&#xff0c;用不了浏览器了&#xff0c;你能用么&#xff1f;” 员工B&#xff1a;“不知道啊我试一下啊” “也不行” 员工C&#xff1a;“为什么啊&#xff1f;” 针对上述对话&#xff0c;我们不禁思考&#xff1a; 公司为什么禁…

2023最新群智能优化算法:巨型犰狳优化算法(Giant Armadillo Optimization,GAO)求解23个基准函数(提供MATLAB代码)

一、巨型犰狳优化算法 巨型犰狳优化算法&#xff08;Giant Armadillo Optimization&#xff0c;GAO&#xff09;由Omar Alsayyed等人于2023年提出&#xff0c;该算法模仿了巨型犰狳在野外的自然行为。GAO设计的基本灵感来自巨型犰狳向猎物位置移动和挖掘白蚁丘的狩猎策略。GAO…

Spring Boot中SQL语句报错

报错原因&#xff1a; You have an error in your SQL syntax 你的SQL语句出现错误 报错位置&#xff1a; check the manual that corresponds to your MySQL server version for the right syntax to use near :/sql/schema.sql.t_film at line 1 在:/sql/schema.sql附近使用…

前端使用Ant Design中的Modal框实现长按顶部拖动弹框需求

需求&#xff1a;需要Ant Design中的一个Modal弹框&#xff0c;并且可以让用户按住顶部实现拖动操作 实现&#xff1a;在Ant Design的Modal框的基础上&#xff0c;在title中添加一个onMouseDown去记录拖拽的坐标&#xff0c;然后将其赋值给Modal的style属性 代码部分&#xff…

20 卷积层里的填充和步幅【李沐动手学深度学习v2课程笔记】

1. 填充和步幅 在上下左右分别填充一些0 2. 代码实现 2.1 填充 我们创建一个高度和宽度为3的二维卷积层&#xff0c;并在所有侧边填充1个像素。给定高度和宽度为8的输入&#xff0c;则输出的高度和宽度也是8。 import torch from torch import nn# 为了方便起见&#xff0c;…