简介
AI大模型是“人工智能预训练大模型”的简称,包含了“预训练”和“大模型”两层含义,二者结合产生了一种新的人工智能模式,即模型在大规模数据集上完成了预训练后无需微调,或仅需要少量数据的微调,就能直接支撑各类应用。AI大模型主要分为三类:大语言模型、CV大模型和多模态大模型,我将分别介绍它们的背景知识、关键技术、演进路线和挑战。
什么是大语言模型
大语言模型(Large Language Model,LLM)是一种大规模预训练神经网络语言模型。
大规模:区别于已有的较小规模并主要用于理解类任务的预训练语言模型(如BERT),特指规模较大(数十亿到数千亿参数)并具有较强生成能力的语言模型。
预训练:在海量文本数据集上预训练,以GPT3为例, 300B tokens可用于训练参数量大小为175B的LLM。 "token"通常指的是一个离散的文本单元,它可以是单词、标点符号、数字或其他语言元素,这些元素被用作训练和生成文本的基本单位。
语言模型:通俗来说,指对于任意的词序列,能够计算出这个序列是一句话的概率的模型。用于预测未来或缺失tokens的概率。
语言模型的演进
语言模型的定义:
等价定义:从文本生成的角度,定义语言模型为:给定一个短语(一个词组或一句话),语言模型可以生成接下来的一个词。
统计语言模型 Statistical language models (SLM) :
起源于90年代的统计学习方法,基本思想是基于马尔可夫假设建立词预测模型,即每个词只依赖前序词。代表方法为N-gram语言模型。
神经语言模型 Neural language models (NLM):
N-gram的缺陷:将词看作离散变量并用one-hot表示,导致词与词不存在语义关联,且参数量级是指数级。
NLM通过结合词向量(word embedding)
和前馈神经网络
来解决上面两个问题:
每个词用低维稠密向量表示,这就使得语义相似的词对应的向量在空间中相邻成为可能(前提是词向量训练的效果达到预期),给模型带来了泛化能力上的提升;神经网络强大的学习能力很适合拟合概率分布。
FFNNLM(2003,Bengio):将wi前n-1个词的向量进行拼接作为网络输入,经过一次非线性变换,最后输出字典中每个词的概率作为预测结果
预训练语言模型 Pre-trained language models (PLM):
ELMo(2018):预训练方式的早期尝试,采用预训练的双向LSTM网络学习词向量并根据下游任务微调网络。
BERT(2018):Pre-training of Deep Bidirectional Transformers for Language Understanding 一个多层Transformer的Encoder,再连接到不同的下游任务。采用两个无监督任务进行参数预训练,语料库大小3200M。
这类方法形成了预训练+微调的学习范式,在此基础上发展了多样的语言模型(GPT-2(2019)、BART(2020))。
大语言模型 Large language models (LLM):
大量研究工作通过训练参数量更大的PLM来探索性能的瓶颈,如175B的GPT-3和540B的PaLM。
具有相似结构和预训练任务,而模型大小不同的模型展现出了不同的能力:大PLM表现比小PLM更优,如具有涌现能力。
GPT-3可通过in-context学习解决少样本问题而GPT-2难以解决,因此学术界将大规模的PLM称为LLM。
ChatGPT:将LLM用于对话任务,展现出惊人的和人类对话的能力。
LLM的工作原理
LLM的缩放法则(scaling law):
LLM主要建立在Transformer架构上。LLM极大扩大了模型大小、数据大小和总计算量。大量研究表明增加模型大小、数据量、训练时间可以极大提升LLM的能力。
存在两个定量的方法来描述LLM尺度的影响,可以粗糙地在训练阶段根据模型和数据大小预测模型性能
LLM的涌现能力(Emergent Abilities):
定义为小模型不存在仅大模型拥有的能力,是区分LLM和PLM的关键特征,当尺度达到特定值模型性能显著提升,这个值难以精确评估,和模型种类、大小和任务都有关。
涌现能力1-上下文学习(in-context learning):
GPT-3正式提出预测时,给语言模型输入足够的自然语言指令或背景知识、任务描述等,不通过额外训练或梯度更新就能够通过补全来生成期望的输出如few shot:6+7=13,6+6=12,5+5=10,8+9=?
ICL能力依赖下游任务,如可出现在算术任务里,13B的GPT-3可轻松解决加减运算而175B的GPT-3在波斯语问答任务上表现不佳
涌现能力2-指令遵循(Instruction following):
指令微调:指通过构建指令格式的实例,然后以有监督的方式对大语言模型进行微调。指令格式通常包含任务描述,一对输入输出以及示例(可选)。
通过指令微调,LLM可以在没有见过的任务上有不错的表现。
大模型独有能力,如PaLM至少需要62B才能具有该能力。
涌现能力3-逐步推理(Step-by-step reasoning):
小模型通常难以解决设计多段推理步骤的复杂任务,在思维链(chain-of-thought,CoT)的提示策略下,LLM能够利用涉及中间推理步骤的提示机制来推导最终的结果。该能力经猜测可通过在代码上训练获得。
经验研究表明CoT用在60B以上的PaLM和LaMDA上能带来算术推理能力的提升,明显优于普通提示学习在100B模型上微调的性能。
思维链提示(CoT Prompting):
通过在Few-shot样本中加入推理过程,可以引导模型在解码过程中,先给出推理过程,再得到最终答案;
类似中间推理过程的加入,可以显著提高模型在常识推理,数学问题,符号推理等复杂推理问题上的模型表现。
LLM的关键技术
在LLM发展的过程中,大量的技术相继被提出,极大提升了LLM的能力,这里简单介绍五类关键技术
缩放(Scaling)
根据前面描述的缩放法则,越大的模型、数据量、训练时间趋向于获得更好的模型性能.
可用缩放法则指导有限资源下的模型大小、数据量和训练时间的设置,以取得目标性能(训练损失).
如Chinchilla,实现了700亿参数量性能超越5300亿参数量的MT-NLG.
训练(Training)
大模型给训练带来了挑战。
分布式训练算法用于训练LLM,采用了大量的并行策略
DeepSpeed、Megatron-LM发布了优化框架便于并行算法的实现。
多种优化技巧:重启策略(Palm)、混合精度训练(BLOOM)、用小模型预测大模型性能(GPT-4)等。
能力激发(Ability eliciting)
大规模预训练后,LLM被赋予了潜在的通用任务解决能力,但是面对特殊任务这些能力不会明显显示出来。
指令微调,CoT提示,ICL学习策略等激发LLM潜在的能力。
对齐微调(Alignment tuning)
由于LLM的训练语料质量高低不一,LLM可能生成有偏见的、令人不快的内容,因此需要将LLM与人类价值(有用、诚实和无害)对齐。
InstrutGPT利用人类反馈的增强学习技术(reinforcement learning with human feedback,RLHF)进行微调,过程中需要人仔细地标注数据。
工具使用(Tools manipulation)
LLM被训练为文本生成器,在非文本表述地任务中表现欠佳且受限于预训练数据,不能获取实时信息。
工具使用技术被用来补偿上述LLM的缺陷。
利用计算器获得精确计算能力。
利用向量搜索、知识库获得未知信息。
利用额外插件(如app的API)扩展LLM的功能。
LLM的发展趋势-GPT的技术演进
早期演进
OpenAI的早期尝试基于RNN的语言模型,Transformer出现后,发展了两个初始GPT模型:GPT-1和GPT-2,是GPT-3和GPT-4的基础模型。
GPT-1(2018)(Generative Pre-Training)使用了12层的transformer,训练分为无监督的预训练和有监督的模型微调
GPT-2(2019)目标是使用无监督的预训练模型做有监督的任务,基于GPT-1使用了更多的网络参数和更大的数据集
核心思想:任何有监督任务都是语言模型的一个子集,当模型的容量非常大且数据量足够丰富时,仅仅靠训练语言模型便可以完成其他有监督学习的任务
贡献:验证了通过海量数据和大量参数训练出来的词向量模型有迁移到其它类别任务中而不需
要额外的训练,表明随着模型容量和数据量的增大,其潜能还有进一步开发的空间
LLM面临的挑战
幻觉问题
指的是AI 输出中不正确或无意义的部分,尽管这类输出在句法上是合理的,减轻幻觉问题是一个蓬勃发展的研究课题。
优化上下文长度限制
大多数大语言模型的输入长度都在2K以内,支持超长上下文模型有claude-1.3-100k。
GPU替代方案
随着模型规模的不断增大,GPU可能会遇到性能瓶颈,也可能无法满足能效。代替方案TPU、IPUs、量子计算。
设计新的模型架构
适用于特定任务或问题的模型,以及从根本上重新考虑自然语言处理的基本原理。一些方向包括使用图神经网络、因果推理架构、迭代计算模型等。
提高从人类偏好中学习的效率
数据采集成本高,研究人员正在探索如何在从人类偏好中学习时提高效率和性能,例如使用主动学习、迁移学习、半监督学习等方法。
合并其它数据模态
许多用例需要多模态数据,特别是在涉及多种数据模态的行业,如医疗保健、机器人、电子商务、零售、游戏、娱乐等。
如果你还想挖掘更多宝藏内容,扫描下方二维码关注我们,更多惊喜等着你哟!