一、背景

大语言模型自然语言处理(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模式等技术。

四、大模型机制

可解释性

大型语言模型(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模型可以有效地避免偏差、不公平等问题。

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机制的来源。

知识定位/修改

LLM如何存储知识

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

大型语言模型之所以具有强大的能力,是因为它具有对知识的记忆能力,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层神经元节点记录了一对<Key, Value>信息。例如,对于图中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参数空间中确定某条知识的具体存储位置;其次是如何修改模型参数以实现从旧知识到新知识的转变。

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》有给出图解

思维链是解决问题或得出答案所涉及的一系列中间推理步骤。这些推理步骤的形式通常是 `<input> → 推理链(原理) → 输出` 映射。与传统的直接推理相比,这种方法通常更为有效。传统的直接推理试图一次性解决整个问题,例如,标准分类、多项选择和问答问题通常采用 `<input> → 输出` 映射形式的直接推理。从图中可以看出,相较于直接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为什么有效的深入理论解释和分析。

五、预训练

数据收集和预处理:

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

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

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

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

模型架构设计:

- 选择合适的模型架构,如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层由两个主要组成部分构成:一个门控网络和若干数量的专家。

预训练任务设计

预训练在将大规模语料库中的一般知识编码为海量模型参数方面发挥着关键作用。对于训练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模型。

模型优化与微调

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

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 LLM

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、模型具备哪些能力,可以帮助我们完成什么任务?

2、如果应用的话,难度如何以及优化侧重点在哪?

注:本文中的“大模型”并不仅指llm(large language model, 即大规模预训练语言模型),更接近foundation model(即基座模型)的概念,既包含纯文本的llm,也包括多模态的mllm(Multimodal Large Language Model)。

1.1、基于语义向量变换角度理解大模型完成任务的能力

语义向量(word vector)是一种用数学方式表示词语、短语或文本语义含义的技术 [1]。它可以将语言中的语义信息编码为固定维度的数值向量,便于计算机处理和分析。有如下性质:

  • 语义相近的词语,其向量在空间中距离较近。通过余弦相似度等方法可计算向量间的语义相似度。
  • 语义向量支持加减乘除等数学运算。例如"king - man + woman ≈ queen"这样的类比推理。

大模型虽然是“文科生”,但底层原理还是数学。通过语义向量的角度,可以对大模型的语言能力有更本质的理解:

  1. 语义向量的映射:语义/内容理解(上下文和世界知识)、情感分析
  2. 语义向量的距离计算:近义词判断、分类聚类
  3. 语义向量的截取:信息抽取、实体识别
  4. 语义向量的转换:文生图/视频(跨模态)、翻译(跨语种)、古文&诗词翻译(跨文体)、风格改写(跨文风)
  5. 语义向量的缩放:文本扩展、概括
  6. 语义向量的延伸递进:问答(明确方向的延伸)、评价/对话(模糊方向的延伸)、推理(模糊方向的节点递进/路径搜索)

从向量操作的角度理解大模型完成任务的难度:

向量映射 < 距离计算 < 向量截取 < 向量转换 < 向量缩放 < 延伸递进

这是从向量空间角度的粗粒度划分难度,但实际还是有些特例,比如:

  • 向量缩放的文本扩展,如果需要输出有创意的长文本,比如小说,也会因输出过长,而导致上下文遗忘和错误累加,影响文本连贯性,难度非常高。但概括只需要理解大意并总结输出,相对容易。
  • 向量转换中的跨模态,由于需要不同模型的表征空间对齐,对数据和模型能力要求都很高,对目前的模型来说难度同样很大。
  • 向量延伸递进中的问答,如果是简单的知识检索回答(不需要多步推理),对大模型的难度很小,因为很符合训练数据和目标。

大模型的元能力:

  • 世界知识:世界知识是语义理解的基础,知道不同的文本应该映射到对应的向量,意味着模型从训练语料中学到了知识,而内化在隐藏层的神经元连接和权重。
  • 上下文/小样本学习(in-context-learnning)[2]:能够从指令提供的小样本中学习到专项任务下的注意力权重,效果类似于隐式微调。简单理解:给模型打了个样,于是模型学会了照葫芦画瓢。
  • 指令遵循(Instruction following) [3]:语义理解+语义向量操作能力应用。模型能够根据输入的要求,应用相应的能力,并按要求输出。简单理解:模型能够按照要求的方式和标准完成任务,给模型一个sop,它就能按sop完成任务。
  • 工具使用[4](function calling):指令遵循的特殊形式,可以在调用工具的节点获得额外信息输入。模型可以自主拼接参数调用api,并解析返回结果。目前已有视觉感知和交互的能力如computer_use[5],模拟用户的操作,来减少对api的入侵改造和api调用的知识库构造成本。

1.2、从业务场景理解大模型应用的侧重点

横轴更偏“编码器”部分,更多需要模型的知识和理解能力。纵轴更偏“解码器”部分,更侧重模型的生成和推理能力。

任务vs信息:大模型的结果会应用在后续工作流中,算做任务(需要人工校验或确认是copilot,不需要人工是agent或工作流编排),如果不用在后续节点就算信息。

通用vs垂直:满足的需求聚焦在具体行业或领域就算垂直,不限制即为通用。

不同场景的优化侧重点:

  • 通用宽泛,用户的需求就会偏向长尾,对意图理解的要求就越高,因此对基座模型的世界知识语义理解能力提出更高要求。
  • 垂直冷门,行业知识和预训练的通用知识越不相关,更需要补齐行业知识。通过cpt注入行业知识,或者通过rag挂载外部知识库。
  • 偏向任务,对模型的推理和指令遵循能力要求越高,并且更依赖业务经验。需要通过工作流拆解、示例、微调等方式注入业务经验。
  • 偏向信息,越依赖模型的语义理解、总结能力。同时需要搜索和rag来增强信息的时效性和准确性,rag本身的向量化检索也是关键。

还有两个维度比较重要:

一个维度是面向c端 or b端/内部:c端一般准确率的要求更高,并且潜在风险更高,需要更强的安全保障和兜底策略,b端(助手类)和内部应用要求不那么高

另一个维度是文本 or 多模态:文本比较简单,多模态尤其是生成任务,在不同模态的语义对齐方面难度较高,一般需要算法投入优化。

从上述模型能力和场景侧重点的介绍,应该能够回答通过模型可以完成哪些任务,以及如何预判应用难度和侧重点的问题。

二、从实践案例介绍大模型应用经验和思考

讲完模型能够评估思路之后,趁热打铁结合案例讲解下实际业务中应该怎么用和落地,以及找到模型在业务切入点的思路。

本节目标也是回答两个问题:

1、实际业务中应该怎么落地,思路和流程是什么?

2、如果想在业务中应用大模型,怎么找到切入点?

2.1、结合案例讲解大模型的落地流程和经验

案例1:客服机器人

目标:提高问题工单解决率和时效,提高用户体验。并且减少客服人工介入率,降低用工成本。

应用类型:垂直+任务

模型能力:语义理解+文本分类+指令遵循+问答总结能力

应用难度:中等

侧重点:用户问题意图分类的业务经验(具体类型和表述特征)+敏感话题识别经验+人工介入的判断标准

1.1、项目成果

业务效果:意图分类准确率从xx%提升至xx%,转人工率从xx%降至xx%,对话轮次从x次降至x次,问题解决率从xx%提升至xx%。

1.2、需求拆解

工作流拆解

1.3、落地流程

1.3.1、阶段介绍

1)离线用户问题分析

根据不同来源页面,关键词和历史意图分类抽取用户问题,人工分析归纳意图类型,并总结各类型对应的表述特点。

2)抽取样本打标

通过不同维度和类型抽取用户问题,保证 benchmark 的多样性。

3)意图分类prompt调优

###角色定义

prompt技巧解读

1、角色&性格设定:

2、内容分段

3、符号分隔

4、思维链

5、反思

6、重复

7、输出格式

8、约束

9、任务示例

4)问题回复prompt调优

回复质量评估prompt

系统角色定义:

问题回复prompt

角色定义:

思路:先构造回复质量评估的agent,再构造智能回复agent,用前者对后者打分并不断迭代提高分数。

1.4、项目展望

1、客服agent升级为任务agent:目前智能解答用户的疑问,后续希望升级为可以直接帮用户解决问题完成任务的agent。

2、建立数据飞轮:根据线上转人工的问题,提取人工回复和模型回复建立badcase库,通过prompt调优、微调、知识库等方式并不断优化。

2.2、大模型在业务中切入点的思考

最后还想简单聊聊怎么在业务中寻找和大模型的结合点,主要是个人的一点感想和思考:

2.2.1、钉锤问题,到底用谁找谁 - 均可

以钉找锤:基于当前业务中现有的痛点和问题,尝试用大模型的优势实现和替代,是现有功能、流程的优化。

思路:

1、拆解日常工作流,识别人力耗费多的重复性工作环节。

2、从业务现状出发,列举业务中当前技术做不好的功能和环节。

3、从业务需求出发,抽象出对能力的要求,评估是否可用大模型实现。

举锤寻钉:基于模型能力,思考和业务的结合点,往往是创新的场景和功能。

案例:

1、从世界知识和推理能力思考,可以对推荐系统做数据增强,比如特征方面,可以基于用户行为和物品特点用“常识”推理出偏好,而不仅是从类目频次统计和item的embedding聚合来刻画用户偏好。还有在样本纠偏和补充方面也可以做很多工作,都会有额外的信息价值。

2、从多模态生成能力思考,可以智能生成商品图片和视频等,帮助用户有更全面的感知,降低决策成本。

3、从对话问答能力思考,可以给用户答疑解惑,比如智能客服机器人。

2.2.2、怎么在业务中用好大模型

大模型感觉用不好,主要是在于没有很好地结合大模型能力,在工作流中找到合适的切入点。工作流中不同环节依赖能力不同,所有环节都给大模型做是不切实际的,但大概率有模型能力可以覆盖的环节,这就是切入点。

所以在应用时,业务层面需要抽象拆清楚工作流,每个环节需要什么能力。模型知识层面,需要了解模型具备哪些能力,以及通过哪些方式优化。最终结合业务和模型,找到适合切入点。

还有一点感想,在设计大模型的工作流时,大模型很多时候是替代“人”的角色,而不是代码的角色。基于代码思维的一些设计,很多时候是“委曲求全”,并没有真正拟合人的能力和流程。从人是怎么完成任务的角度来设计流程和方案,或许更适合大模型。最著名的就是马斯克说:“人开车是不需要激光雷达的”,从而推出了全视觉方案的自动驾驶。

小结:本节通过智能客服的案例,回答了在业务中怎么用大模型能力和落地流程的问题。最后针对钉锤问题的探讨,回答了在业务中找大模型切入点的问题。

三、详解大模型原理、prompt技巧和调优方法

本节是偏技术的内容,以流程图的方式讲解大模型的原理,不涉及公式推导,尽量简洁易懂。并列举了prompt技巧,以及调优的方法。

目标回答两个问题:

1、prompt技巧有哪些,为什么这些prompt能产生效果?

2、prompt应该怎么优化,流程和思路是怎样的?

3.1、从大模型原理角度介绍prompt技巧

prompt工程[6]:本质是通过调节输入文本序列帮助模型在预训练学到的巨大概率分布空间中,寻找最优的输出路径

直观化理解:prompt优化就像在语义空间中引导token贪吃蛇,朝着期望方向吃下一个个token,最终输出符合任务要求的token序列。

1、视野聚焦(交代背景,删减无关内容);2、提示注意关键点(强调);3、引导模型方向(cot、示例);4、约束模型方向(约束);

模型和任务是两端,语言(prompt)是链接模型和任务的纽带。

  • 任务角度,是背景和要求表述清楚,让模型的输出和人对齐标准
  • 语言角度,是表达精炼避免歧义和上下文矛盾。
  • 模型角度,是扬长避短,增强模型的能力,规避模型的幻觉问题[7]。

为了更好地理解prompt技巧,这里将大模型的工作原理和prompt技巧关联起来,希望能知其然的同时,也知其所以然。也尝试提供一种框架,希望能在理解生效原理的基础上,可以不断创新扩展prompt技巧。

注:

1、从模型生效环节来列举prompt技巧的框架,仍有局限性,比如无法覆盖拟人的prompt技巧,如“深呼吸”、“赞美”、“PUA”等;

2、表中prompt技巧和大模型的环节对应关系并非实验论证,而更多是经验和直觉的关联。很多prompt技巧是横跨多个环节生效的,比如“示例”是既在前馈层激活任务相关知识,又在注意力层让模型关注例子中的模式。这里为了简化理解,将技巧仅关联到其中一个环节上(高清大图见文末);

3.2、详解prompt调优流程和方法

写prompt有两大流派:“随心所欲”派和“循规蹈矩”派。前者特点是按自己的理解写prompt,不局限于模板和固定范式,后者是按照模板一步步写prompt,尽量全面但不缺失。

我觉得比较好的方式是有一定套路,但不照搬模板的“按图索骥派”。

大模型目前很像“内力深厚”(理解世界知识)且懂得各类“武林秘籍”(知道各种prompt技巧),但不懂得实战的潜在高手,prompt调优就像在逐步教会ta“实战”,所以下面用偏武侠的风格介绍:

起势(撰写初版prompt):

知己知彼:充分理解任务的关键点,以及用到模型哪些能力,从而确定prompt重点。比如重点是业务经验 + 推理能力,就需要先梳理业务经验和流程,并通过cot和示例增强推理能力。

关于总结业务经验和流程有个较为熟知的方法:假设有一名实习生,没有业务背景,你需要提供哪些信息,帮助ta完成任务。

还有一个方法是,你假装自己是大模型,按任务要求输出一次结果,然后从每个环节反推需要哪些信息。既可以评估难度,也可以对落地的侧重点有个预判。

对决( prompt调优):

1、排兵布阵:在构建benchmark时,需要尽可能保证多样性,能够充分覆盖业务实际的各种场景。避免评测集多样性差,导致未覆盖场景的准确率不足。

2、投石问路:运行初版prompt验证模型能力是否满足任务要求。标志:模型是否能够正确理解要求,模型的推理方向是否准确。

3、洞若观火:查看大模型不符合指令或者幻觉的结果,人工分析原因。比如背景信息不全,模型理解偏差,格式不符合约束,数值对比幻觉等等。

4、步步紧逼:人工不易看出问题时,可以让大模型先不要给出结果,只产出分析过程,便于看出模型的理解哪里有偏差。

5、攻守易位:让大模型按自己的理解来复述要求,并构造例子展示prompt结果,使问题点充分暴露

6、借力打力:将prompt和模型错误结果都输入给大模型,让大模型分析出错原因,并给出优化建议。如果业务中只能用开源模型或小模型,还可以让大模型纠错和优化prompt,然后再用到小模型上。

7、见招拆招:找到问题点后,结合列举的prompt技巧进行优化。比如补充业务经验引导,通过示例对齐标准和强化推理,多次强调加强约束,补充小数提示解决数值对比出错等

8、步步为营:prompt任何变动都尽量测试准确率,包括但不限于:只改语序未改语义,改变输出格式,调整示例及顺序,更换基座模型等

9、以退为进:如果prompt中的某些步骤,通过大模型很难解决,思考是否可以通过代码或者工具来解决,而不是和大模型死磕。比如数学运算通过使用计算器解决。

10、严防死守:大模型是基于概率而不像代码是基于逻辑的,因此不可避免会出错,需要有检查修正节点,尤其模型输出直接暴露给C端的场景。以及如果用户可通过自定义的prompt直接和大模型交互,需要考虑提示注入防护,避免用户诱骗大模型输出不当言论和内容。

11、审时度势:如果发现模型较难对齐标准,可以考虑将一部分业务经验转化为强规则让大模型执行,不追求完美主义。如果基本用尽以上优化方法和提示词技巧,模型表现还是不足,可以考虑放弃,等待基座模型能力提升。

科技狠活:输出每个token的依据即激活的神经元[10],辅助判断问题出在哪里。比如“9.11和9.9比大小”的典型幻觉问题中,可以发现大模型错误激活了恐怖袭击相关的神经元。

工具链接:https://monitor.transluce.org/dashboard/chat

小技巧:

基于cot和大模型生成示例:当思维链较长,导致不易构造示例时,可以先写好cot,在真实case上跑一下,挑选符合要求的大模型输出结果当作示例。

除了以上列举的人工调优技巧外,prompt自动调优技术在学术界也有比较多的探索,包括基于梯度[11]、搜索[12]、强化学习[13]、元学习[14]等不同流派,这部分实践较少,后续会有相应探索,这里不做展开,感兴趣的读者可以自行了解~

FAQ:

Q:prompt是否越简练越好?

A:从成本角度是越简练越好,但从效果角度,如果增加的是任务相关的信息,反而有可能提升效果,比如重复强调的技巧。

Q:cot是否拆成多个节点的请求,每个请求只处理其中一个环节效果更好?

A:多节点的效果似乎并不比单次请求更好,而且可能存在上下文丢失的问题。除非是任务复杂到单次无法输出完整,必须拆分成多个节点,否则都建议在一次请求中完成。

Q:使用大模型优化prompt是否效果更好?

A:通常情况下,大模型优化prompt效果都会更好或压缩字数,但如果prompt中存在较多业务经验的总结,比如表述特征或推理流程时,模型因为缺少业务背景知识,可能会将这部分信息简化而影响效果。

四、总结&建议

4.1、总结回顾

本文从大模型能力和应用场景开始,从向量空间角度介绍了大模型处理不同任务的能力和难度。也将模型的应用场景划分为了四个象限(通用/垂直和信息/任务),每个象限分别介绍了优化的侧重点。主要是提供一种评估思路,支持模型在业务应用的前期评估

第二部分结合案例介绍落地经验,包括前期评估、工作流拆解、落地流程和优化经验,也探讨了在现有业务中找到大模型结合点的问题,并基于实践经验提出一些思考和观点,希望能为大家提供借鉴和参考的价值。

第三部分是相对技术向的内容,主要介绍prompt技巧和优化思路,首先结合模型工作原理和prompt技巧进行了整体讲解,希望能知其然也知其所以然,可以在这个框架下尝试新的prompt技巧,也介绍了在已知技巧的基础上,在业务落地时调优prompt的流程和方法。希望为大家提供一个地图,帮大家遇到问题时“按图索骥”

4.2、忠告及建议

1、大模型发展日新月异,能力在不断提升。意味着需要与时俱进,持续更新提示词。例如,在OpenAI的o1模型中,思维链技巧的效果不佳,角色扮演技巧的有效性目前也存在争议。

2、不要对大模型的使用发怵,其实并不复杂,大模型本质是基于自然语言处理的,是人机交互中很自然的方式。最简单的方法就是直接在对话框中写下你的需求,剩下的交给大模型。关键在于多加尝试,观察结果并分析问题,实践中学习能够达到最佳效果。大模型的优势在于它能够支持实践-学习-优化的循环。当遇到问题时,可以询问模型原因和解决方案,理解后再改进提示,整个过程甚至无需离开对话框。

3、要在业务中应用大模型,业务经验以及prompt技巧和模型理解都很重要,业务和算法都需要补齐各自短板,打好配合。业务知识和经验是隐式的,往往需要case by case的学习和理解,慢慢浸泡才能有所理解和积累。但是技术知识和原理是显式的,可以通过阅读文章快速入门,再辅以实践来巩固。ps:不要排斥论文,有大模型不管是翻译还是总结,都大大简化了阅读论文的难度,是既能开阔全局视野,又能跟上前沿创新的很好信息源。

误区:

1、对大模型的一种误区是过于轻视,简单尝试几次就放弃,认为大模型能力达不到业务要求,实际很可能是因为没有写好prompt而没用好大模型。

2、 对大模型的另一种误区将其神化,对其抱有不合理的期待。大模型也有其固有的劣势,比如基于概率带来的精确性问题,计算延迟和高昂成本等,并不是所有的应用都值得用大模型重做一遍,哪怕是传统的模型也有自己的优势,关键是找到大模型适合发挥的场景,而不是挥着大模型的锤子,硬砸所有钉子。

五、未来展望

5.1、大模型长期趋势

  1. 智能度持续提升,完成任务和多模态的能力增强
  2. 推理成本下降,轻量级模型性能提升

[15]

  1. 基座模型能力增强,潜在应用场景增加,应用层价值增厚(互联网是倒三角的收入结构,但生成式AI是金字塔结构)

[16]

5.2、价值链重塑

  1. 入口迁移:互联网平台主要价值在于“数字化供给”和“链接用户”,大模型在这两方面都能发挥作用,从而增加平台价值。但大模型独有的语义理解+工具使用能力,可能改变用户和平台互动方式。用户开始能够对终端设备发出指令,终端来和平台交互完成任务。这会导致用户和平台的交互次数减少流量也从泛需求为主变得更为聚焦,影响到平台的流量池和分布,进而对广告为主的商业模式造成影响
  2. 潜在机会:大模型可以加强用户被动的链接模式,当前主流的链接模式都是用户主动触发的,但某些场景更适合用户被动的链接。特点是用户需求相对固定,但空闲时间不固定,和供给高时效的场景,此时大模型可以作为代理的角色,决策是否主动推送给用户决策,现有典型场景是rss订阅、特价机票订阅、活动推送等。

5.3、商业化挑战

  1. 高算力成本挑战传统商业模式:短期内大模型单次请求的算力成本仍较高,目前是互联网搜索的单次请求成本的10倍以上(来源于谷歌ceo的采访)。而边际成本的剧增,既可能颠覆免费+广告模式的底层逻辑,也对网络效应形成挑战(新增用户的边际成本递减,但网络价值平方级提升)。

[17]

  1. 盈利模式设计变得更为关键:同样基于算力成本的增加,先烧钱再探索盈利模型的难度激增,早期的盈利模式设计更为重要

5.4、潜在应用方向

  1. C端应用:预计更多现有产品会推出大模型相关的高级付费功能
  2. B端市场:B端降本增效可能是更高价值场景,如编程助手cursor、设计工具Adobe Firefly,以及部分重复工作的自动化
  3. 智能硬件:多模态与轻量化趋势带来硬件层机会(如智能眼镜、耳机等)

附件:

图1:

图2:

图3:

 大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。


2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书 

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。



4.LLM面试题和面经合集


这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。



👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集***

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

 

更多推荐