在古希腊哲学家柏拉图的《理想国》中,有一个著名的洞穴之喻,描述了一群被困在黑暗洞穴中的人们,他们只能看到洞穴墙上的阴影,以为那是世界的全部。但是,有人因为某种原因走出了洞穴,看到了真正的世界,对于这个人来说,回到洞穴是一种不可想象的打击。而他若试图说服其他的洞中人,也是很难的任务。
这个故事让人们反思,我们真的了解自己所处的世界吗?或者,我们只是困在一座看似真实却实际上是幻觉的洞穴里,以为自己已经看到了全部?
当下,ChatGPT震撼了人们对人工智能的预期。就像柏拉图的那些困在洞穴中的人们一样,过去,AI可以分析一组数据并在其中寻找模式,但是算法无法真正理解语言的内涵和上下文,人们通过算法只能看到表面的阴影。但是,以ChatGPT为代表的AIGC,让我们相信一些重要的变化正在发生,也许人类即将走出这个看似真实但实际上是幻觉的洞穴。
我们正式推出AIGC的“尖峰系列”,呈现源码资本在AIGC领域的深度思考,分享科技和商业的前沿洞察。在伟大征程的起点,召唤更多人与我们同行。
此前,我们发布了《谁是AIGC的“大玩家”?》,从应用到模型、再到行业基础设施,全面总结和探讨了AIGC各环节玩家面临的情况。今天,我们进一步聚焦,从GPT的技术演进到LLM大模型,尝试回答为什么我们正站在AI应用指数级爆发的起点。
ChatGTP及相关应用用户趋势
01 GPT模型的技术演进路径
GPT是什么?
GPT(Generative Pre-trained Transformer),是由OpenAI开发的基于深度学习的自然语言处理模型。该模型的核心是Transformer架构,它可以在大规模文本语料上进行无监督的预训练,即在没有标注数据的情况下,通过模型自身的学习能力,从大规模的文本语料库中自动学习到语言的规律和特征,进而应用于各种自然语言处理任务,例如语言生成、问答、文本分类、机器翻译等。
具体来说,GPT模型首先通过大规模的文本语料库进行训练,例如维基百科、BookCorpus等,从中学习到单词和句子之间的关系和上下文信息。这个过程是无监督的,即没有人工标注的标签和答案。
之后,GPT模型采用自回归语言模型(AR autoregressive),即预测下一个单词的概率分布,使得模型能够理解和学习文本中的语法和语义信息。
预训练完成后,GPT模型可以在各种自然语言处理任务中进行 fine-tuning,通过调整已经预训练的模型的参数,进一步优化模型在特定任务上的性能。
Transformer架构是GPT技术演进中,第一个关键里程碑。
训练时:不需要任何标注数据,任何一段文字都可以直接带有标签。
调用时:将输出后的单字加在序列后,重复调用Decoder(解码器),直到输出一个终止符。
GPT 1-3:模型逐渐加大,模型泛用能力逐渐增强
从GPT1到GPT3,语言模型的参数量和训练数据集的规模不断增加。随着技术的不断提升,GPT模型的性能和应用范围也在不断拓展。
GPT-3模型引入了零样本学习技术,能够在没有任何先验知识的情况下,通过少量的示例进行学习,就可实现新的任务。例如,模型可以通过输入“Translate this sentence into French”这样的指令,自动将英文句子翻译成法文,而无需进行特定的翻译训练。
GPT-3模型具有1750亿个参数,这是迄今为止公开的单体最大模型,在单体性能上具备行业领先性,可以生成几乎与人类水平相当的文本。其成功第一次向人类表明,所有跟语言相关的任务通过一个模型即可达成,不仅可以完成语言相关的任务,还可以完成逻辑相关任务,其模型结构和训练方式都具有很好的可扩展性。
从Transformer到GPT,一切语法和内容分析,都变成了生成的过程。
GPT-1至GPT-3成长路径
在机器学习领域中,模型的参数是指模型中需要学习和调整的变量或权重。模型的训练过程就是为了调整这些参数,使得模型能够更好地适应训练数据,并能够对新数据进行准确的预测或分类。
在深度学习中,模型的参数数量通常非常庞大,包括多个层次、多个节点和多个权重等,因此参数数量可以成为衡量模型复杂度和性能的一个重要指标。参数数量越多,模型的学习能力和表达能力就越强,能够处理更加复杂和多样的任务。
ChatGPT is scary good
现在,我们使用的ChatGPT和New Bing Chat,则是使用了RLHF算法的进一步迭代。
在GPT-3语言模型下,可以通过精心设计的文本提示来引导模型执行自然语言任务。但是,这些模型有时会生成不真实、有害的输出,这部分原因是因为GPT-3是在大量的互联网文本数据集上训练的,而不是在特定任务上进行训练,因此与用户的意图不一定对齐。
为了使模型更加安全、有效,OpenAI使用了InstructGPT对GPT-3模型进行监督学习微调,它使用人类专家编写的提示来指导模型生成更加准确、安全的输出。这些提示通常针对特定任务或应用场景设计。
OpenAI在2022年3月提交的论文显示,与拥有1750亿个参数的GPT-3相比,13亿个参数的InstructGPT模型的输出更受用户青睐,尽管其参数数量较少100倍。此外,InstructGPT模型也在真实性方面的表现更好,同时在公共NLP数据集上的性能基本保持不变。
InstructGPT第一代10万级的标注数据
ChatGPT是在GPT-3.5系列上进一步微调的结果。OpenAI使用了Reinforcement Learning from Human Feedback (RLHF)算法,旨在生成与输入条件和上下文相匹配的自然语言文本,并通过人类反馈来调整模型的生成行为。
RLHF的三个要素:
● Action:模型(Policy) 多次调用输出的一个Sequence
● Environment:人 + 理解人偏好的神经网络
● Reward:人和神经网络的反馈奖励机制
1.采样调用API的数据。人类AI训练师写一个“标答”给网络作监督学习。
2.采样一个更大的调用API的数据。网络生成多个答案,让AI训练师对它们进行优劣排序,形成奖励模型。
3.利用这些奖励模型,使用接近策略优化(Proximal Policy Optimization)微调模型。
现在,New Bing会展现出情绪变化、更丰富的创意创作;ChatGPT也会拒绝不合理请求,承认自己能力有限——它们表现得更像人类了。
02 涌现能力:仅存在于大模型的暴力美学
曾经,小型模型被认为是理解语言“最先进”的技术。这些小模型擅长分析任务,被用于欺诈分类等工作,但这样的传统AI始终是“程序”,它们对通用生成任务的表现力不够,生成人类水平的写作或代码是个白日梦。
现在,人们改变了这一预期,AGI的发展可能会比想象中来得更快。而这其中最重要的因素之一就是大模型的发展。GPT-3模型下1750亿参数量“涌现”出的强大智能表现,让AI似乎具备人类“无中生有”的原创能力。
Scaling Law:加大模型,效果就会变好
Scaling Law(规模定律)是指,在某些系统中,随着系统规模的增加,某些性能指标呈现出特定的变化趋势。在AI大模型中,Scaling Law意味着,当模型足够大、语料足够多、算力足够充足的时候,GPT的性能不光会线性提升,还会突然的指数级爆发,以往在逻辑、正确性等方面的棘手问题将更有希望解决。
如果使用模型的交叉熵损失 Cross-entropy Loss 作为评价模型的标准。自回归Transformer模型在所有的模态上都随着模型的扩大持续变好,且完全没停下来的意思。
在几乎所有模态上,AR Transformer都能平滑地扩大,只对超参数(如宽度、深度或学习率)产生极小的变化。更大的模型总是学习得更快、在更少的步骤中达到任何给定的损失值。
图:所有类型的任务上,模型扩大都带来了一个更低损失的指数规律。
从数据的角度,更大的模型只需要训练更少的词元(Token)就可以达到相同的效果。损失函数在随模型扩大持续减小,且没有停下的意思。
Loss的减少意味着什么?这意味着语言模型说话越来越像人——更加有趣、自然,也会说假话、有偏见……
交叉熵损失的信息理论解释Loss=S(True)+D_KL(True||Model)
可以预测和真实数据分布与模型分布之间的KL散度。
GPT-3只用了约700GB的数据,根据估计人类数据总量在100TB量级,假设不论质量,全能使用,大约还有140x数据。按最合适的比例规模将扩大~250x,从175billion扩大到44trillion。而对应的 Loss为GPT-3的66%。GPT的未来将远超人类想象。
存在于大模型而非小模型的涌现能力
在研究中,我们可以观察到模型的表现:1)当尺寸相对小的时候提升并不大 2)当模型变大时有很明显的提升;某些能力可能不存在于小模型中,而是在大模型中获得的。
Wei. et. al. 2022. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models。X 轴为模型大小。GSM8K 是是一个小学水平的数学问题集。
“涌现”发生了。
在AI中,涌现意味着通过简单的规则和相互作用,模型可以自发地产生出复杂的行为和智能功能。这些行为和功能往往超出了单个个体的能力范围,而是由整个系统或群体的相互作用和反馈效应所决定的。
更深入的研究发现,GPT至少还存在以下3种涌现能力:
● 复杂推理:大型模型在没有使用全部训练数据的情况下便显著优于以前的小型模型。
● 知识推理:大型模型可能没有小模型效果好,但大模型不需要额外的知识来源(知识可能很昂贵,或者很难从非结构化数据中抽取)。
● 分布外鲁棒性:这是之前进行模型精调时需要努力解决的问题。大型模型虽然在同分布情况下的效果不如以前的方法,但非同分布情况下的泛化性能却好得多。
我们相信,大模型的规模效应、涌现能力等特性将带来商业模式的巨大改变,需要人类发挥创造能力的各个行业都可能被重塑。AI大模型将成为生产力引擎,驱动应用生态创新爆发。
AIGC关键概念(由ChatGPT生成)
Transformer架构
Transformer架构是一种用于序列到序列学习(Sequence-to-Sequence Learning)的深度学习模型。Transformer由谷歌的Vaswani等人在2017年提出,被广泛应用于自然语言处理(Natural Language Processing,NLP)领域。
自注意力机制可以使模型更加关注输入序列中不同位置之间的相互关系,从而更好地捕捉序列的全局信息。
Transformer的核心结构包括编码器(Encoder)和解码器(Decoder)。编码器和解码器都由多个相同的层级(Transformer层)堆叠而成,每个层级都包括多头自注意力机制(Multi-Head Attention)、前向传播神经网络(Feed-Forward Neural Network)和残差连接(Residual Connection)等模块。其中,编码器用于将输入序列编码成一个固定维度的向量,而解码器则用于将编码器输出的向量解码成目标序列。Transformer架构在NLP领域广泛应用于机器翻译、文本摘要、对话生成等任务中,取得了很好的效果。
零样本学习(Zero-Shot Learning)
在机器学习中,零样本学习(Zero-Shot Learning)是指在没有训练数据的情况下,通过模型学习到的先验知识或常识,对新的任务或新的数据进行预测或分类。通常,零样本学习需要模型具有一定的泛化能力和知识表示能力,能够将已有的知识和经验应用到新的任务或数据中。
在GPT-3模型中,零样本学习指的是模型可以在没有特定的训练数据的情况下,通过少量的示例或指令,完成一些新的任务或生成新的文本。例如,模型可以通过输入“Translate this sentence into French”这样的指令,自动将英文句子翻译成法文,而无需进行特定的翻译训练。
GPT-3模型之所以具有零样本学习的能力,主要是因为它在训练过程中学习到了大量的文本语料库,并能够自动提取和表示文本中的语法和语义信息。这使得模型能够通过示例或指令,理解并完成一些新的任务或生成新的文本。
关于GPT-3与GPT-2的计算资源和时间的比较,由于GPT-3模型的参数量达到了1750亿,比GPT-2模型的参数量大得多,因此在训练和应用时需要更多的计算资源和时间。在训练方面,GPT-3模型的训练时间和成本更高,需要大量的计算资源和存储空间。在应用方面,GPT-3模型的推理时间和成本也更高,需要更大的模型内存和计算能力。但是,由于GPT-3模型具有更强的学习和表达能力,能够处理更加复杂和多样的自然语言处理任务,因此其性能也更加优秀。
微调(fine-tuning)
在机器学习中,“微调”(fine-tuning)指通过调整已经预训练的模型的参数,进一步优化模型在特定任务上的性能。微调通常是通过在特定任务上训练模型来实现的,这个过程通常包括以下几个步骤:
1. 选择合适的预训练模型:根据任务需求选择一个合适的预训练模型,例如GPT、BERT等。
2. 准备任务数据集:收集和标注一定量的数据集,用于在模型上进行微调。
3. 调整模型参数:将预训练模型中的参数作为初始值,通过在任务数据集上训练模型,调整模型参数以适应特定任务的需求。
4. 评估模型性能:通过测试集等方式,评估模型在特定任务上的性能表现,并根据结果调整模型参数和训练过程。
总之,微调是指在预训练模型的基础上,通过调整模型参数来适应特定任务需求的过程。微调通常是在有标注的任务数据集上进行的,因此也可以看作是监督学习的一种形式。
监督学习(Supervised Learning)
在人工智能领域中,监督学习(Supervised Learning)是一种常见的机器学习方法,它是一种通过从带有标签的数据中学习来构建预测模型的方法。
监督学习中,我们将数据集分成输入和输出两个部分,其中输入部分被称为特征,输出部分被称为标签。算法的目标是学习一个函数来将输入映射到输出。算法通过训练数据集中的特征和标签,来学习构建一个能够准确预测未知数据标签的模型。在预测时,算法会使用训练数据集中的学习结果来预测新的未知数据标签。
例如,当我们要训练一个图像分类器时,我们将图像作为特征输入,并为每个图像赋予一个标签,表示这张图像属于哪个类别。我们使用带有标签的训练数据来训练模型,以使其能够准确预测未知图像的类别。在此过程中,模型使用已知的图像和标签之间的关系来构建预测模型。
监督学习是人工智能领域中最常见的机器学习方法之一,其应用广泛,包括图像识别、自然语言处理、预测分析、推荐系统等。
无监督的预训练
“无监督的预训练”指的是在没有标注数据的情况下,通过模型自身的学习能力,从大规模的文本语料库中自动学习到语言的规律和特征。在GPT模型中,采用的是一种叫做自回归语言模型的方式进行预训练。
具体来说,GPT模型首先通过大规模的文本语料库进行训练,例如维基百科、BookCorpus等,从中学习到单词和句子之间的关系和上下文信息。这个过程是无监督的,即没有人工标注的标签和答案。GPT模型采用的是自回归语言模型,即预测下一个单词的概率分布,使得模型能够理解和学习文本中的语法和语义信息。预训练完成后,GPT模型可以在各种自然语言处理任务中进行微调和 fine-tuning,以适应特定任务的需求。
相比于有监督学习,无监督的预训练具有更高的灵活性和适用性。因为在实际应用中,往往存在大量未标注的文本数据,而无监督学习可以利用这些数据进行预训练,提高模型的泛化能力和鲁棒性。
总之,“无监督的预训练”是指在没有标注数据的情况下,通过大规模文本语料库进行自学习,从中自动学习到语言的规律和特征,提高模型的泛化能力和鲁棒性。在GPT模型中,无监督的预训练是通过自回归语言模型实现的,为模型的应用和微调提供了强大的基础。
大语言模型(Large Language Model,LLM)
大语言模型(Large Language Model,LLM)是一种基于深度学习的人工智能技术,旨在通过大规模的训练数据和深度神经网络来实现语言理解和生成的能力。大语言模型可以用于许多自然语言处理任务,例如机器翻译、文本生成、对话系统等。
近年来,由于数据和计算资源的增长,大型语言模型的发展取得了重大进展。其中,OpenAI的GPT系列模型、Google的BERT模型以及Facebook的RoBERTa模型等是最著名的大语言模型之一。这些模型通常具有数亿或数十亿个参数,可以从大量的文本数据中学习语言的规律和结构,并用所学到的知识来生成高质量的文本或执行其他自然语言处理任务。
在自然语言处理领域,大语言模型已经在许多任务上取得了显著的成功。例如,GPT-3模型可以生成自然流畅的文本,并在各种语言生成和文本分类任务上取得了最先进的结果。BERT模型则在文本分类、命名实体识别、问答系统等任务上取得了很好的表现。
总的来说,大语言模型是一种强大的自然语言处理工具,它的应用潜力非常广泛,并在自然语言处理领域发挥着越来越重要的作用。
参考资料:
[1] 源码研究组内部报告
[2] Open AI 官网 Introducing ChatGPT
[3] Open AI 官网 Aligning language models to follow instructions
[4] Scaling Laws for Autoregressive Generative Modeling – Open AI 2020/11/06
[5] Scaling Laws for Neural Language Models – Open AI 2020/01/23
[6] 大模型的突现能力和ChatGPT引爆的范式转变https://yaofu.notion.site/A-Closer-Look-at-Large-Language-Models-Emergent-Abilities-493876b55df5479d80686f68a1abd72f
[7] ChatGPT问答