一、Transformer 结构与 ChatGPT
(一)核心结构
Transformer 组件的核心是 Self - Attention,多个 Transformer 组件的堆叠构建了 ChatGPT 的语言模型。这种基于 Self - Attention 的结构赋予了模型强大的语言处理能力,使其能够捕捉文本中的复杂关系。
(二)Sparse Transformer
自 GPT3 模型(包括 ChatGPT)开始使用 Sparse Transformer,它的优势在于能有效减轻模型的计算量,从而加速模型的训练过程和使用效率,使得模型在处理大规模文本数据时更具优势。
(三)其他关键技术
在 Transformer 中,还运用了 Normalization、残差计算和线性层等技术。Normalization 有助于稳定训练过程,残差计算增强了模型的拟合能力,使模型能够更好地处理深度增加带来的问题,线性层则进一步提高了模型对不同数据特征的适应性。
二、ChatGPT 的模型架构与输出控制
(一)基于 encoder - decoder 的建模
ChatGPT 模型基于 encoder - decoder 模型架构进行构建。这种架构为模型处理输入文本和生成输出结果提供了有效的框架,使得模型能够准确理解用户输入并生成合理的回复。
(二)输出结果的生成方式
ChatGPT 采用核搜索和温控搜索相结合的方式来生成输出结果,并通过 temperature 参数调节生成结果的随机性。当 temperature 值较大时,生成结果的随机性增强,可能会产生更多样化的回答;而当值较小时,生成的内容则更趋向于固定,更具有确定性。
(三)Mask 掩码技术
ChatGPT 主要运用 Mask 掩码的方式,其作用是屏蔽掉不参与注意力计算的 token 位置。这种技术能够提高模型计算的效率和准确性,使模型在处理文本时能够聚焦于关键信息。
三、监督学习与 ChatGPT 的预训练
(一)监督学习概述
监督学习是一种常见的机器学习方法,它根据给定的数据对模型参数进行拟合。在神经网络模型中广泛应用,通过大量有标记的数据,让模型学习输入和输出之间的映射关系。
(二)常用损失函数与训练方法
在监督学习中,最常用的损失函数是交叉熵。同时,采用梯度下降法进行模型的参数训练。这种方法通过不断调整模型参数,以最小化损失函数的值,从而使模型能够更好地拟合数据。
(三)ChatGPT 的预训练
ChatGPT 的预训练是一个监督学习过程。在这个过程中,模型利用大量的数据进行学习,不断优化自身的参数,为后续的语言处理任务打下坚实的基础。
(四)NLP 模型训练阶段
NLP 模型的训练阶段总共经历了 4 个阶段,分别是纯监督学习、预训练 + finetune、小样本学习和 RLHF。这些阶段相互配合,逐步提升模型的语言处理能力。其中,所有 GPT 模型都采用了基于大规模数据的语言模型预训练,这种方式为模型提供了丰富的语言知识。
(五)GPT3 的特殊学习方式
GPT3 使用了 in - context learning 的学习方式,这种方式有助于扩增语言模型的学习能力。然而,in - context learning 在对人类自然语言指令的响应方面仍存在不足,需要进一步改进。
四、强化学习与 NLP 的结合
(一)强化学习原理
强化学习是让智能体(Agent,即人工智能模型)通过与环境的交互来学习如何做出最优决策(Policy)。在这个过程中,智能体根据环境反馈的奖励信号来调整自己的行为,以达到更好的性能。
(二)NLP 与强化学习结合的难点
在 NLP 领域,强化学习的应用面临一些挑战。其中,环境复杂是一个主要问题,因为现实世界中的事物几乎是无限多的,很难完全模拟。此外,reward 函数的设计也非常困难,目前主要依靠人工评价模型输出的好坏,这种方式主观性较强且效率较低。