1.2 大语言模型技术历程
1.2.1 大语言模型技术路线
大语言模型(Large Language Model,LLM)技术是近年来人工智能领域的一项重要进展。它通过在海量的文本数据上训练深度神经网络,使模型能够习得丰富的语言知识,并能够根据不同的任务和输入生成合理的文本输出。LLM技术的出现,为NLP领域带来了革命性的变化,也为人机交互、内容创作、知识获取等多个场景提供了强大的支持。LLM技术的发展历程如图1-2所示。接下来,我们一起回顾LLM技术的发展历程,分析其中的关键技术进步,探讨未来的挑战与机遇。
图1-2 LLM技术的发展历程
神经网络语言模型
LLM技术的起源可以追溯到2013年,当时谷歌提出了一种基于RNN的语言模型,称为神经网络语言模型(Neural Network Language Model,NNLM)。这种模型能够利用上下文信息预测下一个词出现的概率,相比于传统的基于统计的语言模型,神经网络语言模型具有更好的泛化能力和更低的计算复杂度。然而,由于RNN存在梯度消失和梯度爆炸等问题,限制了模型的深度和规模。
长短期记忆网络语言模型
2014年,谷歌又提出了一种基于长短期记忆网络(LSTM)的语言模型,称为长短期记忆网络语言模型(LSTM-LM)。这种模型通过门控机制解决了 RNN 的梯度问题,并能够捕捉更长时序的依赖关系。LSTM-LM 在多个语言建模任务上取得了显著的性能提升,为后续的序列到序列模型(Seq2Seq)奠定了基础。
Transformer模型
2017年,谷歌再次推出一种基于注意力机制(Attention)和自编码器(AutoEncoder)的语言模型。这种模型摒弃了RNN和LSTM的循环结构,通过注意力机制直接建立输入序列中任意两个位置之间的联系。Transformer在并行计算和长距离依赖方面具有明显的优势,并在机器翻译等任务上刷新了纪录。具体来说,Transformer在WMT 2014数据集的英语-德语翻译任务中将BLEU分数提高了2.8分。
BERT:预训练-微调框架
2018年,谷歌基于Transformer模型又提出了一种预训练-微调框架(Pre-training-Fine-tuning),称为BERT(Bidirectional Encoder Representations from Transformers)。这种框架通过在大规模无标注文本上进行掩码语言建模(Masked Language Modeling)和下一句预测(Next Sentence Prediction)两种任务的预训练,得到一个通用的语言表示模型,然后根据不同的下游任务进行微调,实现端到端的迁移学习。BERT在11个自然语言理解(Natural Language Understanding,NLU)任务上取得了突破性成果,例如在SQuAD v1.1问答任务上,BERT将精确度提升至93.2%,超过了人类的表现。这种成功促进了一系列基于Transformer模型和预训练-微调框架的LLM技术的研究。
GPT:生成式预训练变换器
2019年,OpenAI提出了一种基于Transformer模型和预训练-微调框架的生成式预训练模型,称为GPT(Generative Pre-trained Transformer)。GPT 通过在大规模无标注文本上进行单向语言建模(Unidirectional Language Modeling)任务的预训练,可以生成具有连贯性和逻辑性的文本。随后,OpenAI进一步推出了GPT-2和GPT-3,大幅提高了模型的规模和性能。具体来说,GPT-3拥有1750 亿个参数,是GPT-2规模的116倍,同时在多个任务上的性能也得到了显著提升。这引发了业界对大规模预训练语言模型的广泛关注和讨论。
在语言模型技术的发展历程中,一些重要的技术突破为大语言模型技术的进步铺就了道路。首先,长短期记忆网络的出现,解决了循环神经网络中的梯度消失和梯度爆炸问题,使模型能够捕捉更长期的时序依赖关系,为后续的序列到序列模型奠定了基础。其次,自注意力机制的引入,使得模型能够更为灵活地处理输入到序列中的长距离依赖关系,从而显著提高了模型在机器翻译等任务上的性能。最后,预训练-微调框架的运用,将大规模无监督预训练和有监督微调相结合,实现了从通用语言知识到特定任务的迁移学习,使模型可以更好地适应各种自然语言处理任务。
大语言模型技术的规模从最初的神经网络语言模型的几百万个参数到GPT-3的1750亿个参数,经历了翻天覆地的变化。这种规模的增长使模型具有更强大的表现力,可以掌握更丰富的语言知识。同时,随着训练数据量的不断增加,模型对海量文本中的语言规律和知识的学习也变得更加深入。然而,随着模型规模的增大,计算资源和能源消耗也在不断增加,这给模型的普及和应用带来了挑战。
展望未来,大语言模型技术面临着许多挑战和机遇。例如,如何在保持模型性能的同时,降低模型规模和计算复杂度就是一个重要的课题。首先,可以通过模型压缩、知识蒸馏等技术,降低模型的计算需求,使其更适合部署在资源受限的设备上。其次,在模型的可解释性和安全性方面,需要进一步研究如何让模型的预测过程更加透明,避免出现意料之外的输出,提高用户对模型的信任。此外,随着模型规模的不断扩大,如何有效利用模型的生成能力,推动更多领域的应用创新,也是值得探索的方向。
1.2.2 浅谈智能涌现
涌现能力(Emergent Ability)是指一个系统在达到一定的复杂度和规模时出现的未预料到的新行为或新能力,表现为逻辑认知、世界观、思维链形成和多模态综合能力等。在大语言模型领域,涌现能力指的是,当模型规模达到某个阈值(大模型奇点)之前,增加参数数量带来的性能提升相对较小,效果基本上等同于随机,而在超过该阈值后,增加参数数量则会带来显著的改善。然而一旦突破大模型奇点之后,增加参数数量或者预训练语料带来的性能提升是有限的,更多需要的是高质量和多样化的指令数据来激发它的泛化性。在没有专门训练过的情况下,大语言模型也可以泛化到新的、未知的多模态数据样本上,这样就可以从原始数据中发现未知的新型特征和模式。图1-3展示了论文“Emergent Abilities of Large Language Models”中5个语言模型的8种涌现能力,从中可以非常直观地感受到涌现现象。
图1-3 测试5个语言模型的8种涌现能力[1]
[1] 图中的横轴对应的单位是每秒浮点运算次数(Floating Point Operations Per Second,FLOPS)。
图1-3子图(A)~(D)来自基准BIG-Bench中的4个涌现少样本提示(Few-shot prompting)任务,该基准包含了200多个评估语言模型的基准套件。图1-3子图(A)是一个算术基准测试,用于测试3位加减法和2位乘法。当训练量较小时,GPT-3和LaMDA的准确率接近0,而在训练量达到2×1022 FLOPS后,GPT-3的效果突然超越随机,而LaMDA的阈值则为1023 FLOPS。对其他任务来说,类似的涌现能力也出现在训练量达到类似规模时,这些任务包括国际音标翻译、单词恢复,以及波斯语问答。图1-3子图(E)展示了诚实度问答基准上的少样本提示的涌现能力,该基准用来衡量诚实回答问题的能力。因为该基准是通过对抗的方式针对GPT-3构建的,所以即使将GPT-3放大到最大的规模,其效果也不会高于随机。小规模Gopher模型的效果也接近随机,但是当模型规模放大至5×1023 FLOPS,其效果会突然高于随机约20%。图1-3子图(F)展示了概念映射任务,在该任务中,语言模型必须学会映射一个概念领域,例如理解文本中关于方向的表示。同样,使用大的GPT-3模型,效果才能高于随机。图1-3子图(G)展示了多学科测试,覆盖主题包含数学、历史、法律等。对于模型GPT-3、Gopher和Chinchilla而言,当训练计算量小于1022 FLOPS时,在所有的主题上的效果都趋于随机,但是当训练计算量达到3×1023~5×1023 FLOPS后,效果将远远高于随机。最后,图 1-3 子图(H)展示了语义理解基准,显然,GPT-3 和 Chinchilla 即使放大至最大的规模5×1023 FLOPS,也不能通过单样本(one shot)实现比随机更好的效果。到目前为止的结果表明,单纯地放大模型并不能解决基准,但是当PaLM被放大至2.5×1024 FLOPS(540B)时,优于随机的效果就出现了。
接下来,我们简单地从技术角度和数据角度对涌现能力进行分析。涌现能力是 AI 模型处理复杂任务的重要指标,它揭示了模型在解决需要大量主题集合和基于知识的问题上的潜力。这种能力的出现与模型的技术架构和数据质量密切相关。深度学习作为一种强大的表示学习方法,其优势在于能够提取数据中的层次结构特征。多层神经网络可以学习从基础到高级的抽象表示,展现涌现能力。例如,在自然语言处理任务中,神经网络可以从字符、句法和语义级别学习有效的特征表示。模型的规模(或者说参数数量)是影响涌现能力的关键因素。只有当模型规模达到阈值时,模型才能展现对复杂任务的处理能力。然而,参数数量的增加也可能导致过拟合和计算成本提高,因此需要平衡模型的规模和性能。此外,训练方法和优化算法的改进也能提高模型的泛化能力和学习效率,进而促进涌现能力的出现。数据量和质量同样是决定涌现能力的关键因素。大量的高质量数据可以提供丰富的样本和多样性,使模型能够学到更多的知识和规律。然而,数据量的增加也会增加模型的训练成本和存储需求。因此,除了追求数据量的增加,也需要关注数据质量和多样性,以提高模型的泛化能力和涌现能力。
总而言之,涌现能力的表现是模型架构、参数规模、训练方法、数据量和质量等多个因素共同作用的结果。在实际应用中,需要综合考虑这些因素,以提高模型的涌现能力,从而更好地解决复杂任务。