大模型的预训练
LLM Pre-Training(大型语言模型预训练)是指在特定任务上进行微调之前,对大型语言模型进行的初始训练阶段。这个阶段的目标是通过处理大规模的语料库数据,让模型学习到语言的统计规律、语义信息和上下文关系,从而为后续的微调任务提供强大的语言理解和生成能力。
大模型的基本结构
编码器——解码器框架
前沿大语言模型结构
Encoder-Only ,Encoder-Decoder ,Decoder-Only
技术发展时间线
第一阶段:海量语料库的预训练,自回归语言模型
第二阶段:自回归模型+prompting
第三阶段:多模态数据加入
第四阶段:一般化(通用)人工智能
语言模型的发展
统计语言模型
(SLM):
基于
统计学习
方法 开发,并在 20
世纪
90
年代兴起。其基本思想是基于马尔可夫假设建立词预测模型,例如根据最近的上下文预测下一个词。
神经语言模型
(NLM):引入了词的分布式表示这一概念,并在聚合上下文特征(即分布式词向量)的条件下构建词预测函数。
预训练语言模型
(PLM)
:
作为早期尝试,
ELMo
被提出来通过预训练一个双向 LSTM
(
biLSTM
)网络(而不是 学习固定的词表示)来捕捉上下文感知的词表示,然后根据 特定的下游任务微调biLSTM 网络。进一步,基于自注意力机制的高度并行化 Transformer 架构。
LLM涌现的能力
上下文学习:假设已经为语言模型提供了一个自然语言指令和/或几个任务演 示,它可以通过完成输入文本的单词序列的方式来为测试实例生成预期的输出,而无需额外的训练或梯度更新。
指令遵循:
通过使用自然语言描述的混合多任务数据集进行微调(称为指令微调),
LLM
在未见过的以指令形式描述 的任务上表现出色
。通过指令微调,
LLM
能够在 没有使用显式示例的情况下遵循新的任务指令,因此它具有更好的泛化能力。
逐步推理:
对于小型语言模型而言,通常很难解决涉及 多个推理步骤的复杂任务,例如数学问题。然而,通过使用思维链(Chain-of-Thought, CoT
)提示策略
,
LLM
可以通 过利用包含中间推理步骤的提示机制来解决这类任务,从而 得出最终答案。这种能力可能是通过在代码上进行训练而获得。
大模型的关键技术
训练:由于巨大的模型规模,成功训练一种能力强的 LLM 是非常具有挑战性的。分布式训练算法是学习 LLM 网 络参数所必需的,其中通常联合使用各种并行策略。
能力引导:使用自然语言表达的任务描述对 LLM 进行指令微调,以提高 LLM 在未见 任务上的泛化能力。然而,这些技术主要对应于 LLM 的涌现 能力,可能对小语言模型的效果不同。
对齐微调:
由于
LLM 被训练用来捕捉预训练语料库的数据特征(包括高质量和低质量的数据),它们可能会为人类 生成有毒、偏见甚至有害的内容。因此,有必要使LLM 与人类价值观保持一致
利用
基于人类反馈的强化学习技术。
工具操作:从本质上讲,LLM 是基于海量纯文本语料 库进行文本生成训练的,因此在那些不适合以文本形式表达的任务上表现不佳(例如数字计算),此外,它们的能力也受限于预训练数据,例如无法获取最新信息。为了解决这些问题,最近提出了一种技术,即利用外部工具来弥补 LLM 的不足 。例如,LLM 可以利用计算器进行准确计算 ,利用搜索引擎检索未知信息 。最近ChatGPT 已经实现了使用外部插件(现有或新创建的应用程序)的机制,这类似于 LLM 的“眼睛和耳朵”。这种机制可以广泛扩展 LLM 的能力范围。
文献:大语言模型综述