Large Language Model.

Undergoning…

大型语言模型(Large Language Model, LLM)是指包含数百亿以上参数的语言模型。LLM与以前的预训练语言模型使用相似的模型结构和预训练任务,但它们具有更多参数,并在海量的文本数据上进行训练,从而获得对语言深层次的理解,尤其在解决复杂任务时表现出了惊人的潜力。

本文首先介绍大型语言模型的能力,然后介绍大型语言模型的发展,最后。

1. 大型语言模型的能力

(1)尺度定律 Scaling Law

尺度定律 (Scaling Law)是指随着语言模型规模(模型大小、数据量、训练时间)的扩大,模型的表现显著提升。通常大模型的应用由三个阶段构成:预训练、后训练和在线推理;在每个阶段都体现出不同的尺度定律。

符合尺度定律的任务一般是知识密集型任务。随着模型规模的不断增长,任务性能也持续增长,说明这类任务对大模型中蕴涵的知识数量要求较高。

⚪ 预训练阶段的尺度定律

Scaling Laws for Neural Language Models一文指出,预训练模型的性能(交叉熵损失$L$)与模型大小$N$、数据集大小$D$和训练计算量$C$之间存在幂律关系(即增大任意一个都能够提高模型性能);并且给出了固定预算$C$下的训练成本$N$和$D$分配策略。

Training Compute-Optimal Large Language Models一文把模型大小$N$、数据集大小$D$和训练计算量$C$之间的幂律关系修正为:

\[N \propto C^{0.50}, \quad D \propto C^{0.50}\]

并指出实现计算最优训练,模型大小$N$和数据集大小$D$应该等比例增长:每增加一倍的模型大小,训练 token 数量也应该增加一倍。

Inverse scaling can become U-shaped一文指出,LLM在一些特定任务上会表现出逆向尺度定律(模型性能随着模型规模的增加而下降)。当模型规模进一步扩大时,这种逆向趋势可能会转变为 U 形趋势(性能先下降后上升)。通过提供1-shot prompt或思维链提示可以缓解这种不理想的趋势。

⚪ 后训练阶段的尺度定律

后训练阶段的强化学习 Scaling Law(RL Scaling Law)

⚪ 在线推理阶段的尺度定律

在线推理阶段的 Inference Scaling Law(Test Time Scaling Law)

(2)涌现能力 Emergent Ability

LLM涌现能力 (Emergent Ability)是指随着模型规模增大而出现的新能力:当模型规模未能达到某个阀值时,模型在某些任务上的表现接近随机水平;当模型规模跨过阀值,LLM模型对此类任务的效果就突然跃升到显著高于随机水平。其规律符合量变引起质变的哲学原理。

Beyond the Imitation Game: Quantifying and extrapolating the capabilities of language models一文指出,符合涌现能力的任务一般是由多步骤构成的复杂任务。本文对这一现象产生的原因做了一些分析:

Emergent Abilities of Large Language Models一文补充说明,涉及多步推理和复杂语言理解的任务更容易出现涌现能力。分析这些任务的交叉熵损失,发现即使在性能接近随机水平时,模型的交叉熵损失也在逐渐改善;这表明模型在某些方面已经有所提升,但这些提升并未反映在下游任务的性能指标中。

Are Emergent Abilities of Large Language Models a Mirage?一文指出,所谓的“涌现能力”可能是由于研究者选择的评估指标导致的,而非模型内在的特性。非线性或不连续的评估指标会导致性能的突然变化,而线性或连续的指标则显示性能的平滑、连续和可预测的提升。

LLM 典型的涌现能力包括:

⚪ 上下文学习 In-Context Learning

上下文学习(in-context learning)又称为少样本提示(few-shot prompt),这种能力允许语言模型在提供自然语言指令或多个任务示例的情况下,通过理解上下文并生成相应输出的方式来执行任务,而无需额外的训练或参数更新。

Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?一文指出,上下文学习提供的示例中标签的正确性并不重要,重要的是输入文本的分布、标签空间、输入-标签配对的格式。

What learning algorithm is in-context learning? Investigations with linear models一文指出训练有素的上下文学习器隐式地实现了一些标准的学习算法(如梯度下降、岭回归和精确最小二乘回归),并在处理上下文示例时使用这些算法隐式地学习输入-标签的对应关系。

Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers一文指出,LLM可以通过不更新参数的隐式优化来实现类似微调的效果:通过提供的示例生成“元梯度”,并通过注意力机制将这些元梯度应用于原始模型,从而构建一个上下文学习模型。

⚪ 思维链 Chain of Thought

思维链(CoT, Chain of Thought)是一种特殊的few-shot prompt,它通过在提示中包含中间推理步骤,使模型能够逐步推理出复杂任务的答案。这种能力可能是通过对数学题或代码的训练获得的。

⚪ 指令微调 Instruction Tuning

指令 (instruct)是对自然语言任务的形式化描述,将其转换为方便人类理解的任务表述。指令微调 (Instruction Tuning)允许语言模型通过使用指令描述的多任务数据进行微调,从而在使用指令描述的新任务上表现良好,展示了其强大的泛化能力。

Finetuned Language Models Are Zero-Shot Learners (FLAN)62 个公开的 NLP 数据集转换为指令格式,每个数据集都被手动编写了十个独特的指令模板,对于分类任务在指令的末尾添加了一个“选项后缀”。实验表明通过指令微调的137BFLAN模型的零样本性能甚至超过了175BGPT-3模型的少样本性能。

Super-NaturalInstructions: Generalization via Declarative Instructions on 1600+ NLP Tasks提出了SUP-NATINST数据集,一个包含1616个任务的指令微调基准数据集,涵盖了76种不同的任务类型和55种语言。每个任务都配有包括任务定义、正例和负例的详细指令。基于该数据集训练了Tk-Instruct模型,发现随着任务数量、训练实例数量或模型规模的增大,模型的性能会进一步提升。

Scaling Instruction-Finetuned Language Models一文也指出,随着模型规模的增大(540B)和微调任务数量的增加(1.8K),指令微调模型的性能会进一步提升。此外在微调过程中加入思维链数据,模型在推理任务中表现更好。

Training language models to follow instructions with human feedbackOpenAI API用户提交的大量提示中收集包含真实需求的指令数据,并进行人工标注。基于标注数据集按照以下微调了InstructGPT模型:

  1. 监督学习微调(SFT):对GPT-3进行监督学习微调,将用户的实际指令作为输入,模型的输出目标是标注者的期望输出。
  2. 奖励模型训练(RM):对于每个输入提示,标注者对模型的多个输出进行排名。训练一个奖励模型(输出为标量值的GPT-3架构)进行输出偏好预测。
  3. 强化学习微调(PPO):把监督学习微调的模型作为初始化,使用PPO算法以奖励模型的输出作为奖励信号,优化模型的输出。

Large Language Models Are Human-Level Prompt Engineers提出了指令自动生成方法Automatic Prompt Engineer (APE),使用LLMs生成和搜索指令候选集合,然后通过优化一个选定的评分函数来选择最佳指令。

2. 大型语言模型的发展

(1)Transformer-based LLMs

GPT-3 PaLM LaMDA Chinchilla

(2)RNN-based LLMs

(3)SSM-based LLMs

(4)Convolutional-based LLMs

⚪ Reference