专栏名称: 阿里开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
目录
相关文章推荐
阿里开发者  ·  大模型の综述 ·  昨天  
白鲸出海  ·  AI霸屏的第二年,硅谷大佬们都Pick哪些A ... ·  2 天前  
白鲸出海  ·  月入百万美金,来自土耳其的塔防TD产品 ... ·  3 天前  
阿里开发者  ·  重磅发布的「AI视频通话」如何10分钟就实现? ·  3 天前  
51好读  ›  专栏  ›  阿里开发者

大模型の综述

阿里开发者  · 公众号  · 科技公司  · 2025-01-26 08:30

正文

阿里妹导读


本文是一篇关于大模型的综述文章,旨在帮助读者快速了解并深入研究大模型的核心概念和技术细节。

一、背景

大语言模型在各种自然语言处理(NLP)任务中取得了卓越的性能,对于大模型的研究也在持续中,包括LLMs的内部机制、训练策略、架构设计、分部署训练等。随随着大模型参数的指数级增长和训练计算能力的提升,即模型规模的扩大,大模型展现出了许多涌现能力(Emergent Abilities),例如上下文学习、按指令执行能力、逐步推理能力等,这些都是小语言模型(如BERT)所不具备的,同时也带来了一些弊病,比如幻觉。如何快速了解并且深入研究大模型就成了一项重要的课题。

二、大模型的涌现能力

随着模型规模的不断扩展,下游任务的性能和样本效率得到了显著的提高。但是当模型的大小突破某个临界规模的时候,开始出现一些意想不到的能力,展示出一些意外的、更为复杂的能力和特性,模型能够自动地从原始训练数据中学习并发现新的、更为高级的特征和模式,这种能力通常被称为“涌现能力”。拥有涌现能力的机器学习模型被认为是在独立意义上更为强大的大型模型,这也是它们与小型模型最为显著的区别。

  • 上下文学习能力(In-context learning)

指模型能够通过给定的自然语言指令和任务示例,生成预期的输出,而无需额外训练或梯度更新。这种能力在GPT-3等大规模模型中表现明显[1]。

  • 按指令执行能力(Instruction following)

通过对多任务数据集进行指令微调,大模型能够遵循新任务的指令,在未见任务上表现良好,展现出改进的泛化能力。当模型规模达到一定程度(如68B参数)时,这种能力会显著提升[1]。

  • 逐步推理能力(Step-by-step reasoning)

借助思维链(Chain-of-Thought)提示策略,大模型可以利用中间推理步骤来解决复杂的多步推理任务,如数学词问题等。当模型规模超过60B时,这种能力会显著增强[1]。

  • 知识推理和迁移能力

大模型能够在看似不相关的任务之间进行知识迁移和推理,表现出通用的推理能力[2]。

当然也有研究指出,所谓的"涌现能力"可能只是由于研究者选择的非线性、非连续的评估指标所导致,如果使用线性、连续的指标,涌现现象可能会消失。因此,对于大模型的涌现能力是否真实存在还有一定争议。

三、对NLP的影响

回到NLP领域的深度学习时代,在最近10年有两次重要的研究范式的改变。


从深度学习到预训练模型

这个时间段主要从深度学习引入NLP到GPT3.0出现之前。在Bert和GPT模型之前,NLP领域主要采用深度学习,核心技术包括改进的LSTM和CNN模型作为特征提取器,以及Sequence to Sequence(encoder-decoder)+Attention作为主要技术框架。这些技术的主要研究目标是增加模型层深度和参数容量,但效果不尽理想,主要原因是数据量有限和特征提取器表达能力不足。Bert和GPT的出现代表了NLP领域的技术飞跃,改变了研究范式,导致部分子领域技术衰退,同时NLP技术方法和框架趋向统一。

这会带来两方面的影响:

1.中间任务的消亡

NLP涵盖多个子领域,可分为中间任务和最终任务两类。中间任务如分词、词性标注等并不直接满足实际需求,而最终任务如文本分类、机器翻译则直接服务于用户。随着Bert/GPT的出现,中间任务的必要性逐渐减弱,因为这些模型已经通过预训练学得了语言学特征,使得直接解决最终任务成为可能,无需专门建模中间过程。

2.技术路线的统一

NLP任务可以分为自然语言理解和自然语言生成两类。自然语言理解包括文本分类等,而自然语言生成包括聊天机器人、机器翻译等。自从Bert/GPT出现后,NLP技术呈现了统一趋势,特征抽取器从LSTM/CNN转向Transformer,而各种NLP任务采用了两阶段模式:模型预训练+Fine-tuning或Zero/Few Shot Prompt。这种趋势也在其他领域中得到了延伸,Transformer模型正逐步替代其他模型,形成了两种预训练模型框架,即Bert模式和GPT模式。

从预训练模型到通用人工智能

大约从GPT3.0问世一直持续到现在,而ChatGPT是转变中的关键节点。在InstructGPT出现之前,LLM处于转变前的过渡期。

过渡期是从GPT 3.0出现一直持续到现在,其中以“自回归语言模型+Prompting”模式为主导。虽然Bert模式在早期技术框架中更看好,但随着技术发展,LLM模型几乎全面采用类似GPT 3.0的模式。这种转变源于两个原因:首先,生成模型更适合零示例提示和少数示例提示方式;其次,这种模式统一了自然语言理解和自然语言生成任务的外在表现形式。这种趋势的下一个阶段可能是更加自然的任务描述方式,同时LLM模型能够完全理解并适应。这种技术的代表是ChatGPT,它以Instruct模式取代了Prompting,带来了新的技术范式转换和影响。

1.让LLM适配人的新型交互接口

ChatGPT在接口层面实现了LLM与人的适配,注入了人类偏好知识,提升了LLM的易用性和用户体验。其最大贡献是基本实现了理想LLM的接口层,使LLM适配人类的习惯命令表达方式,增加了LLM的听懂人话和礼貌性,提高了用户体验。这种人机接口技术更符合人类表达习惯,将激发后续LLM模型在易用性方面的进一步工作。

2.很多NLP子领域不再具备独立研究价值

这次范式转换将很多NLP子领域纳入LLM技术体系,导致它们逐步失去独立研究的价值。随着LLM模型规模增大,很多领域问题会被解决,未来技术发展趋势是追求更大规模的LLM模型。判断领域是否需独立研究可考虑LLM效果是否超过人类表现或模式效果对比。这对NLP领域的研究者意味着要选择继续研究领域问题还是投入LLM模型建设,需要考虑有能力、有条件去做LLM建设的机构。

3.更多NLP之外的研究领域将被纳入LLM技术体系

现在是追求领域无关通用人工智能模型的时候了,即使LLM目前在NLP表现出色,也不应限制其任务范围。ChatGPT展示了这一可行性,未来LLM将吸纳更多领域并成为通用人工智能的一部分。图像处理和多模态任务也会逐步融入LLM,尽管这可能进展较慢,因为图像领域仍需深入研究。除此之外,更多领域也会融入理想LLM,这是一个具有高价值的研究主题。主流技术进展可分为LLM吸收知识和人机接口两大类,其中包括In Context Learning和Instruct模式等技术。

四、大模型机制


4.1 Explainability

大型语言模型(LLMs)在自然语言处理方面展现了强大能力,但缺乏透明度给应用带来风险。理解和解释这些模型对于阐明其行为、局限性和社会影响至关重要。

提高LLMs的可解释性至关重要,这有助于一般用户理解模型预测背后的推理机制,建立信任,并为开发人员提供洞察力来识别偏差、风险和性能改进领域。可解释性还可作为调试工具,提高模型性能,并有助于跟踪模型功能变化、比较不同模型,并开发可靠、道德和安全的模型。



LLMs的训练分为传统的微调和提示两种范式,它们用于适应下游任务的方式有本质区别。因此,针对这两种范式,提出了各种类型的解释。

解释大型模型的挑战:

1.复杂性高:大型模型包含数十亿参数,推理过程复杂,难以解释具体输出。

2.数据依赖性强:模型依赖大规模文本语料,其中的偏见和错误难以准确评估对模型的影响。

3.黑箱性质:即使是开源模型,也难以判断其内部推理链和决策过程,只能通过输入输出进行分析。

4.输出不确定性:同一输入可能产生不同输出,增加了解释难度。

5.评估指标不足:目前的评估指标难以完整反映模型的可解释性,需要更多考虑人类理解的指标。

大模型的训练范式:

1.传统fine-tuning:预训练基础语言模型,再通过特定领域的标记数据集进行fine-tuning。

2.基于prompting:通过prompts实现zero-shot或few-shot learning,使用instruction tuning和RLHF进行微调。

基于传统fine-tuning范式的模型解释:

  • 局部解释

局部解释是对单个样本的预测进行解释,采用的方法包括特征归因、基于注意力的解释、基于样本的解释以及自然语言解释。



特征归因旨在衡量每个输入特征(如单词、短语、文本范围)与模型预测的相关性。这种解释方法可以分为四类:

基于扰动的解释,通过修改特定输入特征来观察对输出结果的影响;

基于梯度的解释,将输出对输入的偏微分作为输入重要性的指标;

替代模型,使用易理解的简单模型来拟合复杂模型的输出,获取各输入的重要性;

基于分解的技术,将特征相关性得分进行线性分解。

基于注意力的解释关注输入中最相关的部分,通常通过注意力可视化技术或基于函数的方法来解释注意力的相关性信息。然而,将注意力作为研究角度仍然存在争议。

基于样本的解释从个例的角度对模型进行探测和解释,包括对抗样本和反事实样本。对抗样本是为了检测模型对微小变动的敏感性而生成的数据,而反事实样本则是对模型因果推断能力的测试。

自然语言解释使用原始文本和人工标记的方式进行模型训练,使得模型可以生成自然语言解释模型的决策过程。

  • 全局解释

全局解释的目的是提供对大型模型运作方式的深入理解,通过考虑模型的结构元素,如神经元、隐藏层及更大的模块,着重于研究各个网络组件所获得的语义信息。着重于从模型构成的层面探究,如基于探针、神经元激活、基于概念等方法,旨在提供更高阶的解释,了解模型学习的语义知识。

探针解释依赖于在已经预训练或微调的模型上培训一个浅层的分类器,并对其在保留的数据集上进行测试,以赋予该分类器辨识语言特性或推理能力的能力。

神经元激活分析领域,传统方法仅关注少数关键神经元及其与语义属性的联系。然而,使用GPT-4的最新技术能够评估模型中所有神经元的功能,这是一种与仅分析选定神经元不同的方法。

与此同时,基于概念的解释方法先将输入对应到一系列概念上,然后通过计算这些概念对模型预测结果重要性的方法来进行模型解释。

基于prompting范式的模型解释:

在基于提示的模型解释框架中,对基本模型和辅助模型进行独立解释至关重要,以识别两类模型的不同能力,并研究它们的学习过程。此方法主要探讨的问题包括:为模型提供解释如何有利于小样本学习(few-shot learning);以及理解小样本学习和推理链条能力的根源。

  • 基础模型解释:主要探究解释对模型学习的好处,包括在few-shot learning情况下的影响、情境学习的作用机制以及思维链prompting提高模型表现的原因。

  • 助手模型解释:关注助手模型的角色,通常通过预训练获取通用语义知识,然后通过监督学习和强化学习获取领域内知识,需要探究其知识来源和不确定性。

未来研究挑战:

1.缺乏有效解释:缺乏设计有效解释的标准,也缺乏有效解释本身。

2.涌现现象的根源未知:对涌现能力的探究,包括模型结构和数据影响。

3.Fine-tuning与prompting的区别:在数据同分布和不同分布情况下的推理差异。

4.模型的捷径学习问题:两种范式下模型的捷径学习问题存在,并需要解决。

5.注意力冗余:注意力模块的冗余问题广泛存在,需要研究以提供压缩技术。

6.安全性和道德性:建立可解释的AI模型可以有效地避免偏差、不公平等问题。

4.2 ICL(In-context Learning)原理

概述

随着模型和语料的扩大,大型语言模型展示了从少量上下文示例中学习的能力,这被称为上下文增强学习(ICL)。利用ICL,大型语言模型可以执行各种复杂任务,例如解决数学推理问题。ICL的基本理念是从类比中汲取经验。ICL与监督学习有一个显著的区别,就是它不需要进行参数更新,而是直接在预训练的语言模型上进行预测。



ICL作为一种新的范式,具有很多天然的优势:

由于演示是用自然语言编写的,因此提供了一个可解释的接口来与LLM通信。这种方法通过改变演示和模板,使得人类知识更容易融入LLM的上下文学习中。

这种范式类似于人类通过类比学习的决策过程。

与监督训练相比,ICL是一个无需进行训练的学习框架。这不仅可以大幅降低模型适应新任务的计算成本,还能将语言模型作为服务提供,并且可以轻松应用于大规模的真实世界任务。

ICL的卓越性能依赖于两个关键阶段:培训LLM的ICL能力阶段,及LLM根据特定任务演示进行推理预测的阶段。



定义

上下文学习是一种新的范式,允许语言模型以演示的形式学习仅给出几个示例的任务。本质上,它通过使用训练有素的语言模型来估计以演示为条件的潜在答案的可能性。





根据定义,我们可以看到ICL与其他相关概念的不同之处:

1.提示学习(prompt learning):提示可以是鼓励模型预测所需输出的离散模板或软参数。ICL可以被视为提示调优的一种子类,其中演示是提示的一部分;

2.少样本学习(Few-shot learning):这是一种通用的机器学习方法,利用参数适应来学习具有有限数量监督示例的任务的最佳模型参数。相反,ICL不需要参数更新,而是直接在预训练的LLM上执行。

预热

在预训练和ICL推理之间有一个连续训练的阶段,被称为Warmup阶段,可以增强ICL推理的能力。

这个过程是可选的,包括调整模型参数或增加参数,与传统的finetune过程不同,fine-tune旨在提升LLM在特定任务上的性能,而Warmup则旨在使模型具备更好的通用ICL能力。

Supervised In-context Training

尽管预训练后的语言模型已经初步具备ICL能力,但其预训练目标并非为了ICL而优化,因此与下游ICL目标之间仍然存在差距。最直接的解决方法是在有监督的ICL数据上进行训练,以消除这种差距。

Supervised In-context Training

有人在预热阶段使用了原始语料库,并在下游任务中构建与ICL格式一致的自监督训练数据,将原始文本转换为输入输出对,并尝试了四个自我监督目标,包括屏蔽标记预测和分类任务。

也有人利用原始语料库,但采用了更简单的语言建模目标,旨在促进基于上下文的任务推理和执行,并且同时保留了预训练模型的任务泛化能力。PICL相较于前一方法展示出了更有效和任务泛化性更好的方法。

建议在进行ICL推理之前,对LLMs进行监督训练和自监督训练。关键思想是通过引入接近情境学习的目标来弥合预训练和下游ICL格式之间的差距。相比于涉及上下文微调的演示微调,指令微调更简单且更受欢迎,因为它无需几个示例即可完成。这些方法通过更新模型参数在一定程度上提高了ICL能力,显示了原始LLMs在ICL方面还有很大的潜力。因此,虽然ICL并不强制要求模型预热,但建议在ICL推理之前进行预热阶段。随着训练数据规模的不断扩大,预热带来的性能提升会遇到平台期。这一现象在有监督的上下文训练和自监督的上下文训练中都有体现,表明LLMs只需要少量的数据就能在预热期间适应上下文学习。

影响ICL的因素

预训练阶段

学界有几种不同意见

  • 预训练语料库的来源比大小更为重要,多个语料库的整合可能带来新的ICL能力,但与下游任务相关的语料库并不总能提高ICL性能。

  • ICL能力受到预训练模型参数量和训练步数的影响。

推理阶段

  • 一些研究指出,在推理阶段,示例的属性也会影响ICL的性能。

  • 有研究认为正确的标签对ICL性能有影响,这却决于具体实现配置。

  • ICL工作机制

  • Training Data Distribution:与训练数据的分布有关。有研究表明,当训练数据呈现特定的分布属性时,上下文学习会发生。此外,也有研究认为ICL可能是隐式的Bayesian inference。

  • Learning Mechanism:与学习机制有关。例如,有研究表明Transformer可以通过隐式经验风险最小化来实现合适的函数类。有人将大型模型解释为元优化器,然后将ICL立即解释为隐式微调,实验显示,上下文学习的行为类似于从多个角度进行的显式微调。

  • Functional Components:与特定功能组件有关。在Transformer中,一些注意力头会复制先前的模式以预测下一个token,他们认为这些感应头可能是大型模型中ICL机制的来源。

4.3 知识定位/修改

LLMs如何存储知识

首先要确定大模型的知识存储在哪里,大模型的知识主要存储在模型参数中。尝试定位模型中与相关知识有关的参数区域,并直接修改这些参数的权重。理论上可行,但目前相关研究较少,实际操作上存在较大困难。将大型模型比作人类大脑,这种方法类似于在大脑中找到特定事件的记忆区域和神经元,然后通过对神经元进行无创伤外科手术来插入或更新新的记忆。

大型语言模型之所以具有强大的能力,是因为它具有对知识的记忆能力,Transformer模型并没有外部显式的数据库,因此它的记忆必须隐式地嵌入在其参数中。从Transformer的结构来看,模型参数分为两部分:多头注意力(MHA)部分大约占据总参数的三分之一,而剩下的三分之二的参数则集中在FFN(Feed-Forward Network)结构中。MHA主要负责计算单词或知识之间的相关强度,并将全局信息进行整合,更可能用于建立知识之间的联系,而不是存储具体的知识点。因此,可以推断LLM模型的知识主体存储在Transformer的FFN结构中。



比如,对于“爱丁堡的最高的山是亚瑟王座”这条知识,以三元组形式表达为,那么这种知识存储在LLM的哪个部分呢?

“Transformer Feed-Forward Layers Are Key-Value Memories”提供了一个相当新颖的观点,将Transformer的FFN视为存储大量具体知识的键-值存储器。FFN的第一层是一个MLP宽隐层,作为键层;第二层是一个MLP窄隐层,作为值层。FFN的输入层实际上是某个单词对应的MHA输出的嵌入结果,即通过自注意力机制将整个句子的相关输入上下文整合到一起的嵌入表示,代表了整个输入句子的整体信息。

每个Key层神经元节点记录了一对信息。例如,对于图中FFN的第一个隐层的第i个节点,也许它记录了这条知识。节点的Key向量实际上是指节点i与输入层的每个节点的权重向量的乘积,而对应的Value向量则是节点i与FFN第二层的Value层每个节点形成连接的权重向量。每个神经元的Key向量用于识别输入中的某种语言或知识模式,可看作是一种模式探测器。如果输入中包含它要检测的某种模式,那么输入向量与节点i的Key权重进行向量内积计算,再加上ReLU激活函数,形成大数值的响应,意味着已经检测到了这个模式。然后将这个响应值通过节点i的Value权重向量传播到FFN的第二层。这相当于用响应值加权Value向量的值,并将其传递到第二层的Value层每个节点的输出上。这样一来,FFN的正向传播过程看起来就像是通过Key检测到某种知识模式,然后将相应的Value提取出来,并在FFN的第二层输出中体现出来。当然,FFN的第二层每个节点会收集来自所有Key层节点的信息,因此形成一种混合响应,而Value层所有节点的混合响应可解读为输出单词的概率分布信息。

这篇文章还强调了一个观点,即Transformer的低层对句子的表层模式做出反应,而高层则对语义模式做出反应。换句话说,低层的FFN存储着词法、句法等表层知识,而中层和高层则存储着语义和事实概念知识。这与其他研究的结论一致。

如何修改知识

既然能存储知识,正常来讲就可以修改,而且对于过期或者错误的数据,也有修改的诉求。

1.从训练数据的源头修正知识。“Towards Tracing Factual Knowledge in Language Models Back to the Training Data”这篇文章旨在探究对于特定知识,我们是否能够确定其源自哪些训练数据导致LLM学到了这些知识。结果显示肯定是可以的,这意味着我们可以逆向追踪某项知识对应的训练数据源。若要利用这项技术,例如要删除某条知识,则可以先定位到其相关的数据源,删除该数据源,然后重新预训练整个LLM模型,以达到删除LLM中相关知识的目的。然而,这种方法存在一个问题,即若需修正少量知识,则需要重新进行模型预训练,显然成本较高。因此,这种方法可能更适用于针对特定类别数据的一次性大规模删除场景,而不太适合于少量多次的常规知识修正情况,例如去除偏见或毒性内容的处理。

2.通过对LLM模型进行微调来修正知识。一个直观的方法是:我们可以根据要修正的新知识构建训练数据集,然后让LLM模型在这个数据集上进行微调,以引导LLM记住新的知识并遗忘旧的知识。这种方法看似简单直接,但也存在一些问题。首先,它可能引发灾难性遗忘问题,即除了遗忘应该遗忘的知识外,还会遗忘不应该遗忘的知识,导致一些下游任务的效果下降。另外,由于当前LLM模型的规模非常庞大,即使进行微调,如果频繁操作,成本也相当高。

3.直接修改LLM中某些知识对应的模型参数来修正知识。假设我们想要将旧知识修正为。首先,我们需要在LLM模型参数中找到存储旧知识的FFN节点,然后可以通过强制调整FFN中相应的模型参数,将旧知识替换为新知识。这种方法涉及两项关键技术:首先是如何在LLM参数空间中确定某条知识的具体存储位置;其次是如何修改模型参数以实现从旧知识到新知识的转变。

4.4 CoT(Chain of Thought)

概述

在人工智能领域,思维链(Chain of Thought,CoT)是一个非常新颖的概念。强大的逻辑推理是大型语言模型“智能涌现”出的核心能力之一,就像AI具备了人类的意识一样。思维链是推理能力的关键。

在解决复杂问题,特别是涉及复杂数学题时,大型模型很难直接给出正确答案。CoT采用一种简单而有效的方法来增强大型模型的算术、常识和推理能力,即要求模型在输出最终答案之前,明确呈现中间的逐步推理步骤。

CoT显著提升了LLM在复杂推理任务上的性能,并通过输出中间步骤来增强模型的可解释性,使用户能够了解模型的思考过程,Chain of Thought提示可以显著提高大模型在算术推理、常识推理等任务上的性能。目前,思维链推理已经成为处理复杂任务的大型模型的常用方法。

概念

CoT概念由Google首次提出,通过逐步将复杂问题分解为一系列子问题,并逐一解决,可以显著提高大型语言模型的性能。这一过程中产生的一系列推理步骤被称为思维链(Chain of Thought)。



我们可以对CoT推理和传统推理做一个比对,这篇paper中《Igniting Language Intelligence: The Hitchhiker’s Guide From Chain-of-Thought Reasoning to Language Agents》有给出图解



思维链是解决问题或得出答案所涉及的一系列中间推理步骤。这些推理步骤的形式通常是 ` → 推理链(原理) → 输出` 映射。与传统的直接推理相比,这种方法通常更为有效。传统的直接推理试图一次性解决整个问题,例如,标准分类、多项选择和问答问题通常采用 ` → 输出` 映射形式的直接推理。从图中可以看出,相较于直接Prompt,CoT在推理任务上带来了明显的改进。



思维链的提示通常由三部分组成:指令(Instruction)、基本原理(Rationale)和示例(Examples)。指令用于描述问题并确定大型模型的输出格式,基本原理则包括思维链的中间推理过程,其中可能包含问题的解决方案、中间推理步骤以及与问题相关的任何外部知识。示例是指以少量样本的形式为大型模型提供输入输出对的基本格式,每个示例都包括问题、推理过程和答案。

根据是否提供示例,可以将思维链分为Zero-Shot-CoT和Few-Shot-CoT。在零样本思维链中,没有提供示例,只在指令中添加一行经典的“Let's think step by step”,就可以唤醒大型模型的推理能力。而在少样本思维链中,则通过示例详细描述了解题步骤,让模型可以仿效并得到推理能力。

能力

增强了LLMs的推理能力:CoT通过将复杂问题分解为多个子问题的步骤,显著提升了大模型的推理能力。这一方法最大程度地降低了大模型忽略问题关键细节的倾向,确保计算资源被有效地用于解决问题的核心步骤。

增强了LLMs的可解释性:与仅输出单一答案相比,CoT通过展示解题过程使得大模型的工作方式更加透明。这种输出步骤的方式不仅使我们更好地了解大模型在解决问题时的工作方式,还为我们找出错误步骤提供了便利。

增强了LLMs的可控性:通过逐步输出解题步骤,能够影响大模型在问题求解过程中的表现,从而避免大模型成为完全不可控的“黑盒”,同时使得易于调试。

增强了LLMs的易用性和灵活性:仅需添加一句“Let's think step by step”,即可在各种不同的大模型中应用CoT方法。此外,CoT赋予了大模型逐步思考的能力不仅限于语言智能领域,在科学应用和AI Agent构建中也有广泛应用。

局限

CoT(Chain of Thought)思维链虽然在提高大模型复杂推理能力方面表现出色,但也存在一些局限性:

1. 推理过程可能不完全正确或合理。CoT生成的中间推理步骤并不能保证100%正确,可能存在逻辑错误或缺失关键步骤的情况。

2. 缺乏通用性。CoT主要用于解决算术推理、常识推理等特定类型的问题,对于其他类型的任务(如开放性问答等),其效果可能不佳。

3. 缺乏可解释性分析。虽然CoT提高了模型的可解释性,但目前还缺乏对生成的推理路径进行深入分析和评估的方法。

4. 依赖高质量的提示设计。CoT的效果很大程度上依赖于提示的设计质量,如何设计高质量的CoT提示仍是一个挑战。

5. 计算开销较大。与标准提示相比,CoT需要模型生成更多的文本(中间推理步骤),因此计算开销更大。

6. 缺乏理论支持。目前还缺乏对CoT为什么有效的深入理论解释和分析。

五、预训练

5.1 数据收集和预处理:

- 收集大量的文本数据,包括书籍、论文、网页等各种领域的语料。数据来源非常广,是一个巨大的异构数据源。



- 对数据进行清洗、格式化等预处理,以适合模型训练。



数据清洗步骤主要包含Quality Filtering,De-duplication,Privacy Reduction,Tokenization。

这个过程比较简单,在此不赘述。

5.2. 模型架构设计:

- 选择合适的模型架构,如Transformer编码器-解码器、纯编码器或纯解码器模型。

首先回顾一下LLMs的主流架构,主要分为三类:Encoder-decoder,Causal Decoder,Prefix Decoder。其中后两种都是Decoder-only的结构。



Encoder-only(仅编码器)模型:这类模型只包含编码器部分,适用于分类、回归等任务,只需理解输入而不需要生成新的序列。代表模型有BERT。

Decoder-only(仅解码器)模型:这类模型只包含解码器部分,适用于文本生成等任务,使用因果语言建模进行预训练,可以生成新的连贯文本序列。代表模型有GPT。

Sequence-to-sequence(序列到序列)模型:这类模型同时包含编码器和解码器部分,适用于序列到序列的任务,如机器翻译。编码器负责将输入文本转换为连续表示,解码器负责根据编码器的输出生成输出序列。代表模型有T5。

总的来说,这三种Transformer架构各有优势,适用于不同的自然语言处理任务。纯编码器模型擅长理解和分类,纯解码器模型擅长生成,而编码器-解码器结合模型则可以处理序列到序列的转换任务。

完成架构设计后,还确定模型的参数规模,通常为数十亿到数万亿参数,这个也要根据具体的业务来确定,在此不表。

混合专家模型MoE

Mixture-of-Experts(MoE)是一种神经网络结构,它利用路由机制将输入数据动态分配给一组专家网络。这种设计使得模型能够根据输入数据的特征动态选择不同的专家进行处理,从而提升了模型的表达能力和效率。

MoE的核心理念是“众人拾柴火焰高”,即通过利用多个专家网络,每个专家网络专注于处理数据的不同方面,以实现更优秀的性能。其旨在构建一个动态系统,能够根据输入数据充分利用各专家的优势,以比单一模型更加灵活、准确地进行预测。



从技术角度来看,MoE是一种集成学习方法,它将一个大型任务分解为更小的子任务,并将每个子任务交由不同的专家处理。接着,系统会有一个智能的决策者,根据情况选择采纳哪个专家的建议,并将所有建议进行混合。

这个方法包括四个主要步骤:

1.将大问题分解为小块;

2.为每个小块培训一位高效聪明的专家;

3.引入一个决策者,即众所周知的门控模型,来决定由哪位专家主导;

4.汇总专家的建议和决策者的选择,得出最终的预测。

MoE的优势在于通过减少计算工作,使得模型的预训练速度更快。相比于为更多步骤训练更小的模型,为更少步骤训练更大的模型能够产生更好的结果。在推理阶段,与其他大型模型相比,参数数量相同的MoE模型表现出更快的推理速度。虽然它拥有许多参数,但只使用了一个子集,从而导致更快的预测速度。

在MoE系统中,传统Transformer模型中的每个前馈网络(FFN)层被替换为MoE层,该MoE层由两个主要组成部分构成:一个门控网络和若干数量的专家。



5.3. 预训练任务设计

预训练在将大规模语料库中的一般知识编码为海量模型参数方面发挥着关键作用。对于训练LLMs,常用的预训练任务有两种,即语言建模(Language Modelling)和去噪自编码(Denoising Autoencoding)。

Language Modelling。语言建模任务(LM)是预训练解码器的最常用目标LLMs,例如 GPT3 和 PaLM。由于大多数语言任务都可以转化为基于输入的预测问题,因此这些仅解码器的 LLMs 可能有利于隐式学习如何以统一的 LM 方式完成这些任务。一些研究还表明,仅解码器 LLMs 可以通过自回归预测下一个标记自然地转移到某些任务,而无需微调。LM 的一个重要变体是prefix language modeling任务,它是为具有前缀解码器架构的预训练模型而设计的。随机选择的前缀内的标记不会用于计算前缀语言建模的损失。在预训练期间看到的标记数量相同的情况下,前缀语言建模的表现比语言建模稍差,因为模型预训练涉及的序列中的标记较少,给定一个标记序列,LM 任务旨在根据序列中前面的标记X自回归预测目标标记。

Denoising Autoencoding。除了传统的LM之外,去噪自动编码任务(DAE)也被广泛用于预训练语言模型,DAE任务在实现上似乎比LM任务更复杂。因此,它还没有被广泛用于预训练大型语言模型。现有以DAE为预训练目标的LLMs包括T5和GLM-130B。这些模型主要经过训练以自回归方式恢复替换的跨度。



Mixture-of-Denoisers。也称为 UL2 loss,被引入作为预训练语言模型的统一目标。MoD 将 LM 和 DAE 目标视为不同类型的降噪任务,即 S 降噪器(LM)、R 降噪器(DAE,短跨度和低腐败)和 X 降噪器(DAE,长跨度或高腐败)。三个降噪任务中,S-降噪器与传统的LM目标类似,而R-降噪器和X-降噪器与DAE目标类似,但长度不同损坏文本的跨度和比率。对于以不同特殊标记(即{[R],[S],[X]})开头的输入句子,将使用相应的降噪器来优化模型。MoD已应用于最新的PaLM 2模型。

5.4. 模型优化与微调

在训练大型模型,尤其是深度学习模型时,通常需要采用一系列优化技术,以改善模型的泛化能力、减少过拟合、提高训练效率,并确保模型在真实世界数据上的表现。以下是一些常用的大模型优化技术:

1.正则化:

  • 权重正则化(L1/L2正则化):通过在损失函数中添加一个与权重相关的项(L1范数或L2范数)来惩罚大的权重,减少模型复杂度。

  • Dropout:在训练过程中随机“丢弃”(即置为零)神经网络中的一些神经元,以防止模型对特定的训练样本过于依赖。

  • 批归一化(Batch Normalization):通过归一化每个小批量的输入,以加快训练过程并改善模型的性能与稳定性。

2.数据增强:

  • 通过随机转换和修改原始训练数据来创建额外的训练样本,可以增加模型见过的数据多样性。例如在图像领域,可以使用旋转、缩放、翻转、剪切和颜色变换等技术;在文本领域,可以使用回译、同义词替换等技术。

3.学习率调整:

  • 学习率衰减:随着训练的进行,逐步减小学习率以减少模型在训练后期的参数更新幅度。

  • 适应性学习率优化器:例如Adam、RMSprop等,自动调整每个参数的学习率。

4.早停(Early Stopping):

  • 在训练过程中,通过监控验证集的性能来决定何时停止训练。当验证集的性能不再提升时,停止训练以防止过拟合。

5.梯度剪裁(Gradient Clipping):

  • 在反向传播过程中限制梯度的大小,防止梯度爆炸问题。

6.权重初始化:

  • 使用例如Xavier初始化、He初始化等策略,合理设定权重的初始值,以确保模型在训练开始时更稳定。

7.集成方法:

  • 将多个模型的预测结果集成起来,如bagging、boosting或stacking等,通常能够提升模型的准确性和鲁棒性。

8.迁移学习:

  • 利用在大规模数据集上预训练的模型,在其基础上微调应用于特定任务,可以显著减少所需的训练数据量和提高性能。

这些技术可以独立使用,也可以组合使用,具体情况取决于模型的复杂度、可用的数据量和计算资源以及所面临的任务。通过有效地应用这些优化技术,可以让大型模型表现出色,同时避免在训练过程中遇到的常见问题。

总的来说,大模型的预训练是一个复杂的过程,需要大量数据、合理的模型设计和优化技术,最终目标是训练出一个通用性强、性能优秀的大模型。

六、高效训练

随着BERT、GPT等预训练模型的成功应用,预训练-微调方法已经在自然语言处理、计算机视觉、多模态语言模型等领域得到广泛应用,并取得了卓越成果。为了提升模型的泛化能力,预训练模型的参数规模近年来快速增长,甚至已经达到了万亿级别。然而,如此庞大的参数量也带来了训练的困难,因此许多研究者和机构提出了许多大型模型高效训练的技术。这里主要讲解并行训练技术。


Data Parallel

其核心思想是按照 batch 维度将输入数据划分,并将数据分配给不同的 GPU 进行处理。在数据并行中,每个 GPU 存储的模型和优化器状态完全相同。当每个 GPU 上的前向和后向传播完成后,需要将每个 GPU 计算得到的模型梯度进行汇总,并求取平均值,以获得整个 batch 的模型梯度。



Tensor Parallel

张量并行是一种有效的并行训练方式,主要目的是将模型参数张量切分到多个GPU上进行计算,以减少单个GPU的内存占用。张量并行将模型中的参数张量(如权重矩阵)按照某个维度进行切分,每个GPU只存储部分参数。在前向传播和反向传播时,各GPU分别计算自己的部分,然后通过通信将结果合并。这样可以大幅减少单个GPU的内存占用,支持训练更大规模的模型。

例如,当将输入张量与第一个权重张量相乘时,矩阵乘法相当于按列分割权重张量,将每一列分别与输入相乘,然后连接单独的输出。然后,这些输出从 GPU 传输并连接在一起以获得最终结果。



Megatron-LM提出了一种高效的1D张量并行方案,主要针对Transformer模型的多头注意力(MHA)和MLP层进行切分。对于MLP层,先对第一个线性层A进行列切分,第二个线性层B进行行切分。对于MHA层,则将Q、K、V矩阵进行列切分,Colossal-AI也实现了张量并行,支持更灵活的2D切分。用户可以指定切分的维度和大小,系统会自动完成参数的切分和通信。

张量并行通常与数据并行和流水线并行结合使用,形成3D并行。HAI-LLM工具支持数据并行、流水线并行、张量并行的灵活组合,并进一步引入序列并行优化Transformer层,大幅提升了训练效率。总之,张量并行是训练大语言模型的重要技术之一,通过将模型参数切分到多个GPU上并行计算,可以支持训练更大规模的模型。与其他并行方式结合使用,可以进一步提升训练效率。


Pipeline Parallel

Pipeline parallelism是训练大语言模型的一种重要并行方式。它将模型的训练过程拆分成多个阶段,每个阶段在不同的GPU上执行。这样可以提高训练吞吐量,但可能会增加延迟。



不过Pipeline parallelism通常与张量并行(tensor parallelism)和数据并行(data parallelism)结合使用,形成3D并行。首先使用pipeline parallelism将模型拆分成多个阶段,然后对每个pipeline阶段使用tensor parallelism进一步切分参数张量,最后再使用data parallelism对数据进行切分。这种3D并行可以大幅减少单个GPU的内存占用,支持训练更大规模的模型。同时也提高了训练效率,可以增加数个数量级。

例如在Habana Gaudi2加速器上,使用Habana的DeepSpeed分支、Megatron LM和SynapseAI软件,就可以训练13B参数的LLaMA和BLOOM模型。

pipeline parallelism是训练大语言模型的关键技术之一。与其他并行方式结合使用,可以大幅提升训练性能。未来随着硬件的发展,以及算法架构的不断优化,LLM的训练效率还会进一步提高。

七、Adaption of LLMs


Instruction Tuning

经过预训练,LLMs可以获得解决各种任务的通用能力,但是LLM的能力可以根据特定目标进一步调整。

与预训练相比,指令微调策略在资源效率上表现更优,原因在于它仅需利用少量的样例来进行训练。在执行指令微调时,关键在于确保数据分布的均衡,这通常通过等量的样本采集方法实现,并通过增加高质量样本集的采样频率来增强模型性能。此外,指令微调策略可以与预训练策略相融合,通过同时利用无格式化的纯文本数据和有格式的数据进行多任务学习,结合了预训练和指令微调的优势。

指令微调与有监督的微调和多任务提示训练紧密相连。执行指令式微调的步骤首先包括收集或创建以指令形式呈现的样例。接下来,利用这些格式化的样例对大型语言模型进行有监督的微调(例如,采用序列到序列的训练损失)。经过指令式微调的语言模型能够在未见过的任务上展现出杰出的泛化能力,即便是在涉及多语言的情形中也能表现良好。

一个以指令形式格式化的样本会包含任务说明(即指令)、一组输入输出数据,以及少量示例。



通常,数据集的生成采用以下两种策略:

1.将现有的NLP数据集重新格式化,使之适合用于指令式微调。可以利用ChatGPT来创建指令,比如(Prompt):“为这段文本取一个合适的标题”。

2.OpenAI建议使用人工标注数据集以获得更好的人类对齐效果。为了降低人工标注的成本,目前许多数据集是由ChatGPT生成的,包括用户共享的ChatGPT对话历史(如ShareGPT)或使用ChatGPT生成的数据集。

数据集可分为通用任务和专用领域两类。通用任务的数据集目前有许多开源数据集可供使用,而专用数据集则是针对特定领域构建的。此外,引入多样化的数据集,如CoT思维链,也可以有效提升模型性能。

指令微调的效果:

性能提升:经过指令微调的较小模型甚至可能比未经微调的较大模型表现更好。指令微调在不同的模型架构、预训练目标和适应方法上都显示出持续的改进效果。在实践中,指令微调为提升现有语言模型(包括小型预训练语言模型)的能力提供了一种通用方法。此外,与预训练相比,指令微调的成本较低,因为大语言模型所需的指令数据数量明显较少。

任务泛化性:指令微调激励模型理解自然语言指令以完成任务。这赋予了大型语言模型执行特定任务的能力,即使在未见过的任务上也能表现出色(也就是前面讲的涌现能力)。大量研究已经证实了指令微调在已见和未见任务上取得卓越的性能表现。此外,指令微调还被证明有助于缓解大型语言模型的一些弱点,例如生成重复内容或在不完整任务情况下进行输入补充,从而使得大型语言模型在解决现实世界任务时表现更为强大。此外,通过指令微调训练的大型语言模型还可以在不同语言之间泛化到相关任务。

Alignment Tuning

大型语言模型在自然语言处理任务上展现了惊人的能力。然而,这些模型可能表现出意外行为,例如制造虚假信息、追求不准确的目标,以及产生有害、误导性和偏见性的表达。对于LLM来说,其语言建模目标主要通过单词预测来进行参数预训练,但缺乏对人类价值观或偏好的考虑。为了避免这些意外行为,提出了人类对齐的概念,以确保大型语言模型的行为符合人类的期望。然而,与最初的预训练和微调(例如指令微调)不同,语言模型的对齐需要考虑不同的标准,如有用性、诚实性和无害性。已有研究表明,对齐微调可能会在一定程度上削弱大型语言模型的通用能力。

在对齐方面,主要考虑以下因素:

有用性方面,大型语言模型需要以简明扼要且高效的方式帮助用户解决任务或回答问题。在更高层次上,当需要进一步澄清时,模型应展示出通过相关提问获取额外相关信息的能力,并表现出合适的敏感度、洞察力和审慎程度。

诚实性方面,模型应该向用户提供准确的内容,而不会捏造信息。此外,在输出时传达适当程度的不确定性至关重要,以避免任何形式的欺骗或信息误传。这需要模型了解自身的能力和知识水平,即所谓的“知道自己不知道”。

无害性方面,模型生成的语言不得具有冒犯性或歧视性,同时不能生成违反法律法规以及道德规范的有害信息。

RLHF

Reinforcement Learning from Human Feedback

RLHF是一种将强化学习与人类反馈相结合的先进训练人工智能系统的方法,结合了强化学习和监督学习的元素,使人工智能系统能够以更加人性化的方式学习和做出决策。RLHF引入了人类反馈作为宝贵的指导来源,帮助人工智能系统导航复杂的决策空间,与人类价值观保持一致。RLHF是一种有效的方法,能够显著提高人工智能模型的性能和可靠性,在自然语言处理、对话系统等领域有广泛应用前景。

RLHF的主要优点:

  • 自动调整超参数,减轻人工调参负担。
  • 在有限样本下快速收敛到最优解。
  • 具有很强的可扩展性,适应从小规模到大规模的模型训练需求。
  • 能够更好地捕捉人类偏好,使模型输出更符合人类价值观。
  • 提高模型的安全性和可靠性,有助于实现负责任的人工智能发展。



对齐步骤:

监督微调,它旨在让语言模型具备执行特定任务所需的初步行为能力。通常需要收集包含输入提示和所需输出的监督数据集,对语言模型进行微调。这些提示和输出可以由专门的人工标注者为特定任务编写,以确保任务的多样性。例如,InstructGPT 要求标注者编写提示和相应的生成式任务(如开放域问答、头脑风暴、聊天和重写)的期望输出。

训练奖励模型是第二步,它涉及使用人类反馈数据来训练RM(Reward Model)。具体而言,使用LM生成一定数量的输出文本,这些文本来自采样提示(可以是来自监督数据集或人工生成的提示)。然后,邀请人工标注员为这些生成的文本进行标注偏好。标注的形式有多种,常见的方法是对生成的候选文本进行排序,以减少标注者之间的不一致性。接下来,需要训练RM来预测人类偏好的输出。在InstructGPT中,标注员将模型生成的输出按照好坏顺序排列,然后训练RM(即GPT-3的6B参数量)来预测排名。在实际操作中,目前可以使用GPT-4来代替人类进行排序标注,从而降低人工标注的成本。

RL微调阶段,对齐LM的过程被规范为RL问题。在这个设置中,预训练的LM充当策略,接受提示作为输入并生成输出文本,其动作空间是LM的词表,状态是当前生成的token序列,奖励由RM生成。为了避免显著偏离初始LM,通常会在奖励函数中引入惩罚项。例如,InstructGPT使用PPO算法优化LM以满足RM的要求。对于每个输入提示,InstructGPT计算当前LM生成的结果与初始LM生成的结果之间的KL散度,并将其作为惩罚项。需要注意的是,第二步和最后一步可以进行多次迭代以更好地对齐LLM。

Parameter-Efficient Fine-Tuning



尽管指令微调相对于预训练更为高效(因为只需处理微调数据集),但全参数的指令微调仍然需要耗费大量计算资源。目前存在多种高效参数微调方案,可以在保持性能的同时大幅减少微调成本。

其中一种称为参数高效微调,它只微调少量或额外的模型参数,并将大部分预训练参数固定,从而大幅降低了训练成本。研究表明,与全参数微调相比,高效参数微调在未经微调的大型语言模型上性能略有下降,但在已经微调的模型上性能接近。

Parameter-Efficient Fine-Tuning主要有三种方法,针对模型的不同部分进行下游任务的适配

Prefix/Prompt-Tuning:这种方法在模型的输入或隐层添加了 k 个额外的可训练前缀 tokens(这些前缀是连续的伪 tokens,不对应真实的 tokens),并只训练这些前缀参数;

Adapter-Tuning:这种方法将较小的神经网络层或模块插入到预训练模型的每一层,这些新插入的神经模块被称为 adapter(适配器),下游任务微调时也只训练这些适配器参数;

Low-Rank Adaptation(LoRA):这种方法通过学习小参数的低秩矩阵来近似模型权重矩阵 W 的参数更新,训练时只优化低秩矩阵参数。

目前,LoRA 是针对大语言模型效果最好的方法。它的基本原理是在原始预训练权重旁边增加一个旁路,降维再升维的操作。在训练过程中,预训练权重被固定,只有降维矩阵 A 和升维矩阵 B 被训练。尽管 A/B 的维度通常在 MB 级别,而大语言模型的权重通常在 GB 级别,但模型的输入输出维度保持不变,输出时将 B/A 与预训练权重的参数叠加。

八、研究方向

大模型适配

在大规模模型时代,CV/NLP等各种任务普遍采用预训练加微调的方法。然而,随着模型参数规模的增加,对下游任务数据集进行全量微调的成本也在上升。此外,针对每个下游任务,需要单独训练、存储和部署一个同样庞大的模型,这导致大模型难以有效地适应各种垂直场景,限制了它们在实际应用中的落地。虽然目前已经提出各种轻量化的模型微调方法,以解决这一问题,比如 Parameter-Efficient Fine-Tuning (PEFT)。但是针对不同的下游任务,想要做到低成本和高效适配,还有很长的研究之路。

网络架构

Transformer架构与2017年被提出,目前已成为大型模型的主流选择。But,随着模型规模的扩大,性能增长呈现递减趋势。So,Transformer是否是最终的解决方案?是否存在比Transformer更优秀、更高效的网络架构呢?这是一个值得深入探讨的问题。

目前在这方面,业界有很多的尝试和研究,比如从数学方面入手,提出非欧空间网络架构。这里介绍一种刚提出不久的神经网络架构:KANs

KANs与传统的MLP架构有着明显的差异,并且它能够使用更少的参数在数学和物理问题上达到更高的精确度。例如,仅用200个参数的KANs就能够复现DeepMind使用30万参数MLPs进行的数学定理发现研究。KANs不仅准确性提高,还能揭示新的公式。无论是在函数逼近、求解偏微分方程,还是处理凝聚态物理任务方面,KANs的表现都优于MLP。在解决大型模型问题时,KANs自然避免了灾难性遗忘的问题,并且能够轻松地结合人类的思维习惯偏差或专业知识。甚至直接引出关于能否替代掉Transformer的MLP层的探讨。



与MLP的一个显著且直接的区别在于,MLP中激活函数作用于神经元上,而KAN则将可学习的激活函数应用于权重之上。

在数学定理的背景下,MLP受到了通用逼近定理的启发,这个定理指出任何一个连续函数都能通过一个足够深层的神经网络进行近似。而KAN的灵感则源自Kolmogorov-Arnold表示定理(KART),它表明每个多变量连续函数可以通过双层嵌套叠加单变量连续函数来表示。受到该定理的启发,研究者们采用神经网络对Kolmogorov-Arnold表示进行了参数化处理。



在实践中,KAN能够实现直观的可视化,赋予了MLP所不具备的解释性和交互性。不过,KAN的缺点是训练速度较慢。

再来看看KAN的具体实现效果。

Scaling law

KAN的扩展速度远超MLP



函数拟合

KAN比MLP更准确。



偏微分方程求解

比如求解泊松方程,KAN比MLP更准确。



另外,KAN不会像MLP那样容易灾难性遗忘,它天然就可以规避这个缺陷。遗忘问题从源头就能解决。



在可解释方面,KAN能通过符号公式揭示合成数据集的组成结构和变量依赖性。



人类用户可以与 KANs 交互,使其更具可解释性。在 KANs 中注入人类的归纳偏差或领域知识非常容易。


多模态

当前的LLMs在自然语言处理(NLP)和编码任务方面表现出色。对于通向人工通用智能(AGI)来说,将图像、视频、音频等多模态数据集成到语言模型中,甚至将其拓展至AI for Science、机器人控制等更多、差异更明显的领域,是实现AGI的关键之路。这个方向的研究刚刚起步,因此具有极高的研究潜力。


激发LLM的原有能力,增加复杂推理能力

虽然大型语言模型(LLM)在推理方面有显著进展,但它们在解决复杂推理问题上仍然存在局限。例如,即使是简单的字符拷贝或基本运算,LLM在处理长字符串或数字时的推理能力也会急剧下降,而对于更复杂的推理任务,如行为规划,则表现不佳。因此,加强LLM的复杂推理能力成为未来研究的重要任务之一。

另一种直接增强LLM推理能力的方法是通过代码预训练。虽然目前相关研究较少,更像是实践经验的总结,但探索其背后的原理,并引入新型数据类型来增强LLM的推理能力,可能是提升推理能力更根本的方法。

探索LLM的规模天花板

推动LLM模型规模增长是关键而重要的,虽然看似技术含量不高,但事实上却具有巨大意义。从Bert到GPT-3再到ChatGPT等重大技术突破,都主要来自于LLM模型规模的扩大,而非某一项具体技术的突破。实现人工智能通用智能(AGI)可能的真正钥匙在于超大规模和多样性的数据、模型的扩展,以及充足的训练。

推动LLM模型规模增长有两方面的研究意义。首先,对于知识密集型任务,随着模型规模的扩大,其在各种任务上的表现也将不断提升;其次,LLM具备的“涌现能力”可能会随着规模的增长而解锁新的潜力,这引人关注。然而,要实现这一目标需要雄厚的财力、工程能力和技术热情。目前,只有少数几家机构具备这种能力,未来可能会出现多个机构合作共建“股份制大模型”的现象,共同推动超级大模型的发展。

高质量数据工程

对于预训练模型而言,数据是其基础,预训练过程可视为从数据中提取知识的过程。因此,需要更进一步地挖掘、收集和清洗高质量数据。在处理数据时,需要关注数据的质量和数量两个方面。根据T5的对比实验,可以得出结论:在考虑数量和质量时,质量应优先,因此正确的做法是在确保数据质量的前提下增加数据规模。数据质量包括信息含量和多样性等多个标准。例如,维基百科是高质量数据的典范,而增加数据类型的多样性则是激发LLM各种新能力的关键。多样化的数据赋予了LLM解决不同任务能力,因此在数据质量中,多样性可能是最关键的标准之一。至于数据数量,理论上可以利用互联网上公开发布的数据进行预训练。然而估算到2026年左右,高质量的NLP数据可能会耗尽,低质量NLP数据在2030年到2050年间可能会耗尽,低质量图像数据在2030年到2060年间可能会耗尽。这提示我们要么需要新类型的数据源,要么必须提高LLM模型对数据的利用效率。否则,目前的数据驱动模型优化方式可能会停滞不前,甚至收益减少。

Transformer稀疏化

当前最大规模的语言模型普遍采用稀疏结构,如GPT-3、PaLM、GLaM,预计GPT-4也将延续这一趋势。稀疏化模型有明显优势,能显著缩短训练和推理时间,Switch Transformer论文指出,在相同计算资源下,稀疏化Transformer相对于密集Transformer,训练速度可提升4到7倍。未来,大型语言模型很可能会偏向稀疏模型,因为标准密集Transformer在训练和推理时也存在着稀疏激活,且随着模型规模增大,训练成本高昂,稀疏模型能显著降低成本,特别是在模型规模较大时。然而,稀疏模型目前存在训练不稳定、容易过拟合等问题,未来重点是解决这些问题,设计更易训练的稀疏模型。

当然,目前大模型还处于早期发展阶段,很多技术都在探索中,有太多方向可以探究,比如上下文学习,可解释性,思维链推理,在 Transformer 中批量编辑内存,将语言模型中的事实知识追溯到训练数据,在 GPT 中查找和编辑事实关联,这些领域都很值得投入精力研究。

参考链接:

[1]A Survey of Large Language Models:https://arxiv.org/pdf/2303.18223
[2]A Comprehensive Overview of Large Language Models:https://arxiv.org/pdf/2307.06435
[3]Knowledge Neurons in Pretrained Transformers:https://arxiv.org/abs/2104.08696
[4]Does Localization Inform Editing? Surprising Differences in Causality-Based Localization vs. Knowledge Editing in Language Models:https://arxiv.org/abs/2301.04213
[5]Mass-Editing Memory in a Transformer:https://arxiv.org/abs/2210.07229
[6]Transformer Feed-Forward Layers Are Key-Value Memories:https://arxiv.org/abs/2012.14913
[7]Transformer Feed-Forward Layers Build Predictions by Promoting Concepts in the Vocabulary Space:https://arxiv.org/abs/2203.14680
[8]A Survey on In-context Learning:https://arxiv.org/abs/2301.00234
[9]Emergent Abilities of Large Language Models:https://arxiv.org/abs/2206.07682
[10]Do Machine Learning Models Memorize or Generalize?:https://pair.withgoogle.com/explorables/grokking/
[11]Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning:https://arxiv.org/abs/2303.15647
[12]Toward Transparent AI: A Survey on Interpreting the Inner Structures of Deep Neural Networks:https://arxiv.org/abs/2207.13243
[13]Reasoning with Language Model Prompting: A Survey:https://arxiv.org/abs/2212.09597
[14]Siren's Song in the AI Ocean: A Survey on Hallucination in Large Language Models:https://arxiv.org/abs/2309.01219
[15]A Survey of Chain of Thought Reasoning: Advances, Frontiers and Future:https://arxiv.org/abs/2309.15402
[16]Instruction Tuning for Large Language Models: A Survey:https://arxiv.org/abs/2308.10792
[17]Explainability for Large Language Models: A Survey:https://arxiv.org/abs/2309.01029
[18]通向AGI之路:大型语言模型(LLM)技术精要:https://zhuanlan.zhihu.com/p/597586623
[19]KAN: Kolmogorov-Arnold Networks:https://arxiv.org/abs/2404.19756
[20]Mixture of Experts Explained:https://huggingface.co/blog/moe#what-is-a-mixture-of-experts-moe


实时与AI智能体进行语音通话


AI实时语音互动是一种旨在帮助企业快速构建AI与用户之间的语音通话应用的解决方案。用户只需通过白屏化的界面操作,即可快速构建一个专属的AI智能体,并通过视频云ARTC网络与终端用户进行实时交互。


点击阅读原文查看详情。