拥抱“大模型时代” ——原理及相关技术
当前,人工智能技术和应用正在深度融入社会的方方面面,尤其是以ChatGPT等为代表的大语言模型更是成为现象级技术,为整个社会发展方式的深刻变革提供无限潜能,可以说,大模型正在开启一个新的时代。
“大模型”全称为大型语言模型(LLM),狭义上指基于深度学习算法进行训练的自然语言处理(NLP)模型,主要应用于自然语言理解和生成等领域,广义上还包括机器视觉(CV)大模型、多模态大模型等。
大模型“大”的特点体现在“大数据+大算力+大参数”,利用海量的数据和深度学习技术来理解、生成和预测新内容,通常情况下有数百亿乃至数万亿个参数,可以在不同领域和任务中发挥类似人类思维和创造力的智能表现。
一、大模型的基本原理与特点
大模型的原理是基于深度学习,利用大量的数据和计算资源来训练具有大量参数的神经网络模型,并通过不断地调整模型参数,使得模型能够在各种任务中取得最佳表现。
当前流行的大模型的网络架构是Transformer结构。相比于传统的循环神经网络(RNN)和长短时记忆网络(LSTM),Transformer具有独特的注意力机制(Attention),这相当于给模型加强理解力,对更重要的词能给予更多
根据这种网络架构的变形,主流的框架可以分为Encoder-Decoder, Encoder-Only和Decoder-Only,其中:
1. Encoder-Only
仅包含编码器部分,主要适用于不需要生成序列的任务,只需要对输入进行编码和处理的单向任务场景,如文本分类、情感分析等,这类代表是BERT相关的模型,如BERT、RoBERT、ALBERT等。
2. Encoder-Decoder
既包含编码器也包含解码器,通常用于序列到序列(Seq2Seq)任务,如机器翻译、对话生成等,这类代表是以Google训出来T5为代表的相关大模型。
3. Decoder-Only
仅包含解码器部分,通常用于序列生成任务,如文本生成、机器翻译等。这类结构的模型适用于需要生成序列的任务,可以从输入的编码中生成相应的序列。同时还有一个重要特点是可以进行无监督预训练。在预训练阶段,模型通过大量的无标注数据学习语言的统计模式和语义信息。这种方法可以使得模型具备广泛的语言知识和理解能力。在预训练之后,模型可以进行有监督微调,用于特定的下游任务(如文本生成、翻译等)。这类结构的代表就是GPT类模型,它们都是基于Decoder-Only的形式来逐步演化的。
二、大模型的训练过程
在了解了大模型的基本原理后,接下来介绍一下大模型的训练技术。
1. 预训练(Pretraining)
预训练是大模型训练的第一步,目的是让模型学习语言的表达方式和语义信息。预训练阶段最重要的是数据,需要收集大量的无标注数据,例如百科、新闻、博客、论坛等,这些数据可以是多种语言的。这些数据需要经过一定的清洗和处理以去除噪音,最后会以tokenizer粒度输入到上文提到的语言模型中,用于训练和优化语言模型。预训练过程中,模型会学习训练数据集中词汇、句法和语义的规律,以及上下文之间的关系。
2. 指令微调(Instruction Tuning Stage)
在完成预训练后,就可以通过指令微调去挖掘和增强语言模型本身具备的能力。
指令微调(Instruction tuning)是大模型训练的一个阶段,它是一种有监督微调的特殊形式,旨在让模型理解和遵循人类指令。在指令微调阶段,首先需要准备一系列的NLP任务,并将每个任务转化为指令形式,其中指令包括人类对模型应该执行的任务描述和期望的输出结果。然后,使用这些指令对已经预训练好的大语言模型进行监督学习,使得模型通过学习和适应指令来提高其在特定任务上的表现。
为了让模型训练更加高效和简单,这个阶段还有一种高效的微调技术,这为普通的从业者打开了通向使用大模型的捷径。
Parameter-Efficient Fine-Tuning (PEFT)旨在通过最小化微调参数的数量和计算复杂度,达到高效的迁移学习的目的,提高预训练模型在新任务上的性能,从而缓解大型预训练模型的训练成本。在训练过程中,预训练模型的参数保持不变,只需微调少量的额外参数,就可以达到与全量微调相当的性能。
目前,很多研究对PEFT方法进行了探索,例如Adapter Tuning和Prefix Tuning等。其中,Adapter Tuning方法在面对特定的下游任务时,将预训练模型中的某些层固定,只微调接近下游任务的几层参数。而Prefix Tuning方法则是在预训练模型的基础上,添加一些额外的参数,这些参数在训练过程中会根据特定的任务进行更新和调整。
现在常用的Adapter Tuning的技术是Low-Rank Adaptation(LoRA)。它通过最小化微调参数的数量和计算复杂度,实现高效的迁移学习,以提高预训练模型在新任务上的性能。LoRA 的核心思想是将预训练模型的权重矩阵分解为两个低秩矩阵的乘积。通过这种分解,可以显著减少微调参数的数量,并降低计算复杂度。该方式和机器学习中经典的降维的思想很类似,类似地,LoRA 使用了矩阵分解技术中的奇异值分解 (Singular Value Decomposition, SVD) 或低秩近似 (Low-Rank Approximation) 方法,将原始权重矩阵分解为两个低秩矩阵的乘积。
在微调过程中,LoRA只更新这两个低秩矩阵的参数,而保持其他预训练参数固定不变。这样可以显著减少微调所需的计算资源和时间,并且在很多任务上取得了与全量微调相当的性能。
LoRA技术的引入使得在大规模预训练模型上进行微调更加高效和可行,为实际应用提供了更多可能性。
3. 对齐微调(Alignment Tuning)
主要目标在于将语言模型与人类的偏好、价值观进行对齐,其中最重要的技术就是使用RLHF(reinforcement learning from human feedback)来进行对齐微调。主要步骤包括:
(1)预训练模型的有监督微调
先收集一个提示词集合,并要求标注人员写出高质量的回复,然后使用该数据集以监督的方式微调预训练的基础模型。
(2)训练奖励模型
这个过程涉及到与人类评估者进行对话,并根据他们的反馈来进行调整和优化。评估者会根据个人偏好对模型生成的回复进行排序,从而指导模型生成更符合人类期望的回复。这种基于人类反馈的训练方式可以帮助模型捕捉到更多人类语言的特点和习惯,从而提升模型的生成能力。
(3)利用强化学习模型微调
主要使用了强化学习的邻近策略优化(PPO,proximal policy optimization)算法,对于每个时间步,PPO算法会计算当前产生和初始化的KL散度,根据这个分布来计算一个状态或动作的预期回报,然后使用这个回报来更新策略,达到对SFT模型进一步优化。
对齐微调是一个关键的阶段,这一阶段使用强化学习从人类反馈中进行微调,以进一步优化模型的生成能力。它通过与人类评估者和用户的互动,不断优化模型的生成能力,以更好地满足人类期望和需求。
三、提示词工程(Prompt)
除了训练之外,提示词工程(Prompt Engineering)也是一个重要技术方向,也是提升大模型实际使用效果的有效途径。提示词工程是给大模型应用做出合适的提示,使其能实现更好生成效果的一种技术。
其基本思路是,通过给模型提供一个或多个提示词或短语,来指导大模型输出符合要求的内容,本质上是通过恰当的初始化参数,来激发大模型自身的潜力。提示词一般分为以下四种:
1. 零样本(Zero-Shot Prompt)
在零样本场景中,模型根据提示或指令进行任务处理,不需要针对每个新任务或领域都进行专门的训练,这类一般作为训练通用大模型的最常见的评估手段。
2. 少样本(Few-Shot Prompt)
在少样本场景中,模型从少量示例中学习特定任务,利用迁移学习的方法来提高泛化性能,该类prompt也是很多实际应用案例都采取来进行大模型微调训练的方式。
3. 思维链(Chain-of-thought Prompt)
这类Prompt常见于推理复杂任务,它通过引导模型逐步解决问题,以一系列连贯的步骤展示推理的思路和逻辑关系。通过这种逐步推理的方式,模型可以逐渐获得更多信息,并在整个推理过程中累积正确的推断。
4. 多模态信息(Multimodal Prompt)
这类Prompt包含的信息更丰富,主要是将不同模态的信息(如文本、图像、音频等)融合到一起,形成一种多模态的提示,以帮助模型更好地理解和处理输入数据。比如在问答系统中,可以将问题和相关图像作为多模态输入,以帮助模型更好地理解问题的含义和上下文背景,并生成更加准确和全面的答案。
四、其他相关术语概念
人工智能(AI)是研究、开发用于模拟、延伸和扩展的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它致力于理解智能的本质,并生产出一种能够以人类智能相似的方式做出反应的智能机器。
AGI(Artificial General Intelligence)是指通用人工智能,专注于研制像人一样思考、像人一样从事多种用途的机器。它与一般的特定领域智能(如机器视觉、语音识别等)相区分。
AIGC(AI-Generated Content)是基于人工智能技术,通过已有数据寻找规律,并通过适当的泛化能力生成相关内容的技术。它可以生成图像、文本、音频、视频等内容。
Transformer是一种深度学习模型架构,广泛应用于自然语言处理任务。Transformer模型以自注意力机制为基础,已成为众多AI大模型的核心架构。
注意力机制(Attention Mechanism)是一种用于处理序列数据的机制,允许模型在处理输入序列时对不同位置的信息分配不同的注意力权重。这对于理解长文本和建立语境非常有帮助。
参数量(Model Parameters)是指的是神经网络模型中的可调整参数数量。AI大模型通常有数亿到数千亿的参数,这些参数用于存储和学习模型的知识。B是Billion(十亿)的意思,如7B模型就是70亿参数量的大模型。
涌现(Emergence)或称创发、突现、呈展、演生,是一种现象。许多小实体相互作用后产生了大实体,而这个大实体展现了组成它的小实体所不具有的特性。研究发现,模型规模达到一定阈值以上后,会在多步算术、大学考试、单词释义等场景的准确性显著提升,称为涌现。
泛化(Generalization)模型泛化是指一些模型可以应用(泛化)到其他场景,通常为采用迁移学习、微调等手段实现泛化。
大模型正在以惊人的速度改变着我们的世界。本公众号的大模型板块,将从前沿技术、行业应用、热门产品及测评、动态及趣闻等方面持续带来大模型领域前沿、深入、有趣的内容,敬请期待!
- 免责声明
- 本文所包含的观点仅代表作者个人看法,不代表新火种的观点。在新火种上获取的所有信息均不应被视为投资建议。新火种对本文可能提及或链接的任何项目不表示认可。 交易和投资涉及高风险,读者在采取与本文内容相关的任何行动之前,请务必进行充分的尽职调查。最终的决策应该基于您自己的独立判断。新火种不对因依赖本文观点而产生的任何金钱损失负任何责任。