大语言模型在自然语言处理任务中表现出色,相关研究不断深入,涵盖内部机制、训练策略、架构设计等多个方面。随着模型参数的指数级增长和计算能力的提升,大模型展现出诸多小模型所不具备的涌现能力,如上下文学习、按指令执行、逐步推理等,但同时也带来了幻觉等问题。如何快速且深入地研究大模型,成为一项重要课题。
大模型的涌现能力
模型规模的不断扩展,显著提升了下游任务的性能和样本效率。当模型规模突破临界点时,会涌现出一些复杂且意外的能力。模型能够从原始训练数据中自动学习并发现高级特征和模式,这种能力被称为“涌现能力”,也是大模型与小模型的主要区别。
上下文学习能力:模型可通过自然语言指令和任务示例生成预期输出,无需额外训练或梯度更新,GPT-3等大规模模型中表现明显。
按指令执行能力:通过对多任务数据集进行指令微调,大模型能在未见任务上表现良好,当模型规模达到一定程度时,这种能力显著提升。
逐步推理能力:借助思维链提示策略,大模型可利用中间推理步骤解决复杂多步推理任务,如数学词问题等,模型规模超过一定值时,这种能力显著增强。
知识推理和迁移能力:大模型能在看似不相关的任务之间进行知识迁移和推理,表现出通用推理能力。
也有研究指出所谓的“涌现能力”可能与评估指标的选择有关,其真实性仍存在争议。
对NLP的影响
过去十年,NLP领域经历了两次重要的研究范式改变。
从深度学习到预训练模型
在Bert和GPT模型出现之前,NLP主要采用深度学习技术,如改进的LSTM和CNN模型作为特征提取器,以及Sequence to Sequence + Attention框架。这些技术的研究目标是增加模型深度和参数容量,但效果受限于数据量和特征提取器的表达能力。Bert和GPT的出现改变了这一局面,导致部分子领域技术衰退,NLP技术方法和框架趋向统一。
中间任务的消亡:NLP涵盖中间任务和最终任务两类。中间任务如分词、词性标注等不再必要,因为预训练模型已学得语言学特征,可直接解决最终任务。
技术路线的统一:NLP任务分为自然语言理解和自然语言生成两类。预训练模型出现后,特征抽取器转向Transformer,任务采用预训练 + Fine-tuning或Zero/Few Shot Prompt模式,形成Bert模式和GPT模式。
从预训练模型到通用人工智能
从GPT3.0问世至今,ChatGPT是关键节点。过渡期以“自回归语言模型 + Prompting”模式为主导,LLM模型几乎全面采用类似GPT 3.0的模式。这种模式统一了自然语言理解和生成任务的外在表现形式,未来可能发展为更自然的任务描述方式。
LLM适配人的新型交互接口:ChatGPT实现了LLM与人的适配,注入人类偏好知识,提升了易用性和用户体验,使LLM更符合人类表达习惯。
NLP子领域研究价值的变化:许多NLP子领域被纳入LLM技术体系,失去独立研究价值。未来技术发展趋势是追求更大规模的LLM模型,研究者需选择继续研究领域问题还是投入LLM模型建设。
更多研究领域纳入LLM技术体系:追求领域无关的通用人工智能模型,LLM将吸纳更多领域,如图像处理和多模态任务,成为通用人工智能的一部分。
大模型机制
可解释性
大语言模型在自然语言处理方面表现出色,但缺乏透明度给应用带来风险。理解和解释这些模型对于阐明其行为、局限性和社会影响至关重要。提高模型的可解释性有助于用户理解模型预测背后的推理机制,建立信任,并为开发人员提供洞察力来识别偏差、风险和性能改进领域。可解释性还可作为调试工具,提高模型性能,并有助于开发可靠、道德和安全的模型。
训练范式:LLMs的训练分为传统微调和提示两种范式,针对这两种范式,提出了各种类型的解释。
解释大型模型的挑战:包括复杂性高、数据依赖性强、黑箱性质、输出不确定性、评估指标不足等。
模型解释方法:包括局部解释(如特征归因、基于注意力的解释、基于样本的解释、自然语言解释)和全局解释(如探针解释法、神经元激活分析、基于概念的解释)。
基于prompting范式的模型解释:对基本模型和辅助模型进行独立解释,研究它们的学习过程和能力。
未来研究挑战:包括缺乏有效解释、涌现现象的根源未知、Fine-tuning与prompting的区别、模型的捷径学习问题、注意力冗余、安全性和道德性等。
ICL(In-context Learning)原理
随着模型和语料的扩大,大型语言模型展示了从少量上下文示例中学习的能力,即上下文增强学习(ICL)。ICL允许语言模型以演示的形式学习仅给出几个示例的任务,其优势在于提供了一个可解释的接口来与LLM通信,类似于人类通过类比学习的决策过程,并且无需进行参数更新,大幅降低了模型适应新任务的计算成本。
定义:ICL通过使用训练有素的语言模型来估计以演示为条件的潜在答案的可能性,与提示学习和少样本学习有明显区别。
预热阶段:在预训练和ICL推理之间有一个连续训练的阶段,称为Warmup阶段,可以增强ICL推理的能力。
Supervised In-context Training:通过在有监督的ICL数据上进行训练,弥合预训练和下游ICL目标之间的差距。
影响ICL的因素:包括预训练阶段的语料库来源、模型参数量和训练步数,以及推理阶段的示例属性和正确标签等。
ICL工作机制:与训练数据分布、学习机制和特定功能组件有关,例如Transformer中的某些注意力头可能是ICL机制的来源。
知识定位/修改
大模型的知识主要存储在模型参数中,尤其是Transformer的FFN结构中。通过定位和修改模型参数,可以实现对知识的修改。
知识存储位置:Transformer模型的参数分为多头注意力(MHA)和前馈网络(FFN)两部分,知识主体存储在FFN结构中。
修改知识的方法:
从训练数据源头修正知识,通过逆向追踪知识对应的训练数据源,删除数据源后重新预训练模型,但成本较高。
通过对LLM模型进行微调来修正知识,但可能引发灾难性遗忘问题,且成本较高。
直接修改LLM中某些知识对应的模型参数,但需要解决如何确定知识存储位置和如何修改参数的问题。
CoT(Chain of Thought)
思维链(CoT)是增强大型语言模型推理能力的关键方法,通过要求模型在输出最终答案之前明确呈现中间推理步骤,显著提升了模型在复杂推理任务上的性能,并增强了可解释性。
概念:CoT通过逐步将复杂问题分解为一系列子问题并逐一解决,产生一系列推理步骤,这些步骤被称为思维链。
能力:CoT增强了LLMs的推理能力、可解释性、可控性和易用性,使其在算术推理、常识推理等任务上表现优异。
局限:CoT的推理过程可能不完全正确,缺乏通用性,缺乏可解释性分析,依赖高质量的提示设计,计算开销较大,且缺乏理论支持。
预训练
数据收集和预处理
收集大量文本数据,包括书籍、论文、网页等,并进行清洗、格式化等预处理,以适合模型训练。数据清洗步骤包括质量过滤、去重、隐私保护和分词等。
模型架构设计
选择合适的模型架构,如Transformer编码器-解码器、纯编码器或纯解码器模型。常见的架构有:
Encoder-only(仅编码器)模型:适用于分类、回归等任务,代表模型有BERT。
Decoder-only(仅解码器)模型:适用于文本生成等任务,代表模型有GPT。
Sequence-to-sequence(序列到序列)模型:适用于序列到序列的任务,如机器翻译,代表模型有T5。
混合专家模型(MoE)是一种神经网络结构,利用路由机制将输入数据动态分配给一组专家网络,提升模型的表达能力和效率。MoE通过减少计算工作,使模型的预训练速度更快,推理阶段表现出更快的预测速度。
预训练任务设计
预训练在将大规模语料库中的知识编码为模型参数方面发挥关键作用。常用的预训练任务包括:
语言建模(Language Modelling):预训练解码器的常用目标,如GPT3和PaLM。LM任务旨在根据序列中前面的标记预测目标标记。
去噪自编码(Denoising Autoencoding):训练模型以自回归方式恢复替换的跨度,如T5和GLM-130B。
Mixture-of-Denoisers(MoD):将LM和DAE目标视为不同类型的降噪任务,应用于最新的PaLM 2模型。
模型优化与微调
在训练大型模型时,采用一系列优化技术以改善模型的泛化能力、减少过拟合、提高训练效率,包括:
正则化:权重正则化(L1/L2正则化)、Dropout、批归一化。
数据增强:通过随机转换和修改原始训练数据来增加数据多样性。
学习率调整:学习率衰减、适应性学习率优化器。
早停(Early Stopping):监控验证集性能,防止过拟合。
梯度剪裁(Gradient Clipping):防止梯度爆炸。
权重初始化:合理设定权重初始值。
集成方法:提升模型准确性和鲁棒性。
迁移学习:利用预训练模型微调,减少训练数据量和提高性能。
高效训练
随着预训练模型的成功应用,预训练-微调方法在多个领域取得卓越成果。为了提升模型的泛化能力,预训练模型的参数规模快速增长,但也带来了训练的困难。因此,许多研究者提出了多种大型模型高效训练的技术,主要包括并行训练技术。
Data Parallel
其核心思想是按照batch维度将输入数据划分,并将数据分配给不同的GPU进行处理。每个GPU存储的模型和优化器状态完全相同,训练完成后,将各GPU计算得到的模型梯度汇总并求平均值。
Tensor Parallel
张量并行通过将模型参数张量切分到多个GPU上进行计算,减少单个GPU的内存占用。例如,将输入张量与权重张量相乘时,按列分割权重张量,各GPU分别计算部分结果,再合并得到最终结果。Megatron-LM提出了一种高效的1D张量并行方案,主要针对Transformer模型的多头注意力和MLP层进行切分。张量并行通常与其他并行方式结合使用,形成3D并行,进一步提升训练效率。
Pipeline Parallel
Pipeline parallelism将模型训练过程拆分成多个阶段,每个阶段在不同的GPU上执行,提高训练吞吐量。它通常与其他并行方式结合使用,形成3D并行,大幅减少单个GPU的内存占用,支持训练更大规模的模型。例如,在Habana Gaudi2加速器上,结合DeepSpeed分支、Megatron LM和SynapseAI软件,可以训练13B参数的LLaMA和BLOOM模型。
LLMs的适配
Instruction Tuning
预训练后的LLMs具有通用能力,但可通过指令微调进一步调整以适应特定目标。指令微调仅需少量样例进行训练,关键在于确保数据分布均衡。它与预训练策略相融合,结合了两者的优点。指令微调的数据集可通过重新格式化现有NLP数据集或人工标注生成,分为通用任务和专用领域两类。指令微调的效果显著,能提升模型性能和任务泛化性,降低训练成本。
Alignment Tuning
LLMs在NLP任务中表现出色,但可能出现意外行为,如生成虚假信息或有害内容。为避免这些问题,提出了人类对齐的概念,确保模型行为符合人类期望。对齐微调需考虑有用性、诚实性和无害性等因素。RLHF(Reinforcement Learning from Human Feedback)是一种结合强化学习和人类反馈的训练方法,能显著提高模型性能和可靠性,捕捉人类偏好,提高模型的安全性和可靠性。RLHF的对齐步骤包括监督微调、训练奖励模型和RL微调阶段,通过多次迭代更好地对齐LLM。
Parameter-Efficient Fine-Tuning
全参数的指令微调成本较高,因此提出了多种高效参数微调方案。参数高效微调只微调少量或额外的模型参数,固定大部分预训练参数,大幅降低训练成本。主要方法包括:
Prefix/Prompt-Tuning:在模型输入或隐层添加可训练前缀tokens,仅训练这些前缀参数。
Adapter-Tuning:在预训练模型的每一层插入较小的神经网络层或模块(适配器),仅训练适配器参数。
Low-Rank Adaptation(LoRA):通过学习小参数的低秩矩阵近似模型权重矩阵的参数更新,训练时只优化低秩矩阵参数。LoRA是针对大语言模型效果最好的方法,通过降维再升维操作,大幅降低训练成本。
研究方向
大模型适配
随着模型参数规模增加,对下游任务数据集进行全量微调的成本上升,导致大模型难以有效适应各种垂直场景。虽然提出了轻量化的模型微调方法,但针对不同下游任务的低成本高效适配仍需进一步研究。
网络架构
Transformer架构已成为大型模型的主流选择,但随着模型规模扩大,性能增长呈现递减趋势。因此,探索更优秀、高效的网络架构是值得研究的方向。例如,KANs(Kolmogorov-Arnold Networks)是一种新提出的神经网络架构,与传统MLP架构有明显差异,能够使用更少的参数在数学和物理问题上达到更高的精确度。KANs的灵感源自Kolmogorov-Arnold表示定理,通过双层嵌套叠加单变量连续函数来表示多变量连续函数。KANs在函数逼近、求解偏微分方程等方面表现优于MLP,并且避免了灾难性遗忘问题,能够结合人类的思维习惯偏差或专业知识。然而,KAN的训练速度较慢,是其主要缺点。
多模态
将图像、视频、音频等多模态数据集成到语言模型中,拓展至AI for Science、机器人控制等更多领域,是实现通用人工智能的关键。这一方向的研究刚刚起步,具有极高的研究潜力。
激发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也将延续这一趋势。稀疏化模型有明显优势,能显著缩短训练和推理时间。未来,大型语言模型很可能会偏向稀疏模型,因为标准密集Transformer在训练和推理时也存在着稀疏激活,且随着模型规模增大,训练成本高昂,稀疏模型能显著降低成本,特别是在模型规模较大时。然而,稀疏模型目前存在训练不稳定、容易过拟合等问题,未来重点是解决这些问题,设计更易训练的稀疏模型。
目前,大模型仍处于早期发展阶段,许多技术都在探索中,如上下文学习、可解释性、思维链推理、在Transformer中批量编辑内存、将语言模型中的事实知识追溯到训练数据、在GPT中查找和编辑事实关联等,这些领域都很值得投入精力研究。
