GPT-4大模型硬核解读!看完成半个专家(上)

来源:智东西

500

500

为何我们的下一代会从“内卷”过渡到“人机互卷”?

作者 |  陈巍博士团队

引言:本文将以2万字介绍GPT-4的核心技术要点、技术架构、训练流程、算力、局限与产业未来。作者陈巍博士为AI/存算一体专家,曾担任华为系自然语言处理企业的首席科学家。(深度技术科普与解读文章,不涉及过多技术名词或公式)

之前我们一直说自然语言处理是人工智能王冠上最大的那颗珍珠,但如今用世俗的珍珠或者王冠形容已经不合适了。多模态大模型带给人类世界的震撼,就如人工智能企业Hugging Face(因提供开源预训练模型库而闻名)的联合创始人Thomas Wolf所述:“在过去的几年里,好的多模态模型一直是许多大型技术实验室的圣杯。“其中多模态指的是融合文本、图像、视频或音频等多种模态作为输入或输出。

作为“圣杯”的代表之一,GPT-4这个标签代表第4代生成式预训练变换模型(Generative Pre-trained Transformer 4),是OpenAI在2023年3月14日公开的一种多模态模型,是对前几个月发布的ChatGPT的多模态升级。GPT-4模型可对图文多模态输入生成应答文字,以及对视觉元素的分类、分析和隐含语义提取,并表现出优秀的应答能力。业内文章大多从侧面宣传GPT-4的优秀,却很少触及其核心技术内核。

500

▲OpenAI的相关信息

本文将通过OpenAI和其他AI巨头已发表的大语言模型或多模态论文来详细阐述和分析与GPT-4相关核心技术要点、技术架构、训练流程、算力、局限与产业未来,告诉大家为何我们的下一代会从“内卷”过渡到“人机互卷”。

01.

GPT-4核心技术有哪些?

1.1 理论基础——多模态涌现能力

讲到大语言模型的优势,一般首先要提到这类模型的涌现能力和思维链。这两者是大语言模型不断接近人类的关键特征

我们之所以认为GPT-4会是具有里程碑意义的一代,正是因为多模态的GPT-4会从视觉角度和视觉-文字语义融合方面涌现出更多的能力。2022-2023年,我们可以认为AI是第一次睁开双眼理解这个世界。

在大型语言模型(LLM)中,涌现能力(Emergent Abilities)是指模型具有从原始训练数据中自动学习并发现新的、更高层次的特征和模式的能力。就中文释义而言,涌现能力也指大语言模型涌现出来的新能力。这有点类似于去超市遇到买二赠一,赠品的质量居然还出乎意料。

与大语言模型(LLM)相比,多模态大语言模型(Multi-modal Large Language Model,MLLM)可实现更好的常识推理性能,跨模态迁移更有利于知识获取,产生更多新的能力,加速了能力的涌现。这些独立模态或跨模态新特征、能力或模式通常不是通过目的明确的编程或训练获得的,而是模型在大量多模态数据中自然而然的学习到的。

500

▲缩放定律(参数增加后精度损失连续减少)V.S. 涌现能力(1010-1011参数后新能力的涌现)(来源:OpenAI)

在语言模型发展的早期,通过在更多数据上训练更大的模型,可获得近似连续的精确度提升。(可称为缩放定律/Scaling Laws)到了2015年左右,随着深度学习技术的发展和语料库的增大,模型达到一定的临界规模后,NLP开发者们发现,大语言模型(包括GPT-3、GLaM、LaMDA和Megatron-Turing NLG等)开始表现出一些开发者最开始未能预测的、更复杂的能力和特性,这些新能力和新特性被认为是涌现能力的体现。

▲当模型尺寸增加到一定大小后,新能力涌现(来源:Google/Deepmind)

我们在研究GPT-4时,发现GPT-4具备了OpenAI在预训练时和发表的技术报告中并未明确的能力。这些能力都属于涌现出来的能力。

涌现能力是基于深度学习模型的分层结构和权重学习机制实现的。涌现出来的能力可以是基于文本的,也可以是多模态的。我们可以将GPT-4这类大模型的训练视为解方程,每一层神经元(可视为变量组合)的输出都作为下一层神经元的输入,并且模型的每个权重(Weight)都通过强化学习算法进行学习和更新。这种分层的结构和权重学习机制使得深度学习模型能够自动的学习到从原始数据中提取隐含的特征和模式,从而实现涌现能力。

当大语言模型被训练时,通过学习大量的多模态训练数据,并且根据数据中的统计规律和模式自适应的调整其内部参数和结构,从而表现出一些新的能力和特性。这类似于咱们常说的量变引发质变

涌现能力是大语言模型的重要特性,也是现在火爆的大模型各种能力的理论基础。涌现能力使得GPT-4能够在无需人工干预的情况下,从原始的多模态数据中自动学习到复杂的特征和模式,从而实现更准确和更高效的预测和决策。

涌现能力的另一个重要表现是模型的泛化能力。在没有专门训练过的情况,GPT-4也可以泛化到新的、未知的多模态数据样本上。这种泛化能力取决于模型的结构和训练过程,以及数据的数量和多样性。如果模型具有足够的复杂性和泛化能力,就可以从原始数据中发现新的、未知的特征和模式。

当然,GPT-4涌现出的新能力可能仍有局限性,例如:模型可能产生错误的回答,对某些问题缺乏理解,容易受到输入干扰等。目前认为GPT-4的幻觉与其涌现能力具有相关性。

1.2 核心优势——多模态思维链

思维链(Chain of Thought)可视为大语言模型涌现出来的核心能力之一。之所以现在各类GPT研究火爆,也与模型训练出的思维链可进入实用有密切关系。

思维链形成机制可以解释为模型通过学习大量的语言数据来构建一个关于语言结构和意义的内在表示,通过一系列中间自然语言推理步骤来完成最终输出。思维链是ChatGPT和GPT-4能让大众感觉到语言模型“像人”的关键特性

虽然GPT-4这些模型并非具备真正的意识或思考能力,但用类似于人的推理方式的思维链来提示语言模型,极大的提高了GPT-4在推理任务上的表现,打破了精调(Fine-tune)的平坦曲线。具备了多模态思维链能力的GPT-4模型具有一定逻辑分析能力,已经不是传统意义上的词汇概率逼近模型。

当然思维链的训练可能并不容易。尽管现在有大量团队进入大语言模型训练领域,但若干年内能找到训练诀窍并完成思维链训练的团队可能不多。对创企来说,完成思维链的训练,才算真正拿到了这波大模型AI竞技的入场券

▲思维链提示的示例(来源:Google)

通过多模态思维链技术,GPT-4将一个多步骤的问题(例如图表推理)分解为可以单独解决的中间步骤。在解决多步骤推理问题时,模型生成的思维链会模仿人类思维过程。这意味着额外的计算资源被分配给需要更多推理步骤的问题,可以进一步增强GPT-4的表达和推理能力。

500

▲当模型尺度增加到一定规模,思维链能力出现(来源:Google)

一般认为模型的思维推理能力与模型参数大小有正相关趋势,一般是突破一个临界规模(大概62B,B代表10亿),模型才能通过思维链提示的训练获得相应的能力。如果在6B以下,那很可能还只是GPT-2级别的初级模型。另外也有研究表明,在语言训练集中加入编程语言(例如Python编程代码)可提升模型逻辑推理能力。具有思维链推理能力的GPT-4模型可用于简单数学问题、符号操作和常识推理等任务。

500

▲多模态思维链框架(来源:微软)

GPT-4的多模态思维链是通过观察大量的多模态数据来学习内在表示,然后利用这个表示来生成连续的语言输出的机制。这个过程是通过模型的训练、内在表示的构建和语言输出的生成三个步骤来实现的。

1.3 编程范式——多模态提示工程

多模态大模型(如GPT-4)的提示工程(Prompt Engineering)是指根据特定的目标和语境设计出一系列问题或任务,以便使用大模型生成有关主题或主题领域的连贯和有意义的文本。提示工程的目标是通过精心设计提示以从模型中引出所需的响应,来提高生成文本的质量和相关性。提示工程与思维链的产生密不可分,也是目前自然语言编程的理论基础

▲语言模型的4种研究范式(来源:卡内基梅隆大学)

大概在2017-2019年间,语言模型的研究重心逐渐从传统特定领域的有监督学习模式(基于非神经网络或神经网络)转移到预训练模型上。在那时,基于预训练语言模型的研究范式通常是“预训练+精调”(Pre-train+Fine-tune),即在精调阶段,根据下游任务对预训练模型进行微调,以获得更好效果。

但是由于模型越来越大,以及预训练阶段和下游任务之间的差距可能很大,对各个细分领域Fine-tune的计算资源要求、训练数据需求和时间成本也在快速上涨。大量爆发的下游任务也使得175B这个级别模型预训练和精调变得异常复杂。在这种背景下,随着GPT-3的发布,提示工程成为了预训练模型的新方向。形象的说,提示有点类似于老师在学生回答问题时指点回答方向。

500

▲提示方法(来源:卡内基梅隆大学)

GPT-4/GPT-3模型中提示的新范式可归纳为预训练+提示+预测”(Pre-train+Prompt+Predict)。在这一范式中,各种下游任务被调整为类似预训练任务的形式。通过选取合适的提示,使用者可以控制模型预测输出,从而一个完全预训练模型可以被用来解决多样的下游任务。

这里举一个填充提示的简单例子。(上图)我们从输入x(比如电影评论)开始,然后输出期望值y。其中一个任务是使用提示函数重新模板化此输入,其输出表示为x'。此时语言模型的任务仅仅是预测z值(句子中的一个词)来代替占位符Z。然后对于Z被答案填充的提示,我们将其称为填充提示。通过这一提示方式,在对应细分场景下,语言模型将原来的问题的期望值y(一句话)简化为答案z(一个词)的计算,明显降低了应答的复杂度

500

▲提示工程使得GPT-3模型在训练样本较少时获得了更高精度(来源:OpenAI)

而GPT-4则针对多模态数据集,设计了对应的提示。GPT-4的提示工程涉及几个步骤,包括选择合适的模型架构和参数、设计提示格式和结构、选择合适的任务和训练数据,以及使用选定的提示和数据微调模型。更多GPT-4的提示细节还需等待OpenAI发布。

500

▲多模态提示示例(来源:微软)

提示工程同时也提高了语言模型“可操纵性”,即模型根据用户要求更改其行为的能力。例如,用户可以命令GPT-4以不同的风格、语气或内容特征来回答。例如“你是一个唠叨的数据专家”或“你是一个言简意赅的数据专家”来开始提示,让模型解释一个数据科学概念。这里“唠叨”和“言简意赅”操纵了模型回答的语言量。

1.4 关键技术——人类反馈强化学习

GPT-4/ChatGPT与GPT-3.5的主要区别在于,新加入了被称为RLHF(Reinforcement

Learning from Human Feedback,人类反馈强化学习)的技术。这一训练范式增强了人类对模型输出结果意向(Intent)的调节,并且对结果进行了更具理解性的排序。

OpenAI在其早期的学术报告中公开表示,与人类偏好保持一致,是许多领域人工智能研究和部署的核心组成部分。OpenAI希望通过RLHF技术,模型能倾向出高质量回答,确保模型输出对人类有益,进而保证模型的安全性。就笔者团队分析来看,RLHF也是保持多轮对话不偏离主题的关键保障。

GPT-4/ChatGPT最初引入人类标记员的主要目的是加快训练速度和质量。尽管强化学习技术在很多领域有突出表现,但是仍然存在着许多不足,例如训练收敛速度慢,训练成本高等特点。特别是现实世界中,许多任务的探索成本或数据获取成本很高。如何加快训练效率,是如今强化学习任务待解决的重要问题之一。

500

▲TAMER架构在强化学习中的应用

这里以TAMER(Training an Agent Manually via Evaluative Reinforcement,评估式强化人工训练代理)框架为例。该框架将人类标记员引入到模型代理(Agents)的学习循环中,可以通过人类向代理提供奖励反馈(即指导Agents进行训练),从而快速达到训练任务目标。

GPT-4的多模态奖励模型(RM)是小号的有监督精调模型(SFT),但在顶部添加了一个新的线性层来预测奖励。奖励模型的输入是原始输入加上SFT模型生成的输出。

在具体实现上,人类标记员扮演对话的用户和人工智能助手,提供多模态对话样本,让模型生成一些回复,然后标记者会对回复选项打分排名,将更好的结果反馈回模型中。代理(Agents)同时从两种反馈模式中学习——人类强化和马尔可夫决策过程奖励作为一个整合的系统,通过奖励策略对模型进行微调并持续迭代。

500

▲奖励模型的过拟合导致模型性能下降(来源:OpenAI)

因为模型仅仅从狭窄分布的训练数据中学习,所以GPT-4中奖励模型只是人类偏好的部分表征(管中窥豹),过度的训练反而可能导致奖励模型过拟合(以偏见代替整体),并导致模型训练效果的下降。另一方面,模型的人类标注员可能也无法代表用户所在地区人群的总体偏好。

1.5 安全技术——基于规则的奖励模型

安全是大模型商用的关键要素,OpenAI也投入了大量资源来提高GPT-4的安全性和一致性。包括引入领域专家进行对抗性测试和红队测试,模型辅助的安全流水线以及安全指标的改进。OpenAI引入的领域安全专家达到了50多人,覆盖AI一致性风险、网络安全、生物风险等领域。

与ChatGPT一样,GPT-4也使用了强化学习和人类反馈(RLHF)来微调模型的行为,以产生更符合用户意图的响应。但当给定不安全的输入时,模型可能会生成不良内容,例如提供有关犯罪的建议。另外,模型也可能对安全输入变得过于谨慎,拒绝无害的请求。

GPT-4的安全流水线包括两个主要部分:一组额外的安全相关RLHF训练提示,以及基于规则的奖励模型。

基于规则的奖励模型(Rule-based Reward Model,RBRM)是一组zero-shot迷你GPT-4分类器,根据预定义的规则为特定动作或事件分配奖励。在这种模型中,奖励是根据事先定义的一组规则确定的,而不是从数据中学习得到的。这些分类器在RLHF微调期间为GPT-4策略模型提供额外的奖励信号,以正确的输出行为为目标进行训练,例如拒绝生成有害内容或不拒绝无害的请求。

500

▲基于规则的奖励模型(来源:日本国立信息学研究所)

很多早期的NLP模型和软件就是基于规则的(包括各种早期的智能音箱/”人工智障”),但这类模型在泛化场景下表现不佳,只能回答相对固定的问题,并不具备现在的大语言模型的涌现能力。

GPT-4中使用RBRM的目的是充分借助其优势,即模型中使用的规则可以简单实用一些,建立成本低于常规奖励模型。例如,在象棋等游戏中,规则可能很简单。在更复杂的情况下,规则可能相对复杂,例如为实现特定目标或达到一定的性能水平授予奖励,但总体来说比构建奖励模型的训练数据集成本更低

规则奖励模型通常用于强化学习,其中代理被训练为采取最大化奖励信号的行动。在这种情况下,规则奖励模型基于代理是否遵循特定规则或实现特定目标,为代理分配奖励。

规则奖励模型的优点允许更多地控制学习过程。通过事先指定规则,开发人员可以引导学习过程,使其专注于特定的行为或结果。

▲基于规则的奖励模型在样本较少情况下表现出较好性能(来源:Meta AI)

基于规则的奖励模型的主要特点如下:

1、规则的可定义性:根据预先定义的规则来为模型的输出分配奖励。这些规则通常由领域专家或高质量的人类标注员制定,以确保奖励与任务目标和期望行为保持一致。

2、规则的可解释性:奖励模型依赖于明确的规则,这些一般具有较高的可读性和可解释性。以方便开发人员解读和调试模型。

3、规则的可调整性:通过修改或添加新的规则,可以相对容易地调整奖励函数,以适应不同的任务和环境或更复杂的规则。

基于规则的奖励模型也存在一些局限性,包括:

1、缺乏场景泛化能力:因为基于规则的奖励模型严重依赖于预先定义的规则,可能在未知或新的情况下泛化能力较弱,这可能导致模型在面对新的情况时出现幻觉现象或无法做出合适的应答。

2、规则设计的复杂性:例如对于复杂任务,设计适当的规则有可能非常耗时。此外,如果规则过于复杂或内部自相矛盾,可能导致模型训练不出有效的策略。

3、规则的学习效率有下降可能:由于模型需要在给定的规则集合中探索最佳策略,在规则设计不理想的情况下,基于规则的奖励模型可能导致较低的学习效率或过拟合。

1.6 优化技术——近端策略优化(PPO)算法

GPT-4/ChatGPT中的近端策略优化(Proximal Policy Optimization,PPO)算法是一种高效的强化学习优化策略算法,由OpenAI的John Schulman等人于2017年提出。在GPT-4/ChatGPT里的使用应该算是新瓶装旧酒

PPO的前辈TRPO(Trust Region Policy Optimization)相对复杂,并且与包含噪声(例如Dropout)或参数共享(在策略和价值函数之间,或辅助任务)的架构不兼容。PPO算法试图解决上述问题,以及计算复杂性和难以调整的超参数。PPO通过简化优化问题并限制策略更新的幅度,实现了更高效、更稳定的学习过程,具有实现简单、能同时处理离散\连续动作空间问题、可大规模训练等优势。

500

▲PPO算法与同类其他算法的比较(来源:OpenAI)

PPO算法衍生于早期的策略梯度(Policy Gradient)算法,但通过一些技巧改进了其性能和稳定性,能够处理连续动作空间的问题。PPO在策略更新时限制新策略与旧策略之间的差异,从而确保策略改进的稳定性。这通过在目标函数中引入一个“代理”目标函数来实现,该代理目标函数限制了新策略和旧策略之间的KL散度。

PPO算法的核心思想是在每次迭代中,通过一种称为近端策略优化(Proximal Policy Optimization)的方法来更新策略参数,以最大化预期收益。具体来说,PPO算法采用两个神经网络来表示模型的策略:一个执行动作(Actor),另一个处理奖励(Critic)。在每次迭代中,PPO算法会从环境中采样一批经验数据,并使用这些数据来更新策略参数和价值参数。更新的策略将被ε-clip到一个小区域,以防止可能具有不可恢复危害的巨大更新。换句话说,优化的步伐不能太大也不能过小。

PPO算法的主要特点如下:

1)裁剪的目标函数:PPO通过裁剪策略比率(新策略概率与旧策略概率之比)来限制更新幅度。这种裁剪保证了新策略在旧策略的附近,使得更新更加稳定。

2)重要度采样:PPO利用重要度采样来估计策略梯度,从而可以重复使用之前的经验来更新策略。这使得PPO在数据效率上更具优势。

3)多次更新:PPO算法在每次收集一批数据后,对策略进行多次更新。这可以提高算法的收敛速度和稳定性。

4)简化的优化问题:相比于其他方法,如TRPO,PPO算法将优化问题简化为一阶优化问题,这大大减少了计算复杂性。

1.7 安全技术——多模态幻觉检测

大型语言模型(Large Language Model,LLM)的幻觉(Hallucination)指的是模型生成的输出包含一些与输入不符合的信息,这些信息可能是错误的、无关的或者荒谬的。与人类直觉相反,随着模型变得更加以假乱真,幻觉会变得更加危险。GPT-4等模型的这种幻觉可能会出现在各种类型的任务中,比如文本生成、图文分析和问答系统等。

由于大模型(包括GPT-4)本质上可以视为训练集(人类知识/语言)的有损压缩,因此在模型运行时无法完整复现或者应答原始知识,从而模型的幻觉来自于信息压缩的偏差。多模态幻觉的本质是这种有损压缩偏差的体现,也是通过数学逼近人类语言的必然代价。(类似于压缩后的图像边缘出现不正常的条纹)。

▲大语言模型可视为知识/语言的有损压缩

幻觉包括以下几类:

1、含义相关性(Semantic Relatedness)的幻觉:模型生成的输出可能包含与输入语境无关或不相关的单词或短语,这些单词或短语通常是通过模型之前接触过的文本来学习的。

2、语义扩张(Semantic Expansion)的幻觉:模型生成的输出可能包含与输入语境相关但是过于具体或者过于抽象的内容,这些内容也可能是通过模型之前接触过的文本来学习的。

3、结构错误(Structural Errors)的幻觉:模型生成的输出可能不符合正确的语言表达或句子结构,这些错误可能是由于模型在生成时遗漏了某些信息,或者将不相关的信息结合在一起导致的。

为了降低幻觉出现的概率,改善模型质量,Meta AI提出一种幻觉内容检测机制。通过检测生成内容中的幻觉令牌/单词,对生成内容的真实度进行评估,以减少模型幻觉出现的概率。从GPT-4的幻觉减少比率来看,猜测类似该技术的方法或已应用在GPT-4中。

500

▲通过幻觉单词检测器减少幻觉(来源:Meta AI)

幻觉是GPT-4等大型语言模型中一个重要的问题,通过不断的优化模型和改进训练方法,或增加多模态幻觉语义检测器,研究人员可以逐步提高模型的准确性和稳定性,从而更好地满足各种自然语言处理任务的需求。

1.8 模型信息——关于模型大小

目前OpenAI还没有发布GPT-4模型大小和结构的具体信息。GPT-4的技术报告也没有透露这些技术细节,训练数据或训练方法也没有相关信息释放出来。大模型的商业化竞争正愈演愈烈。

▲Bing反馈的GPT-4模型大小

GPT-3是目前最大的知名语言模型之一,包含了1750亿(175B)个参数。在GPT-3发布之前,最大的语言模型是微软的Turing NLG模型,大小为17亿(1.7B)个参数。在GPT-3发布后不久,OpenAI团队就曾表示他们计划在未来几年内研发更大的模型。而随着技术和算法的不断发展,GPT-4模型似乎也应朝着更大的尺寸发展。

另外,GPT-4的上下文窗口尺寸也较GPT-3.5和GPT-3增大了不少。2020年发布的GPT-3模型上下文窗口为2049个令牌。在GPT-3.5中,窗口增加到4096个令牌(约3页单行英文文本)。GPT-4有两种尺寸。其中一个(GPT-4-8K)的上下文窗口大小为8192个令牌,另一个(GPT-4-32K)可以处理多达32768个令牌,大约50页文本。

有传言说GPT-4模型大概是GPT-3的100倍或1000倍。从训练的角度看,这么大的模型膨胀可能会消耗更多的训练资源和训练周期的过度延长。

500

▲GPT-4与GPT-3.5的执行速度对比(来源:ARK投资)

根据ARK的分析,GPT-4的执行时间大概是GPT-3.5的3.7倍。由此我们初步估算GPT-4的文本语言部分的大小大约是62B-650B之间。根据目前GPT模型性能的发展趋势,以及多模态技术的加持,预计GPT-4的模型参数大概为62B-1500B之间

02.

GPT-4的原理是什么?

GPT-4这一代,是严格意义上的多模态模型,可以支持图像和文字两类信息的同时输入。之前的ChatGPT多模态感知是实现通用人工智能的必要条件,无论是知识/能力获取还是与现实物理世界的交互。之前的ChatGPT就像AI蒙上双眼在那里盲答,而多模态就是AI一边看一边思考。多模态技术将语言模型的应用拓宽了到更多高价值领域,例如多模态人机交互、文档处理和机器人交互技术。

在GPT-4中,多模态输入的图像和文本基于Transformer作为通用接口,图形感知模块与语言模块对接进行进一步计算。通过在多模态语料库上训练模型,包括文本数据、任意交错的图像和文本,以及图像-字幕对,可以使模型获得原生支持多模态任务的能力。

下面先介绍GPT家族,然后引申到GPT-4的多模态架构和独特性。

2.1 GPT-1ChatGPT

说到GPT-4,就不得不提到GPT家族。GPT之前有几个的前辈,包括GPT-1、GPT-2和GPT-3和ChatGPT。GPT家族与BERT模型都是知名的NLP模型族,都基于Transformer技术。GPT-1只有12层,而到了GPT-3,则增加到96层。GPT-4增加了额外的视觉语言模块,理论上具有更大的模型尺寸和输入窗口。

500

▲视觉与语言Transformer技术的演进

GPTBERT之前的时代

最早的NLP技术是基于规则的,即基于特定的规则使用程序进行固定模式的对话,所有的应答都是固定模式的。在深度学习诞生后,NLP技术逐渐进入基于模型的时代。文本生成是通过递归神经网络(RNN)或各种长短时记忆神经网络(LSTM)实现的。这些模型能够较好的进行模式识别,在输出单个单词或短语方面表现良好,但无法生成高精度的多轮对话,更无法实现逻辑推理能力。

▲GPT-1模型的Transformer结构

2018年6月,OpenAI发表了GPT-1,GPT家族首次登上历史舞台。GPT-1模型训练使用了BooksCorpus数据集。训练主要包含两个阶段:第一个阶段,先利用大量无标注的语料预训练一个语言模型,接着,在第二个阶段对预训练好的语言模型进行精调,将其迁移到各种有监督的NLP任务。也就是前面提到过的“预训练+精调”模式。

GPT-1的核心是Transformer。Transformer在数学上是大矩阵的计算,通过计算不同语义之间的关联度(概率)来生成具有最高概率的语义反馈。

GPT-1着重解决两个问题:

1)通过无监督训练解决需要大量高质量标注数据的问题。

2)通过大量语料训练解决训练任务的泛化问题。

500

▲BERT与GPT的技术基本架构对比(图中En为输入的每个字,Tn为输出回答的每个字)

GPT-2

2019年,OpenAI发表了另一篇关于他们最新模型GPT-2的论文(Language Models are Unsupervised Multitask Learners)。该模型开源并在一些NLP任务中开始使用。相对GPT-1,GPT-2是泛化能力更强的词向量模型,尽管并没有过多的结构创新,但是训练数据集(WebText,来自于Reddit上高赞的文章)和模型参数量更大。目前很多开源的GPT类模型是基于GPT-2进行的结构修改或优化。

GPT-3

2020年6月,OpenAI发表了另一篇关于GPT-3模型的论文(Language Models are Few-Shot Learners)。该模型的参数是GPT-2的100倍(175B),并且在更大的文本数据集(低质量的Common Crawl,高质量的WebText2,Books1,Books2和Wikipedia)上进行训练,从而获得更好的模型性能。GPT-3实际上由多个版本组成的3代家族,具有不同数量的参数和所需的计算资源。包括专门用于代码编程的code系列。GPT-3的后继知名版本包括InstructGPT和ChatGPT。

500

▲GPT-3家族

GPT-3.5/ChatGPT

2022年3月15日,OpenAI发布了名为“text-davinci-003”的新版GPT-3,该模型被描述为比以前版本的GPT更强大。目前有若干个属于GPT-3.5系列的模型分支,其中code-davinci针对代码完成任务进行了优化。

ChatGPT是基于GPT-3.5(Generative Pre-trained Transformer 3.5)架构开发的对话AI模型,是InstructGPT的兄弟模型。ChatGPT很可能是OpenAI在GPT-4正式推出之前的演练,或用于收集大量对话数据

OpenAI使用RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)技术对ChatGPT进行了训练,且加入了更多人工监督进行微调。

ChatGPT具有以下特征:

1)可以主动承认自身错误。若用户指出其错误,模型会听取意见并优化答案。

2)ChatGPT可以质疑不正确的问题。例如被询问“哥伦布2015年来到美国的情景”的问题时,机器人会说明哥伦布不属于这一时代并调整输出结果。

3)ChatGPT可以承认自身的无知,承认对专业技术的不了解。

4)支持连续多轮对话。

与大家在生活中用到的各类智能音箱和“人工智障”不同,ChatGPT在对话过程中会记忆先前使用者的对话讯息,即上下文理解,以回答某些假设性的问题。ChatGPT可实现连续对话,极大的提升了对话交互模式下的用户体验。

▲从GPT-1到GPT-4的对比(含BERT,笔者团队绘制)

2.2 GPT-4的多模态架构

到了GPT-4,技术内涵产生的飞跃其实超过了ChatGPT。有些人认为GPT-4仅仅是GPT-3.5的升级优化,这其实是一种误解。大部分人可能还未看到GPT-4带来的巨大影响

人类或其他高等生物的认知能力通常与从多种模式中学习有关。例如,苹果这一概念包括从视觉和语言获得的多重语义。包括苹果的颜色、形状、纹理以及吃苹果的声音,苹果在词典或其他网络媒体的相应定义等等。我们大多数人在学习认字的时候,也是先看到苹果的卡片图像,然后再记住对应的文字。

与BERT模型类似,GPT-4之前的ChatGPT或GPT-3.5都是根据输入语句,根据语言/语料概率来自动生成回答的每一个字(词语)。从数学或从机器学习的角度来看,语言模型是对词语序列的概率相关性分布的建模,即利用已经说过的语句(语句可以视为数学中的向量)作为输入条件,预测下一个时刻不同语句甚至语言集合出现的概率分布。包括“苹果”在GPT-3.5和之前的GPT中只是单纯的语义符号和概率

GPT-4等模型新出现的多模态输入的能力对语言模型至关重要,使得“苹果”等单纯的符号语义扩展为更多的内涵。第一,多模态感知使语言模型能够获得文本描述之外的常识性知识。第二,感知与语义理解的结合为新型任务提供了可能性,例如机器人交互技术和多媒体文档处理。第三,通过感知统一了接口。图形界面其实是最自然和高效的人机自然交互方式。多模态大语言模型可通过图形方式直接进行信息交互,提升交互效率。

多模态模型可以从多种来源和模式中学习知识,并使用模态的交叉关联来完成任务。通过图像或图文知识库学习的信息可用于回答自然语言问题;从文本中学到的信息也可在视觉任务中使用。

截至2023年初,多模态大模型正经历将图文信息进行对齐,进行模态认知管理,进一步形成多模态决策或生成。常见的多模态大模型包括:

1)图像描述生成或文本生成图像。例如最近知名的CLIP、Stable Diffusion。

2)图文问答。例如带有图示的物理题求解或图表分析。

3)文本到图像或图像到文本的检索。

4)视频流描述。

500

▲多模态模型的5种典型结构(来源:深圳鹏城实验室)

根据鹏城实验室新发出的论文归纳,目前常见的多模态模型架构主要包括以下几种:

1)合并注意力架构(Merge-attention):如上图(a),多个输入模态调整为同一的特征表示,多个模态的特征在自注意力之前被合并,共同进入Transformer。

2)共同注意力架构(Co-attention):如上图(b),每个输入模态都具备私有自注意力通道,用于模态独立特征的导入,然后再使用共同的交叉注意力层融合多模态特征。

3)交叉注意力架构(Cross-attention):对于多模态任务,将图像与语言分别结合,实现图文信息的相互嵌入与问答。

4)三角Transformer架构(Tangled-transformer):使用三组Transformer模块同时处理动作、图形对象和语言特征,通过特定的三角连接关系,注入其他模态的Transformer网络,以不同模态的信息融合。

5)模态间对比学习架构(Inter-Modality Contrastive Learning):不同模态的信息被分解,通过矩阵结构建立多模态对比学习关联。

目前评估OpenAI采用该种交叉注意力架构的研发GPT-4的代价最小,可以大幅度使用ChatGPT中已经构建的语言模块。从笔者团队的分析看,GPT-4很有可能正是采用这类架构。

2.3 GPT-4的独特性

GPT-4是最新且最先进的OpenAI多模态大模型。并在多个基准任务上取得了非常好的成绩,包括图像字幕、图文问答、代码生成和法律推理。优秀的图文分析和逻辑推理能力铸就了GPT-4的护城河。

500

▲GPT-4在大部分任务上优于人类水平平均值(来源:LifeArchitect)

GPT-4能够生成比GPT-3.5或其他语言模型更符合事实的准确陈述,确保更高的可靠性和可信度。GPT-4也可接受图文信息作为输入并生成说明、分类和分析。

尽管GPT-4已经投入商业使用,但大多数用户仍需要等待图文能力的正式开放。

500

▲GPT-4与其他大模型的比较(来源:Janna Lipenkova)

03.

GPT-4训练技术分析

3.1 GPT-4训练数据集

GPT-4的训练数据集是基于GPT-3和GPT-3.5的训练数据集构建的,并在两者基础上增加了多模态数据集。仅当时GPT-3.5的训练数据收集就是由一项艰巨且重要的任务:数据集贡献来自一个由30-50名OpenAI员工组成的团队,并另外从第三方网站雇佣了固定的大约50-100名固定的标注员。到了GPT-4又增加了大量多模态数据。

▲GPT-4数据集构成(预测)

OpenAI在预训练阶段过滤GPT-4的数据集组合,以专门减少不适当的文本内容的数量。并通过结合内部训练的分类器和基于词典的方法来识别含有不当内容的数据。

其中来自GPT-3的预训练数据集包括约570GB(该大小为去重过滤后的,去重过滤前大概45TB)的CommonCrawl数据,大概是410B字节对编码的令牌,以及19B的WebText2数据,合计67B的书籍数据和3B Wiki数据。这些数据被整合为约300B大小的GPT-3预训练数据集。其中Wiki数据质量最高,在训练中平均被重复使用了3.4次。

500

▲GPT-3.5标注员学历和国籍构成

GPT-3.5的数据集包括SFT数据集、RM数据集和PPO训练数据集。在最关键的SFT训练集中,标注员撰写比例为89.3%,100%由标注员标记。RM模型较小但是训练集数量更多,达到33K。

可以看出,无论是GPT-3还是GPT-3.5的训练集中,数据质量的重要性都远超过数据的数量。(互联网大厂或许只剩下资金、应用和渠道优势?)其中训练GPT-3.5 175B SFT模型仅需要算力资源4.9 petaflops/s-days,训练GPT-3.5175B PPO-ptx模型需要60 petaflops/s-days,而预训练GPT-3却需要3640 petaflops/s-days的算力资源,是175B PPO-ptx的60.7倍。极少量的高质量标注数据却显著提升了GPT-3.5的应答能力。这就好比好的教材胜过大量普通书籍。

GPT-4的多模态训练数据集由图片和文本共同构成(一般是单幅图片+多行文本)。根据GPT-4的技术报告,可以分析GPT-4的多模态数据集包括图表推理、物理考试、图像理解、论文总结、漫画图文等不同类型。目前GPT-4的多模态应用还处于实验中,并未对公众开放。

3.2 GPT-4训练流程分析

我们根据GPT-4的技术报告,初步分析其训练流程如下:

第一阶段:构建交叉注意力架构预训练模型,收集数据并进行有监督策略精调

GPT-4模型是基于GPT-3.5构建的,增加了视觉语言模型组件(在图形Transformer阶段完成的视觉预训练模型)。为了预训练模型在多模态领域进行初步调优,首先会在文本数据集和多模态数据集中抽取问题,由人类标注员,给出高质量答案,然后用这些人工标注好的数据来精调GPT-4初始模型(获得SFT模型,Supervised Fine-Tuning)。

此时的SFT模型在遵循指令/对话方面已经优于GPT-3.5,但对多模态的解答不一定符合人类偏好。

▲GPT-4训练过程(基于GPT-4技术报告绘制)

第二阶段:训练奖励模型(RRM)和基于规则的奖励模型(RBRM)

这一阶段包括基于规则的奖励模型(Rule-Based Reward Model,RBRM)和奖励模型(Reward Mode,RM)

首先基于安全规则设计基于规则的奖励模型并完成验证。这一模型与传统NLP领域的规则模型设计方法一致。

然后在数据集中抽取问题,使用第一阶段生成的模型,对于每个问题,生成多个不同的回答。人类标注者对这些结果综合考虑给出排名顺序。(有点像互联网企业的审图师)

接下来,使用这个排序结果数据来训练GPT-4的奖励模型。对多个排序结果,两两组合,形成多个训练数据对。RM模型接受一个输入,给出评价回答质量的分数。这样,对于一对训练数据,调节参数使得高质量回答的打分比低质量的打分要高。这一过程类似于教练或老师辅导。

500

▲PPO算法示意(来源:澳大利亚Monash大学)

第三阶段:采用PPO(Proximal Policy Optimization,近端策略优化)强化学习来优化策略

PPO的核心思路在于将Policy Gradient中On-policy的训练过程转化为Off-policy,即将在线学习转化为离线学习,这个转化过程被称之为Importance Sampling。这一阶段利用第二阶段训练好的奖励模型和基于规则的奖励模型,靠奖励打分来更新预训练模型参数。

在GPT-4数据集中抽取问题,使用PPO模型生成回答,并用上一阶段训练好的RM+RBRM模型给出质量分数。把回报分数依次传递,由此产生策略梯度,通过强化学习的方式以更新PPO模型参数。

如果不断重复第二和第三阶段,通过迭代,会训练出更高质量的GPT-4模型。整个训练的核心在于高质量数据集/Prompt的构建、思维链的训练技术、大算力工程能力、早期训练空间的预测和优选。数据量反而不那么重要,并不是富裕人家的孩子看的电视剧越多,就越能够考上好大学。

3.3 模型训练参数空间的早期筛选

这一部分讲的是降低训练量的技术,或者说是节约大量购买服务器的经费的技术。

据论文Scaling Laws for Neural Language Models (2020),可以通过三个要素计算通过交叉熵损失预估GPT-4/GPT-3.5预训练模型性能。这三个要素是模型参数数量、训练期间计算量以及训练数据大小。这三个因素与损失之间存在幂律关系。这意味须将计算量、数据和参数量增加10倍才能将损失减少一个单位,增加100倍才能将损失减少两个单位,依此类推。

为了提升GPT模型性能(主要是精度),比较经济的做法是在相对少量的数据上训练较大的模型,并在更多的训练步骤或数据上投入更多的计算,以最大限度地减少精度损失。因此“大型预训练模型+少量高质量标注”成为当前语言模型领域的主流。

▲缩放定律图示(来源:OpenAI)

对于计算量每增加10倍,该论文大约建议将参数数量增加5倍,将训练令牌的数量增加2倍,将串行训练步骤的数量增加1.2倍。这也可以说明,GPT-3等模型越来越大,是从综合训练成本考虑的。

缩放定律不仅影响到模型的设计要素,也影响到基于算力的训练策略。OpenAI开发了针对性的算力基础设施和优化方法,在多个尺度预测GPT-4模型的训练效果,从而能在只使用大概千分之一的算力消耗时提前探索GPT-4训练的解空间,而无需完全遍历所有可能的训练参数设置。换句话说,投资人也可以提前预知自己投的创企大概能训练出多高精度的模型。

缩放定律可以量化为公式L(C) = aCb+ c,从而只要在每个参数模型的早期使用小一些的算力就可以拟合该曲线,提前估算在该训练参数集下能达到的模型精度。这一方法大大加速了GPT-4模型训练调优的进程。

500

▲较小算力模型准确的预测了GPT-4的训练精度(来源:OpenAI)

4 GPT-4的算力基座

由GPT-4/ChatGPT及其下游需求,带动了大量的模型设计与产业应用需求,带动了从服务器集群到大算力芯片的海量计算需求。这一需求业导致了A100 GPU的价格在近几个月内暴涨。那么,在多模态大模型逐渐火热之后,GPU会是唯一的算力选择吗?GPU会不会导致模型企业同质化竞争的加剧?

根据IDC预计,到2026年AI推理的负载比例将进一步提升至62.2%,特别是大模型将成为AI开发的新范式

对于GPT-4等大模型设计或应用企业,算力的需求体现在如下三个细分阶段。

1GPT-4预训练与应用微调阶段。这一阶段从无到有建立预训练模型,通过大量通用数据训练和验证预训练模型。(形成模型的“通识”)然后针对具体的商用或应用场景的特定数据,对预训练进行针对性的微调,加强对场景的应答准确度。在这一阶段,一般需要超算级别或数十台服务器来进行一个大模型的训练计算,计算以大量矩阵计算和求解为主。这一阶段的算力可通过上述的缩放定律来进行预测和缩减不必要的训练参数集合所需的算力(非必要参数集分支大概可缩减到千分之一)。

2GPT-4推理与部署阶段。根据场景微调后的大模型,就可部署到实际生产环境中应用。相对训练来说,部署要求的算力较低,但是基数很大。对于大量在线交互来说,部署阶段的服务器/芯片成本要远远超过训练阶段。在这一阶段,每台AI服务器可以部署一个GPT-4模型,集群上会有大量服务器进行并行的网络服务,计算以大量矩阵计算和存储调度为主。同时,在这些场景下,特别是端侧应用场景,也会有硬件性价比和反应延迟的特定要求,目前的GPU就不一定适合。

3GPT-4模型迭代的微调阶段。每使用一段时间,就会根据使用者或者客户反馈,对模型进行调整,以提高客户满意度,特别是提升模型的安全度以确保合规。这个过程就是模型迭代的过程,一般相当于小规模的训练,训练所用的数据规模不大,计算以大量矩阵计算和求解为主。

GPT-4大模型硬核解读!看完成半个专家(下)

全部专栏