12. 大模型理论基础_第1页
12. 大模型理论基础_第2页
12. 大模型理论基础_第3页
12. 大模型理论基础_第4页
12. 大模型理论基础_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能通识基础——大模型理论基础目录大模型的基本概念大模型的训练和优化大模型的微调和提示词典型大模型应用123401大模型的基本概念大模型是指具有庞大参数规模(数亿甚至万亿)和极高复杂程度的机器学习或深度学习模型。巨大的规模涌现能力性能和泛化能力多任务学习大数据训练强大的计算资源自监督学习迁移学习和预训练领域知识融合自动化和效率大模型是通过“大数据+大算力+强算法”相结合来模拟人类思维和创造力的人工智能算法大模型发展主要经历了三个阶段,分别是萌芽期、探索沉淀期和迅猛发展期以CNN为代表的传统神经网络模型阶段以Transformer为代表的全新神经网络模型阶段以GPT为代表的预训练大模型阶段迅猛发展期(2020年-至今)探索沉淀期(2006年-2019年)萌芽期(1950年-2005年)不断进化的大模型家族大模型一直在快速进化,目前已形成包括各参数规模、各种技术架构、各种模态、场景的大模型家族。注意力机制(AttentionMechanism)可以捕捉序列中各个元素之间的依赖关系。o

大模型基本结构:编码器-解码器结构o

编码器先将输入的数据编码成

一个特征,然后利用这个特征

生成输出。GPTTransformer解码器样式解码器结构-GPT家族GPTsoftmaxDogslikeballs<EOS>balls0.1Dogs0.8like0.0……<EOS>0.0maxmaxmaxmaxballs0.1Dogs0.0like0.8……<EOS>0.0balls0.1Dogs0.0like0.0……<EOS>0.8balls0.1Dogs0.8like0.0……<EOS>0.0自回归机制会首先基于句子的起始部分“[CLS]Dogs

like”进行分

析,模型会利用其内部学习到的语言结构和上下文关系知识,计算出现在这个位置最合理的

下一个词的概率分布。自回归预训练同理02大模型的训练和优化训练数据准备—数据获取1.文本数据来源o

通用文本:来源:包括在线论坛、社交媒体、新闻、博客、书籍、期刊等主题:涵盖社会、科技、娱乐、健康等表达:囊括不同人群、地区和文化背景的表达方式主要来源:网页数据、对话数据、书籍数据训练数据准备—数据获取1.文本数据来源o

专业文本:数据占比较低包含大量专业术语以及特定的语法句式主要来源:科学文本数据、行业专业文本、代码文本训练数据准备—数据预处理低质去除:l

目标:去除那些质量较差,以及不符合标准的文本数据l

基于分类器的方法:使用一组精选的文本(包括维基百科、书籍等),训练一个分类器用于判断文本的质量,将与训练数据类似的数据给定较高的分数。利用该分类器评估数据的内容质量l

基于启发式的方法:自定义规则,对数据进行筛选冗余去除:l

目标:去除文本数据中的冗余信息,精简数据集,防止模型在预测时陷入重复循环l

句子级别:构建过滤方法,识别重复句子l

段落或者文档级别:基于文本之间的特征相似度来进行冗余去除隐私去除:l

目标:删除或替换文本数据中个人姓名、电话号码、电子邮件地址等敏感信息l

基于规则的算法1.文本数据预处理训练数据准备—数据预处理o

词元划分:

l

目标:将连续的文本划分为有意义的词元(tokens)o

词粒度划分:将连续文本以单词为基本单元进行划分

o

缺点:l

只能处理预先定义的词表内的词l

词表中可能存在常委分布,使得模型对稀有词的理解不佳l

对于英语等语言,无法正确处理不同时态的单词o

字符划分:将字符视为词元来构建词表

o

缺点:l

字符作为词元的语义表达不足l

一个单词需要由多个字符来表示,计算成本增加o

子词划分:基于某种规则对单词进行拆分,高频词保持原状,将低频词拆分成子词例如,对于单词token不进行拆分,对于单词tokenization则拆分为token和ization。常见的方法:Byte-PairEncoding(BPE)、WordPiece、UnigramLanguageModel(ULM)1.文本数据预处理o

冗余去除:l

目标:度量图像之间的相似度,去除数据集中内容相似的图像l

基于直方图的方法:对于RGB图像,计算三个颜色通道的灰度直方图,使用某种距离或者相似度度量方法来比较图像的直方图l

基于哈希值的方法:将图像转换为一个固定长度的二进制字符串(哈希值),并且认为相似的图像会有相似的哈希值,包括:均值哈希、感知哈希和差值哈希

00000000001100000011000000100000011100000010000000110000011100000030302070203070(2进制转16进制)2.点云数据预处理o

去噪:l

去除采集到的点云的噪声。o

配准:l

将来自不同视角或传感器的点云数据进行对齐。o

补全:l

补全由于遮挡或者设备限制等原因得到的缺失点云。o

基于预定规则的方法:l

事先定义好一些规则或变换方式,通常可分为单样本数据增强和多样本数据增强l

单样本数据增强:进行数据增强时仅围绕当前样本进行各种变换l

多样本数据增强:使用多个样本来生成新的样本o

基于无监督的方法:l

生成新样本:使用预训练的生成模型,例如对抗生成网络,生成与输入分布一致的图像l

学习增强策略:自动学习数据增强的策略,该类方法能够推荐应该使用何种数据增强、推荐的数据增强方法的使用概率以及数据增强方法的超参数图像数据增强CutMixMixUpMosaic点云数据增强对包围框内的物体进行旋转和缩放o

SQuAD:l

用于机器阅读理解任务,从维基百科中选取了一系列文章段落,涉及历史、科学、人文等不同主题和领域。针对这些段落,创建了问题和与之相关的答案o

WMT:

l用于机器翻译任务,包含源语言和目标语言的句子对,涵盖主流的国际用语:中英、英法等,以及一些小语种的翻译o

ScanNet:l

大规模室内场景三维扫描数据集,包含从多种室内场景中采集的三维扫描数据,包括住宅、办公室、商店等,该数据集提供了多种类型的数据,包括RGB图像、深度图像和三维点云o

KITTI:

l

用于自动驾驶和计算机视觉研究的开源数据集,数据集创建团队使用了一辆搭载了激光雷达、相机、惯性测量单元等多种传感器的车辆进行数据采集开源文本数据集模型训练—挑战挑战:大模型时代算力需快速增长,增速快于摩尔定律o

分布式训练系统是由多个计算节点构成的网络,各个计算节点可由一台或多台主机构成o

两个关键问题:l

并行化策略l

节点间数据通信模型训练—训练框架oPyTorch—DP&DDP:l

PyTorch提供了分布式训练的相关模块,主要包括两种模式:DataParallel(DP)和

DistributedDataParallel(DDP),均为数据并行-DP采用参数服务器架构,需要由主GPU来汇总梯度-DDP为每个GPU产生一个进程,采用全局规约模式进行通信oTensorFlow-distribute.Strategy:l

提供了tf.distribute.StrategyAPI,用于指定分布式训练策略,均为数据并行l

目前所支持的策略有:-MirroredStrategy:在每个GPU上都建立一个模型副本并使用全局规约进行节点间通信-MultiWorkerMirroredStrategy与MirroredStrategy的区别在于前者支持多机多卡训练-ParameterServerStrategy采用参数服务器架构,支持多机多卡训练模型训练—并行化策略o

基本实现方式:l

完整的模型被复制到每个计算节点上,对训练数据进行切分,并分发到不同的

节点上进行计算l

每个节点独立地使用被分配到的数据计算损失函数和梯度,并定期将梯度传递

给特定节点进行聚合,获取全局梯度l

利用全局梯度更新整个模型参数l

可为基于样本的数据并行和基于样本维度的数据并行o

基于样本的数据并行:l

以样本为单位,按照一定的规则划分数据子集分配给各个节点l

有放回地随机采样:假设当前有m个数据样本,n个计算节点,执行m/n次有放

回的随机采样获得子集l

局部(全局)置乱采样:将m个样本打乱顺序并随机划分为n个子集(不一定是

等分),按照节点的计算能力进行分配o

基于样本维度的数据并行:l

对每个样本所具有的d维的属性进行拆分,将某个属性维度分到对应计算节1.数据并行o

基本实现方式:l

将原始模型划分为若干子模型,随后分配给每个节点l

每个节点负责执行该子模型的前向传播和反向传播l

模型并行除了需要在不同设备之间传递梯度,还需要

传递子模型产生的中间结果l

对模型的划分通常有垂直划分(张量并行)和水平划

分(流水线并行)两种方式2.模型并行o流水线并行:

l

对模型按层进行拆分l

当使用朴素的流水线并行时,中间层需要等待前一层的所有数据处理

完成后才能开始计算,大部分的计算节点都处于空闲状态l

为了解决上述问题,目前使用最广泛的是微批次流水线并行:-将传入的小批次(minibatch)分块为微批次(microbatch),并人为创建流水线来解决GPU空闲问题-主流的流水线并行方法GPipe和PipeDream都采用微批次流水线并行方案-基本思想:利用数据并行的思想,将minibatch的数据再进行划分,例如,假设共有有4个minibatch,将每个minibatch继续划分为4个microbatch,记为Bi,j,第一个下标是第minibatch的索引,第二个是microbatch的索引。先将B0,0送入GPU0中,处理完后可送入GPU1,此时GPU0空闲,可处理B0,1,待GPU1处理完B0,0,可以立即处理B0,1第四层第三层第二层第一层数据GPU1GPU0模型2.模型并行o张量并行:l

在同一层中,将层的参数张量划分为多个子张量l

以矩阵乘法为例,神经网络中存在着大量的参数乘法,张量并行主

要利用了矩阵的分块乘法的概念,将参数矩阵进行切分,随后部署

到各个计算节点假设有一个输入矩阵X(大小为m×n)、权重矩阵W(大小为n×p)、和偏置向量b。计算过程可以表示为Y=X·W+b将W分为q个子矩阵(如列分块):W=W1,W2,…,Wq,每个Wi是n×(p/q)大小的矩阵。随后可以将权重分配给各个节点,并行计算输出Yi: Yi=X·Wi+b将所有的Yi汇总以获得最终的输出矩阵Y2.模型并行第四层第三层第二层第一层数据GPU0模型模型训练—节点间数据通信o对于数据并行,需要在节点之间传递模型参数和梯度

o对于模型并行则需要传递各个计算节点的中间结果(包括前向推理和反向传播)o在训练时,计算节点之间需要频繁地进行通信来传输大量的数据,需设计合理的通

信机制来有效地管理和优化节点间的信息传递o节点间的通信机制主要涉及:l

计算节点的拓扑l

通信原语l

同步方式中心化架构:

l

存在若干中心节点负责协调和管理整个分布式训练过程l

典型代表:参数服务器架构参数服务器架构:l

计算节点被分为两类:服务器(server)节点和工作(worker)节点-参数服务器节点负责存储和管理模型的参数,工作节点负责计算模型的局部梯度l

当使用模型并行时,参数服务器架构会包含一个服务器组(ServerGroup),

其内部包含多个服务器节点,每个服务器节点维护一部分模型参数-每个服务器节点所负责的模型参数可能被多个工作节点使用,同时每个工作节点也可能使用多个服务器节点所负责的参数。l

若使用数据并行策略,可以将数据集划分后分配给各个工作节点。1.计算节点的拓扑服务器节点#1服务器节点#n···数据块#1数据块#k···数据集模型子模型#1子模型#n···子模型#1工作节点#1子模型#1工作节点#2子模型#a工作节点#m子模型#n···数据块#2上传梯度拉取权重服务器组右图:1.服务器组包含n个服务器节点,用来管理原始模型的n个子模型。2.对于一号服务器节点,其所管理的一号子模型被一号和二号工作节点使用,因此一号服务器节点需要管理两个工作节点。3.第m个工作节点需要使用第a个和第n个子模型,因此其被第a个和第n个服务器节点所管理。4.在该例子中,数据集也被划分为k份,分配给k个工作节点。o

参数服务器架构总流程:l初始化:服务器节点初始化模型参数,并将参数分发给所有工作节点,同时分发数据到每个工作节点l每个工作节点并行训练o

工作节点流程:l初始化:载入分配的训练数据,从服务器节点拉取初始模型参数l迭代训练:-利用本节点的数据计算梯度-将局部梯上传到服务器节点-从服务器节点中拉取新的模型参数o

服务器点流程:l

汇总来自工作节点的梯度l

利用汇总的梯度更新模型参数1.计算节点的拓扑服务器节点#1服务器节点#n···数据块#1数据块#k···数据集模型子模型#1子模型#n···子模型#1工作节点#1子模型#1工作节点#2子模型#a工作节点#m子模型#n···数据块#2上传梯度拉取权重服务器组去中心化架构:

l

没有中心节点,所有计算节点直接进行通信和协作l

典型代表:RingAllreduce、Gossip、

Ring-reduceo在RingAllreduce架构下实现数据并行:l

每个节点从它的右邻居接收梯度数据,向左邻居发送梯度数据,通过散射规约和全局联集两个通信原语完成通信1.计算节点的拓扑节点#1节点#m节点#2节点#3节点#4节点#5数据块#1数据块#n···数据集数据块#2···传递梯度传递梯度传递梯度传递梯度传递梯度o

基本通信方式:l

点对点通信(P2P)和集合通信(CC)-点对点通信是两个节点之间进行通信,只有一个发送者和接收者(效率较低)-集合通信则是多个节点进行一对多或者多对多通信,有多个发送者和接收者2.通信原语o

发送(Send)和接收(Receive):l

指节点之间消息的发送和接收,是最基础的通信原语o

广播(Broadcast):l

将某个节点的数据广播到其他节点上,属于一对多通信o

散射(Scatter):l

将数据划分之后再分发给指定节点,属于一对多通信o

聚集(Gather):l

将多个节点的数据收集到一个节点上,属于多对一通信o

规约(Reduce):

l

把多个节点的数据规约运算到某个节点上,属于多对一通信-常见的规约运算操作有求和(SUM)、乘法(PROD)、最小值(MIN)、最大值(MAX)、逻辑或(LOR)、逻辑与(LAND)、逻辑异或(LXOR)、按位或(BOR)、按位与(BAND)、按位异或(BOXR)等2.通信原语:实现节点间通信的基本操作o

目标:l

维护不同节点上模型副本之间的一致性l

现有的同步方式可分为同步算法和异步算法o

同步算法:l

各个节点在进行计算时需要等待其他所有节点完成计算,然后进行模型参数的更新-参数服务器架构及去中心化架构都可使用同步算法进行通信o

异步算法:l

各个节点可以独立进行计算和参数更新,每个节点在上传梯度之后立即更新模型,而不需要等待其他节点3.同步方式03大模型的微调和提示词o

大模型训练包括“预训练”和“微调”两个关键阶段在预训练阶段,大模型通过在大量数据上进行训练学习,已经掌握了丰富的语言规则、知识信息以及视觉模式。大模型微调是将预训练好的大模型参数作为起点,利用少量有标签的数据进一步调整大模型参数,以适应特定的任务大模型微调o

有监督微调分为:全参数微调和参数高效微调全参数微调指的是在特定任务上对整个预训练模型的所有参数进行更新参数高效微调(Parameter-EfficientFine-Tuning,PEFT)是指固定预训练模型的大部分参数,仅微调少量或额外的模型参数来达到与全参数微调接近的效果。o

指令微调通过少量的、精心设计的指令数据来微调预训练后的大模型,使其具备遵循指令和进行多轮对话的能力。o

基于人类反馈的强化学习(RLHF)微调:以人类的偏好作为奖励信号,通过强化学习与人类反馈相结合的方式,指导模型的学习和优化,从而增强模型对人类意图的理解和满足程度。主要包括:奖励模型微调和强化学习微调两个阶段。奖励模型微调阶段通过学习人类对模型输出的评价提供一个准确评价模型行为的标准。强化学习微调阶段则基于奖励模型来指导优化模型的行为。o提示工程(PromptEngineering)作为数据、技术、业务之间的桥梁,可以帮助大模型更好地理解和

回答用户的请求,是大模型场景落地的关键所在。o大模型提示工程就是设计、改进、完善提示的技术,通过巧妙设计的提示词(prompt),引导模型生成

更丰富、智能的表示,使模型能够更准确、可靠地回答问题、执行任务以及提供更有价值的信息。o本章将介绍大模型提示工程技术的原理、不同提示策略的细节,以及实际应用中的挑战与解决方案。掌握

这一技术将使读者更好地理解大模型运作机制,更灵活地设计和调整提示,实现更卓越的性能和创造力。学习目标:掌握大模型提示工程的基本原理和了解多样的提示技术;

提示工程简介o

零样本指的是模型能够在没有样本的情况下学习数据的特征。研究者们最初在深度学习领域提出了这两种概念,然而在提示工程领域,零样本这个概念被引申,即无需为模型提供任何背景知识,只需通过直接的输入指令执行任务。

零样本提示的优势在于其适用于各种领域和任务,无需昂贵的微调。因此,在快速构建原型、测试新想法或在新领域中使用大模型时非常有用。在设计零样本提示词的时候,除了描述具体的需求或任务,还可以将其他隐藏的信息输送给模型。一条标准的零样本提示词应该针对以下4点做出具体的描述:背景角色指令输出

零样本提示o

和与人类沟通工作任务一样,提示词需要清楚交代大模型任务的上下文背景,使传达的信息精准(Precise)和简洁(Concise)。为了确保提示词的背景清晰精准,需要避免歧义。o

在提示词中设定一个角色,是最常用的提示词技巧,可以帮助LLM更精确地理解到大模型提示工程在任务中所需承担的职责,以提升回答的质量。o

指令即为希望LLM完成的任务,指令需要做到具体(Concrete)和完备(Complete)。提示词的指令要足够具体。o

在零样本提示词设计中,可以对输出形式提出要求,让LLM的输出更加可控,提示词中可提出的要求包括但不限于字数要求、输出格式(如表格式、对话式)、回答风格等。o

部分研究者们认为,之前的大语言模型的推理模式单纯依赖全局提示词并直接输出结果,而忽略了其中的思考过程,人类在面对复杂问题时,常常会将问题拆分为若干个中间问题,通过逐步追问并解决中间问题来进行推理。o

受人类的这种思维模式启发,研究者们提出直接通过人工干预模型输出中间推理步骤,迫使模型学习中间推理过程,也就是链式思考提示。04典型大模型应用o

LLaMA是MetaAI公司在2023年2月发布的开源大模型,在开放基准上有着非常出色的表现,是迄今为止最流行的开源语言模型之一。随后,Meta推出了LLaMA2,该模型实现了更为优越的性能表现,甚至可以与ChatGPT等闭源模型相媲美。o

同期谷歌的PaLM大模型,OpenAI的GPT-4都采用闭源的方式,不能从源码来剖析模型的结构,LLaMA的开源降低了大模型的研究门槛,后续许多大模型都是借鉴或沿用了LLaMA的模型框架。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论