ChatGPT的工作原理、关键技术及未来发展趋势

2024-01-16 05:06秦涛杜尚恒常元元王晨旭
西安交通大学学报 2024年1期
关键词:微调语料人类

秦涛,杜尚恒,常元元,王晨旭

(西安交通大学智能网络与网络安全教育部重点实验室,710049,西安)

自然语言处理作为人工智能领域的关键技术之一,具有重要的应用价值,在信息提取与知识管理领域,商业机构可利用该技术布局线上系统,开发智能客服系统自动理解客户问题并及时响应客户需求,从而协助办理业务,提升服务效率;也能通过对海量多源数据的处理分析,构建多层次多维度用户画像,制定精细化、个性化服务方案来优化服务质量。监管人员[1]可以结合分词、实体识别、热词发现和情感倾向分析等技术,对社交媒体数据进行情感分析[1-2],尽早发现负面消极的言论和煽动性的话题,采用信息抽取与文本聚类技术从信息流中检测并聚合突发事件,并利用网络分析和深度学习技术分析事件在社交网络中的传播途径,理解信息的扩散模式从而进行事件演化与趋势预测,为舆情管控和引导提供决策支持,推动社会管理的智能化和精细化。但是,自然语言处理技术的发展仍受到可用标注数据稀缺、数据多源时变、语义信息多样复杂等问题的困扰。

正是在这样的需求推动下,领域内的技术框架不断更新进步,自然语言处理技术的演进阶段可以分为小规模专家知识、浅层机器学习[3]、深度学习[4]、预训练语言模型[5]等,每个技术阶段的演进周期大致为前一阶段的一半,迭代速度越发迅速。ChatGPT作为大规模预训练模型的一种典型代表,极大地推动了自然语言处理技术的发展,引发了自然语言处理研究范式的转变,其通过大规模的预训练和上下文理解,具备了生成自然语言文本的能力,可以进行对话、回答问题和提供信息等任务,与人类交互的能力更加自然和灵活。

为进一步理解ChatGPT,本文首先介绍ChatGPT的模型架构和技术演进过程,然后回顾了其所用的核心技术,包括提示学习、思维链和基于人类反馈的强化学习,这些技术共同构成了ChatGPT的基础框架,使其能够在各种情景下生成连贯且自然的文本回应。然后,结合ChatGPT运行原理,本文分析了其面临的缺陷与挑战,包括生成不准确或具有误导性的信息、潜在的恶意应用风险以及对话中的道德和隐私问题等。最后,针对ChatGPT在特定领域的缺陷与不足,结合实际应用,探讨了ChatGPT未来可能的发展方向,包括对训练语料进行道德筛选、采用迁移学习[6]和领域适应技术、引入外部专家知识[7]、增强多模态处理能力[8]等途径来优化改进。

1 GPT架构及演变过程

GPT(generative pre-trained transformer)[9]是由OpenAI提出的采用Transformer解码器的预训练模型,采用预训练加微调的范式。为深入理解ChatGPT,本节简要分析ChatGPT的模型架构和其演进进程。

1.1 ChatGPT整体架构

ChatGPT的主体架构遵从“基础语料+预训练+微调”的基本范式,如图1所示。“预训练+微调”是指首先在大数据集上训练得到一个具有强泛化能力的模型(预训练模型),然后在下游任务上进行微调的过程,是基于模型的迁移方法。

海量高质量的基础语料是ChatGPT技术突破的关键因素。其语料体系包括预训练语料与微调语料,后者包括代码和对话微调语料。预训练语料包括从书籍、杂志、百科等渠道收集的海量文本数据,具体分布见表1[10],提供了丰富的语义语境和词汇,帮助模型深入学习理解自然语言中的基础词汇与逻辑关系表达规则;微调语料包括从开源代码库爬取、专家标注、用户对话等方式加工而成的高质量标注文本数据,进一步增强其对话能力。

图1 ChatGPT架构示意图Fig.1 Diagram of ChatGPT architecture

表1 GPT系列预训练语料数据大小[10]

预训练是构建大规模语言模型的基础,指先在大规模训练数据上进行大量通用的训练,采用无监督学习方法以得到通用且强泛化能力的语言模型。在大规模数据的基础上,通过预训练,模型初步具备了人类语言理解和上下文学习的能力,能够捕捉文本片段和代码片段的语义相似性特征,从而生成更准确的文本和代码向量,为后续微调任务提供支持。

微调是实现模型实际应用的保障,是指在特定任务的数据集上对预训练模型进行进一步的训练,通常包括冻结预训练模型的底层层级(如词向量)与调整上层层级(如分类器)的权重。对预训练模型微调将大大缩短训练时间,节省计算资源并加快训练收敛速度。ChatGPT在具有强泛化能力的预训练模型基础上,通过整合基于代码数据的训练和基于指令的微调,利用特定的数据集进行微调,使之具有更强的问答式对话文本生成能力。其“预训练+微调”的流程如图2所示。

图2 “预训练+微调”流程Fig.2 Pre-training and fine-tuning flow chart

1.2 GPT-1:奠定自回归式建模思路

GPT-1[9]是比BERT[11]提出更早的预训练模型,但与BERT相比效果较差。GPT-1奠定了关键的技术路径,后续的系列模型采用类似的架构(例如BART[12]和GPT-2[13])以及预训练策略[14-16]。GPT系列是一种基于自回归解码的、仅包含解码器的Transformer架构开发的生成式预训练模型,这种架构具有自回归(AR)特性,它利用多层堆叠的Transformer解码器架构进行解码。

自回归是统计学中处理时间序列的方法,用同一变量之前各时刻的观测值预测该变量当前时刻的观测值。类似地,自回归生成模型的基本思想是在序列生成的过程中,每个位置的元素都依赖于前面已经生成的元素。自回归模型适用于各种序列到序列的任务,它又分为线性自回归和神经自回归两种,基于Transformer解码器的自回归模型属于后者,其生成过程如图3所示。

图3 自回归生成模型生成过程Fig.3 Autoregressive model generation process

图4 GPT-1生成过程Fig.4 GPT-1 generation process

1.3 GPT2:引入提示学习

GPT-2[13]通过模型结构的改进,在下游任务的微调上取得了更好的结果。GPT-2在以下两个方面进行了优化。

(1)扩大参数规模。使用更多高质量的网页数据,将模型参数规模扩大到1.5×109。

(2)更自然的任务模型融合方式。GPT-2将下游任务通过prompt方式加入到预训练模型中,从而让模型获得零样本学习的能力,即引入了一种多任务求解的概率形式,通过给定输入与任务条件对结果进行预测。

虽然GPT-2在下游任务的微调中并没有BERT模型表现优越,但其更自然的任务融合方式为后续ChatGPT的指令理解能力奠定了基础,即对输入文本信息按照特定模板进行处理,将任务重构成一个更能充分利用语言模型处理的形式。

通过上述方式,每个自然语言处理的任务都可以被视作基于世界文本子集的单词预测问题[18]。这种思想表明,只要模型足够大、学到的知识足够丰富,任何有监督任务都可以通过无监督的方式来完成,GPT-2下游任务中的对话任务[19-20]更是进行了全面的微调,为后续的ChatGPT对话奠定了基础。

1.4 GPT-3:量变引起质变

在GPT-2的基础上,GPT-3[21]通过扩展生成预训练架构,实现了容量飞跃。GPT-3的显著特点就是规模大。由于GPT-2的实验中发现随着参数规模的增大其效果的增长依旧显著[22-23],因此选择继续扩大参数规模,用更多优质的数据,一方面是模型本身规模大,参数量众多,具有96层Transformer解码器,每一层有96个128维的注意力头,单词嵌入的维度也达到了12 288维;另一方面是训练过程中使用到的数据集规模大,达到了45 TB,参数规模达到1.75×1011。

此外,GPT-3在模型能力上转变思路,采用情景学习的思想,使模型能够在少样本学习上取得较好的效果。大量实验证明GPT-3在少样本情况下具有良好的表现,如图6所示。

由于规模巨大,GPT-3在各领域均有广泛的应用,衍生了多种应用生态,被视为从预训练模型发展到大模型过程中的一个里程碑。

1.5 ChatGPT:实现人机混合增强

尽管GPT-3拥有大量知识,但生成文本质量不一且语言表达冗余,ChatGPT通过人工标注的微调,引导模型输出更有价值的文本结果,即实施了人类反馈的强化学习机制。

OpenAI对于混合人类反馈增强机器智能的研究可以追溯到2017年[24],并且在当年发布了近端策略优化(PPO)[25]算法作为强化学习的基础算法,该算法通过多个训练步骤实现小批量更新,以克服传统策略梯度算法中步长难确定、可能导致学习性能下降的问题,引入保守的策略更新机制有效缓解了策略更新过快导致的不稳定性,提高了训练的鲁棒性和稳定性。PPO算法根据当前策略与环境互动产生轨迹,并记录各状态、动作与奖励,使用轨迹信息更新策略限制策略步长,使得目标散度既足以显著改变策略,又足以使更新稳定,防止新旧策略过远,并在每次更新后重新计算优势函数。

具体来说,近端策略优化算法的流程如下。

(1)初始化。初始化网络参数θ和值函数参数φ。强化学习中,值函数通常用于估计一个给定状态s在当前策略πθ下的期望累积折扣奖励。这个函数通常用神经网络或其他函数逼近器来表示,逼近器的参数记作φ。

(2)数据收集。在环境中用当前策略πθ进行多步操作,收集状态st、动作at和奖励rt。状态st用于描述环境在某一时刻的观察结果。动作at是智能体在某一状态下决定执行的操作。奖励rt是环境给予智能体的反馈,用于量化智能体执行某个动作的效果或价值。

(3)优势函数估计。对每一个状态s,使用累计折扣奖励和值函数Vφ(st)来估计优势函数A,用于量化一个动作相对于平均情况下的预期效果或好处。

(4)策略更新。将当前策略备份为πold。通过目标函数JPPO(θ)来更新策略。目标函数JPPO(θ)为组合了优势函数和旧策略的有界目标函数,包括KL散度项用于确保新旧策略不会相差太远,是一个综合考虑策略改进和稳定性的目标函数。

(5)值函数更新。使用损失函数LBL(φ)来更新值函数Vφ(st)。损失函数LBL(φ)量化了实际累计奖励和值函数预测之间的误差,通常定义为均方差误差,更新次数由参数B控制。

(6)适应性调整正则化系数λ。如果新旧策略之间的KL散度超过了一个高阈值,增大λ以减少策略更新幅度。反之,如果KL散度低于一个低阈值,减小λ以允许更大幅度的策略更新。

(7)循环。以上步骤会被重复N次,以不断优化策略和值函数。

OpenAI在GPT-2时便开始使用上述强化学习算法[24-25]来进行微调,同年以类似方法训练了文本摘要模型[26]。

ChatGPT的前身,InstructGPT[27]模型正式使用了基于人类反馈强化学习(RLHF)算法,通过结合智能体自主学习与人类专家反馈两种策略,选择基于策略梯度的算法搭建强化学习模型从而训练智能体,并在每个时间步上记录智能体行为并且由人类专家对其进行评估反馈,以进行参数更新优化行为策略。该算法的第一阶段[27]是指令调优。除了提高指令理解能力外,RLHF算法还有助于缓解大模型产生危害或不当内容的问题,这也是大模型在安全实践部署的关键。OpenAI在技术文章[27]中描述了他们的对齐研究方法,该文章总结了3个有希望的方向,即“使用人类反馈训练AI系统,帮助人类评估和进行对齐研究”。

1.6 GPT4:多模态升级

GPT-4是对ChatGPT的多模态升级,可对图文输入产生应答文字,并可引用于视觉分类分析、隐含语义等领域。多模态输入能力对语言模型至关重要,使其可以获得除文本描述外的常识性知识,并为多模态感知与语义理解的结合提供了可能性。

新范式可归纳为“预训练+提示+预测”。各种下游任务被调整为类似预训练任务的形式,尤其GPT-4的多模态提示工程针对多模态数据集,涉及合适的模型架构参数、精心设计的提示格式结构和选定的数据微调模型,来使得模型生成高质量文本。

2 ChatGPT的核心技术

2.1 提示学习与指令精调

传统的监督学习使用包含输入x与标签y的数据集来训练一个模型P(y|x;θ),从而学习模型参数θ预测条件概率。提示学习[28]试图学习模拟概率P(x;θ)的x本身来预测y,从而减少或消除对大型监督数据集的需求。

(1)

通过编辑任务的输入,提示学习在形式上模拟模型训练中的数据与任务。以情感分类任务为例,相比于监督学习中输入一句话,模型输出情感分类判断,提示学习是设计一种模板,将原有语句嵌入其中,为模型留出判断类别的位置,让模型做类似完形填空的工作生成情感类别。提示学习旨在激发语言模型的补全能力,指令精调(instruction tuning)[29]则是提示学习的加强版,激发模型的理解能力。通过指令调优,模型能够在不使用显式示例的情况下遵循新任务的任务指令,从而提高了泛化能力[29-30],即便在多语言环境下也有卓越能力[31]。这种学习人类交互模式的分布让模型可以更好地理解人类意图[32]、与人类行为对齐[27]。从解释性上来说,这类似于打开大门的钥匙,从大模型在预训练中学习到的庞大知识中激活特定的部分完成指定任务。ChatGPT能响应人类指令的能力就是指令微调的直接产物,对没有见过的指令做出反馈的泛化能力是在指令数超过一定程度之后自动出现的,T0 模型[15]、Flan模型[29]等工作都进一步证明了这一点。

对于模型未训练的新任务,只需设计任务的语言描述,并给出任务实例作为模型输入,即可让模型从给定的情景中学习新任务并给出恰当的回答结果。这种训练方式能够有效提升模型小样本学习[33]的能力。

2.2 思维链

谷歌研究人员Wei等提出了思维链(chain of thought, COT)[34]的概念,即在小样本提示学习中插入一系列中间推理的步骤示范,从而有效提高语言模型的推理能力。与一般的提示词不同,思维链提示由多个分别解释子问题的中间步骤组成,提示词模式从之前的问题、答案变成输入问题、思维链、输出问题。如图7所示,以数学计算解答为例,一般的提示词模板通过输入内嵌入样例,使得模型学习任务答案,而思维链提示词增加推理步骤,参考人类解决问题方法,嵌入自然语言形式的推理步骤直至答案生成。在思维链的加持下,通过将问题分解为一系列的分步推理,根据前一步骤结果与当前问题要求共同推断下一步骤。通过这种逐步推理的方式,模型可以逐渐获得更多信息,并在整个推理过程中累积正确的推断,从而大幅度提升模型在复杂推理时的准确率,表现在数学计算结果的正确与否,同时也为模型的推理行为提供了一个可解释的窗口[27,35-36]。

图7 思维链示意图Fig.7 Diagram of chain of thought

2.3 人类反馈强化学习

人类反馈强化学习[24,37]是ChatGPT实现理解人类指令、对齐人类行为[38-39]的重要技术。图8所示为模型训练过程。此算法[40]在强化学习[41]的框架下大体可以分为3个阶段。

(1)深度模型训练,对应图8中的第一步。利用大规模的文本数据,对每一个给定的提示,深度模型会生成一个初始的回复,然后返还给标注人员。标注人员检查并评价这个回复,这种方法允许从人类反馈中获得有价值的修正建议和方向,从而提高模型的准确性和可靠性。收集到这些经过人类评估和修正的数据后,使用监督学习(supervised fine-tuning)方法来在GPT-3模型上进行微调。

(2)奖励模型训练[42],对应图8中第2步。该阶段旨在获取拟合人类偏好的奖励模型。奖励模型以提示和回复作为输入,计算标量奖励值作为输出。奖励模型的训练过程通过拟合人类对于不同回复的倾向性实现。具体而言,首先基于在人类撰写数据上精调的模型,针对同一提示采样多条不同回复。然后,将回复两两组合构成一条奖励模型训练样本,由人类给出倾向性标签。最终,奖励模型通过每条样本中两个回复的奖励值之差计算倾向性概率拟合人类标签,完成奖励模型的训练。

(3)生成策略优化与迭代,对应图8中第3步。给定训练的奖励模型,GPT模型的参数将被视为一种策略,在强化学习的框架下进行训练。首先,当前策略根据输入的查询采样回复。然后,奖励模型针对回复的质量计算奖励、反馈回当前策略用以更新。

图8 ChatGPT训练过程示意图Fig.8 Diagram of ChatGPT training process

为防止上述过程的过度优化,损失函数引入了词级别的KL惩罚项。此外,为了避免在公开NLP数据集上的性能退化,策略更新过程兼顾了预训练损失。

3 ChatGPT面临的问题

虽然ChatGPT在多个任务中都表现出不错的性能,其现有运行原理决定了其有很多局限性。

(1)对某个领域的深入程度不够[35,43],因此生成的内容可能不够合理。此外,ChatGPT也存在潜在的偏见问题,因为它是基于大量数据训练的,训练数据中的固有偏差会渗透到神经网络中,导致模型会受到数据中存在的偏见的影响[27,44]。

(2)对抗鲁棒性[45]。对抗鲁棒性在自然语言处理与强化学习中是决定系统适用性的关键要素[46],对于干扰示例x′=x+δ,其中,x指原始输入,δ指扰动,高鲁棒性系统会产生原始输出y,而低鲁棒性系统会产生不一样的输出y′。ChatGPT容易受到对抗性攻击,例如数据集中攻击[47]、后门攻击[48]和快速特定攻击[49]等,从而诱导模型产生有害输出。

(3)安全保障。由于ChatGPT是一种强大的人工智能技术,它可能被恶意利用,造成严重的安全隐患及产生法律风险[50]。同时,它的答复尚不明确是否具有知识产权,从而可能产生不利的社会影响[51]。因此,开发者在设计和使用ChatGPT时,需要采取相应措施,例如去偏方法和校准技术[52]来保障安全性问题。

(4)推理可信度。与其他神经网络类似,ChatGPT很难精确地表达其预测的确定性[53],即所谓的校准问题,导致代理输出与人类意图不一致[54]。它有时会回答荒谬的内容,这也是目前发现的最为普遍的问题,即对于不知道或不确定的事实,它会强行根据用户的输入毫无根据地展开论述[55],产生偏离事实的文本。

(5)可解释性差。黑盒特性使得ChatGPT的回答看似合理但却无迹可寻,同时由于它没有办法通过充足的理由去解释它的回答是否正确,导致在一些需要精确、严谨的领域没有办法很好的应用[56]。此外,它也可能在表述的时候存在语法错误或不合理的表述。

(6)无法在线更新近期知识。目前的范式增加新知识的方式只能通过重新训练大模型。现有研究探索了利用外部知识源来补充大模型[57],利用检索插件来访问最新的信息源[58],然而,这种做法似乎仍然停留在表面上。研究结果表明,很难直接修正内在知识或将特定知识注入大模型,这仍然是一个悬而未决的研究问题[59]。

4 ChatGPT的进化展望

ChatGPT在自然语言处理技术的发展中有里程碑式的意义,在语言和意图理解、推理、记忆以及情感迁移方面具有强大的能力,在决策和计划方面表现出色,只需一个任务描述或演示,就可以有效地处理以前未见过的任务。此外,ChatGPT可以适应不同的语言、文化和领域,具有通用性,减少了复杂的培训过程和数据收集的需要[60],在各领域得到了广泛应用。

在学术界积极探索能力背后的技术原因的同时,工业界已将ChatGPT优异的对话生成能力融入各种场景中,根据对话对象的不同,将应用分为以下几种层次。

(1)数据生成加工。利用ChatGPT强大的信息搜索与整合能力,用户根据自身需求直接返回特定数据,主要应用场景包括文案生成、代码生成和对话生成等。同时,其可以充当知识挖掘工具对数据进行再加工,一些在线应用可帮助翻译、润色等,例如文档分析工具ChatPDF。

(2)模型调度。ChatGPT可以调用其他机器学习模型共同完成用户需求并输出结果,例如微软近期发布的HuggingGPT。作为人类与其他模型的智能中台,其有望解决AI赋能长期面临的痛点问题,实现模块化模型管理、简化技术集成部署,提高赋能效率。

(3)人机混合交互。ChatGPT一定程度上统一了人类语言与计算机语言,使得人机交互界面从键盘鼠标图形进化到自然语言接口。微软的365 Copilot将其嵌入到Office,极大地提高了人机自然交互体验;OpenAI近期发布的Plugins插件集尝试了大语言模型应用的开发框架。在未来其有望成为智能时代的操作系统,调用更广泛的应用程序解决实际问题。

结合实际应用中可能存在的问题和实际应用需求,对ChatGPT在具体领域存在问题的可能解决方案进行了分析讨论。

(1)商业服务优化领域。提升商品服务质量[61]需要对用户评论进行细粒度情感分析,通常需要对特定商品领域的知识有深入的理解。然而,ChatGPT作为通用语言模型,可能缺乏不同商品领域中的专业知识,这可能导致模型无法准确识别和分析特定领域的优缺点。可以考虑利用迁移学习的方法,将ChatGPT在通用领域中的知识迁移到特定领域中,使ChatGPT更加适应特定领域的问题和需求。

(2)智慧医疗领域。ChatGPT在医疗领域可以做为辅助工具用作医疗诊断与肿瘤图像分割[62],有助于精准医疗、靶向治疗等方案的落实。然而,目前ChatGPT主要针对文本进行处理,对于其他模态的信息理解相对较弱,这使得模型应用仅限制在辅助诊断和医疗数据挖掘等方面,无法融合其他模态的信息来增强模型通用性与泛化性。因此为了实现更加有效表达的通用人工智能模型,需要进行多模态联合学习,关注内容关联特性与跨模态转换问题。此外,风险责任问题、沟通限制状况以及模型引发的算法偏见与个人隐私安全问题同样不容忽视。

(3)舆情监管引导领域。舆情引导和特定内容生成[63]需要在构建训练数据阶段进行意图对齐和质量筛选。由于GPT系列的训练语料来自于西方的语言价值框架,受到模型训练数据的偏见和倾向性影响,ChatGPT生成内容中存在对于中国的大量偏见言论,不一定符合中国的价值观,这可能引发舆情操纵和认知战[64]的风险。因此训练国产大模型时需要对训练数据进行筛选,构建合适公正的中文语料,并不断维护更新基础词库。

很多研究者认为ChatGPT开启了第四次技术革命,其作为催化剂整合人工智能学科,并激发学术界与工业界深入探讨和实践交叉学科与跨学科应用[65]的可能性,科技部近期启动的“AI for Science”专项部署工作也从一定程度上反映了国家导向。未来其从应用拓展上将呈现垂直化、个性化与工程化,如何增强其人机交互协同性,如考虑生物学特性、身体感知等因素;以及如何增强模型可信性,构建新的可信测试基准,都是未来可能的发展趋势。

5 总 结

本文探讨了ChatGPT在自然语言处理领域发展中的地位以及未来可能的发展方向,着重分析了GPT系列模型的演进以及核心技术,包括语料体系、提示学习、思维链和基于人类反馈的强化学习等。随后,分析了其存在的显著缺陷,如理解与推理能力的局限性、专业知识的不深入、事实的不一致性以及信息安全泄露等风险;最后,结合实际应用,ChatGPT有着很大的改进和发展空间,包括采用迁移学习和领域适应技术、引入外部专家知识、增强多模态处理能力、筛选训练语料等都是可能的解决方案与发展趋势。通过上述分析,本文对深入理解ChatGPT和在相关领域展开进一步研究提供参考。

猜你喜欢
微调语料人类
人类能否一觉到未来?
人类第一杀手
1100亿个人类的清明
一种新型微调挤塑模具的设计及应用
灵活易用,结合自动和手动微调达到好效果 StormAudio ISP 3D.16 ELITE/PA 16 ELITE
基于语料调查的“连……都(也)……”出现的语义背景分析
华语电影作为真实语料在翻译教学中的应用
人类正在消灭自然
《苗防备览》中的湘西语料
国内外语用学实证研究比较:语料类型与收集方法