目录
一、深度学习的局限性和大模型发展背景
二、大模型架构
1、多头自注意力机制
2、Transformer架构
三、常见大模型发展概况
1、语言大模型发展概况
掩码语言模型解释
因果语言模型解释
何时使用什么?
2、视觉-语言大模型
四、大模型的特点
1、大模型的扩展定理
2、大模型的涌现能力
以LLM的涌现能力为例
五、大模型存在的问题和发展趋势
1、亟待解决的问题
2、发展前景
一、深度学习的局限性和大模型发展背景
深度学习模型需要大量标记数据进行训练才能达到良好性能,然而手工标记数据耗时耗力,并且特定任务领域的数据往往比较稀缺,限制了深度学习模型的应用。此外,在有限的数据量下,当参数量增加时,模型容易出现过拟合问题,难以泛化到不同的任务领域。
为了减少数据集构建的工作量,提升模型的领域迁移能力,研究者提出使用基于大规模数据集训练的模型来处理不同的任务。预训练模型(Pretrained Model, PM)提供了一种基于预训练和微调的两阶段解决方案:在预训练阶段,模型从大规模无监督数据中学习领域知识;在微调阶段,只需要少量的标注数据,就可以将预训练阶段学到的领域知识转移到特定任务中,无需从头开始训练模型,也不需要耗费大量的时间和精力进行数据标注工作,从而提高模型的泛化能力。
预训练模型已经在计算机视觉和自然语言处理等方面展现出良好的性能。人工智能技术的三大要素包括数据、算法以及算力,这三者的有机结合共同构建了模型。近年来,传统的“特定任务特定模型”的构建模式逐渐被“一个大规模预训练模型适用于多个下游任务”的模式取代。在这种新模式中,大规模预训练模型也被简称为大模型。研究人员设计先进的算法,并借助海量算力和大规模计算系统的支持,为不同需求的用户训练大模型,以服务于各类人工智能应用。
二、大模型架构
1、多头自注意力机制
首先我们通过一个例子,来对 Self-Attention 有一个直观的认识。假如我们要翻译下面这个句子:
The animal didn’t cross the street because it was too tired.
这个句子中的 it 指的是什么?是指 animal 还是 street ?对人来说,这是一个简单的问题,但是算法来说却不那么简单。
当模型在处理 it 时,Self-Attention 机制使其能够将 it 和 animal 关联起来。
当模型处理每个词(输入序列中的每个位置)时,Self-Attention 机制使得模型不仅能够关注当前位置的词,而且能够关注句子中其他位置的词,从而可以更好地编码这个词。
下面是视觉-语言大模型中图像生成任务的一个例子。
假设我们输入有四个向量,这四个向量是有关系的,而如果我们将self-attention这个模块拿走,那么就相当于是把这四个输入当作毫无关系的向量进行处理然后得到四个输出。所以:self-attention这个模块的作用就是将这四个输入联系起来使我们的输出与这四个输入都有关。假如我们现在要做一个任务输入四张图片:content1,content2,style1,style2,我们想要得到一张包含图片content1,content2的内容同时它又符合图片style1,style2的图片风格的图片,那么我们此时就可以利用注意力机制来对四张图片做一个全方位的考虑,然后再将图片输出(当然,这里说的图片是经过编码后的向量)。
Multi-Head sdlf-attention(多头注意力机制)
普通的注意力机制是指将输入序列中的每个位置作为查询(query),并根据查询与其他位置的关联性(通过计算查询与键(key)之间的相似度)来加权求和其他位置的值(value)。这种方式可以捕捉输入序列内部的依赖关系,但对于长序列或大规模的任务可能存在计算上的困难。
多头注意力机制是对普通注意力机制的扩展,通过同时使用多个独立的注意力头来处理输入序列。每个注意力头都学习自己的查询、键和值的线性变换,然后进行独立的注意力计算。最后,多个注意力头的结果通过线性变换和拼接的方式组合起来得到最终的输出。多头注意力机制可以在保持计算效率的同时,提高模型的表达能力和泛化性能。
与普通注意力机制相比,多头注意力机制具有以下区别和优势:
并行计算:多头注意力可以并行地处理不同的注意力头,提高计算效率,特别是在GPU上的并行计算中。
组合性:通过线性变换和拼接多个注意力头的结果,模型可以融合多个不同角度的注意力表示,从而提供更丰富的信息。
表达能力:多头注意力可以捕捉不同的关注点和特征表示,提供更全面和多样化的模型表达能力。
鲁棒性:多头注意力可以减少单个注意力头的过拟合风险,通过多个头的共同学习和组合,提高模型的泛化性能。
综上所述,多头注意力机制通过引入多个独立的注意力头,同时进行并行计算和组合性的操作,提供了更强大的表达能力和泛化性能,适用于处理复杂的序列任务和大规模的数据。
原文链接:https://blog.csdn.net/qq_72354549/article/details/131015308
2、Transformer架构
首先,让我们先将 Transformer
模型视为一个黑盒,如图所示。在机器翻译任务中,将一种语言的一个句子作为输入,然后将其翻译成另一种语言的一个句子作为输出:
Transformer
本质上是一个 Encoder-Decoder
架构。因此中间部分的 Transformer
可以分为两个部分:编码组件和解码组件。
每个编码器由两个子层组成:
-
Self-Attention
层(自注意力层) -
Position-wise Feed Forward Network
(前馈网络,缩写为FFN
)
解码阶段的每个时间步都输出一个元素。
接下来会重复这个过程,直到输出一个结束符,表示 Transformer
解码器已完成其输出。每一步的输出都会在下一个时间步输入到下面的第一个解码器,解码器像编码器一样将解码结果显示出来。
解码器栈的输出是一个 float
向量。我们怎么把这个向量转换为一个词呢?通过一个线性层再加上一个Softmax
层实现。
现在假设我们的模型有 10000 个英文单词(模型的输出词汇表)。因此 logits 向量有 10000 个数字,每个数表示一个单词的分数。
然后,Softmax 层会把这些分数转换为概率(把所有的分数转换为正数,并且加起来等于 1)。最后选择最高概率所对应的单词,作为这个时间步的输出。
原文链接:https://blog.csdn.net/kaka0722ww/article/details/137586362
三、常见大模型发展概况
1、语言大模型发展概况
语言大模型(LLM)是指参数量在十亿及以上的大型预训练语言模型。在大规模文本语料数据库和自监督预训练技术的加持下,LLM显示了强大的通用语言表示能力,并且在解决复杂任务时展现出卓越的性能。
下面简单介绍语言大模型常用的两种预训练方案:即掩码语言建模(MLM)和因果语言建模(CLM)。
掩码语言模型解释
在屏蔽语言模型下,我们通常屏蔽给定句子中一定比例的单词,并且模型预计会根据该句子中的其他单词来预测这些屏蔽单词。这样的训练方案使得该模型本质上是双向的,因为掩码词的表示是根据左侧和右侧出现的单词来学习的。您还可以将其想象为填空式的问题陈述。
因果语言模型解释
因果语言模型。因果语言模型(causal language model),是跟掩码语言模型相对的语言模型,跟transformer机制中的decoder很相似,因果语言模型采用了对角掩蔽矩阵,使得每个token只能看到在它之前的token信息,而看不到在它之后的token,模型的训练目标是根据在这之前的token来预测下一个位置的token。通常是根据概率分布来计算词之间组合的出现概率,因果语言模型根据所有之前的token信息来预测当前时刻token,所以可以很直接地应用到文本生成任务中。可以理解为encoder-decoder的模型结果使用了完整的transformer结构,但是因果语言模型则只用到transformer的decoder结构(同时去掉transformer中间的encoder-decoder attention,因为没有encoder的结构)。
何时使用什么?
当目标是学习输入文档的良好表示时,MLM 损失是首选, 然而,当我们希望学习生成流畅文本的系统时,CLM 是首选。另外,直观上这是有道理的,因为在学习每个单词的良好输入表示时,您会想知道它出现在左侧和右侧的单词,而当您想学习生成文本的系统时,您只能看到什么到目前为止您所生成的所有内容(就像人类的书写方式一样)。因此,制作一个在生成文本时也可以查看另一侧的系统可能会引入偏差,从而限制模型的创造力。
原文链接:https://blog.csdn.net/sinat_37574187/article/details/131350296
2、视觉-语言大模型
视觉-语言大模型是指利用视觉和语言数据之间的跨模态交互,利用图像和文本之间的关联性,基于对比学习进行弱监督预训练,学习视觉的一般特征,然后将其转移到下游的分类、检索、目标检测、视频理解、视觉问答、图像描述和图像生成等视觉任务的大模型。在Transformer架构中,最小的特征单元是嵌入向量,这种特性使其非常适合处理多模态数据,因为嵌入层可以将任何模态的输入转换为嵌入向量。
视觉-语言大模型研究方兴未艾,还存在许多挑战和潜在的研究方向。Transformer的出现使得图像和文字可以通过相同的方式进行学习,若采用统一的Transformer架构同时处理图像和文字输入可以有效提升预训练的效率;目前大多数视觉-语言模型仅使用单一语言进行预训练,采用多种语言文本进行预训练可以提高模型在不同语言环境下的泛化性;此外,视觉语言模型的高效轻量化也是值得探索的方向。
四、大模型的特点
1、大模型的扩展定理
广泛的研究表明,扩展训练数据大小或模型大小可以很大程度上提高大模型的能力。语言大模型可以更好地根据上下文理解自然语言并生成高质量的文本。视觉大模型可以学习到通用的视觉表示并泛化到新的图像域。大模型这一能力提升可以部分通过扩展定律来描述,即模型性能大致随着模型大小、数据大小和总运算量的增加而提高。
然而,现实中的计算资源通常是有限的,研究者开始探索模型大小、数据大小和模型计算量之间的最佳配置关系。Hoffmann等提出了Chinchilla缩放定律,即当可用计算资源增加时,模型大小和数据量大小应当等比例增长。此外,预训练数据的质量极大影响大模型的性能,因此在扩展预训练数据库时,数据收集和清洗策略相当重要。
2、大模型的涌现能力
大模型的涌现能力是指在小模型中不存在但在大模型中出现的能力。即当模型规模超过某个阈值后才能被观测到的能力。这是区分大模型与以前的预训练模型最显著的特征之一。模型规模达到一定水平时,模型性能显著提高,类似于物理学中的相变现象,是一种量变引起质变的过程。
以LLM的涌现能力为例
上下文学习。上下文学习能力首先出现在GPT-3模型中。通过输入自然语言指令,GPT-3可以以完成输入文本的单词序列预测的方式生成期望的输出,无需额外的训练。
逐步推理。小语言模型通常难以解决涉及多个推理步骤的复杂任务,例如数学问题和代码生成。通过采用“思维链”推理策略[15],LLM可以利用包含中间推理步骤的提示机制解决这类任务,这种能力可能来自于对代码的训练。
合适的任务指令或上下文学习策略可以激发大模型的能力。例如,通过恰当的自然语言描述任务,对LLM进行指令微调,可以提高模型在新任务上的泛化能力;思维链提示有助于模型解决复杂的逻辑推理和数学运算任务。大模型表现出的涌现能力是其解决复杂任务的关键,也是实现通用统一模型的基础。
五、大模型存在的问题和发展趋势
1、亟待解决的问题
大模型采用深度神经网络架构,但其可解释性较差,难以对模型的训练过程和推理结果进行有效的跟踪和解释,在实际应用中面临安全问题,在可靠性要求较高的领域(如自动驾驶、AI医疗)存在巨大风险。此外,研究者对大模型的涌现能力产生机制仍不清楚。因此,关于大模型原理和能力的理论研究是一个重要方向,对大模型的实际应用和下一代大模型的发展至关重要。
随着大模型参数规模的不断增大,由模型规模带来的性能提升出现边际递减效应。此外,更大的模型导致了更高的训练成本,包括算力、数据和更加复杂的训练过程。因此,开发更系统、经济的预训练框架以优化大模型训练过程变得尤为重要。大模型训练过程需要考虑模型有效性、效率优化和训练稳定性等因素。此外,还需要更灵活的硬件支持和资源调度机制,以便更好地组织和利用计算集群中的资源。
大模型训练所需的大数据涉及隐私、伦理问题。例如,训练数据被篡改、破坏、泄露或非法获取,将会对公共安全和个人隐私造成严重损害。此外,训练数据中可能存在粗俗、暴力、色情等内容,导致大模型存在偏见问题。因此,大模型的安全和伦理问题也是一个相当重要的研究方向。
2、发展前景
大模型的发展为探索AI应用铺平了道路,揭示了许多前景并迎来了前所未有的机遇。大模型有可能引领未来几年的技术变革,带来新的产业格局。如图4所示,大模型在文本、代码和图像等领域已经得到广泛应用,开始取代文字编辑、记录等简单重复的工作岗位,辅助开发者编写程序,进行AI艺术创作等。在电子信息、生物医学等领域,大模型可以加快研究进程;大模型与传统产业的融合发展可以帮助企业提升智能化水平,推进实体经济智能化发展。
此外,大模型发展还将为具身智能带来变革。具身智能是有身体并支持物理交互的智能体,它能够像人一样与真实物理世界进行互动,并具备自主决策、规划和主动感知等能力。大模型可将多模态知识迁移至具身推理中,使机器人执行特定指令,真正具备具身智能。