1.1.2 运行机制:模型训练和微调

ChatGPT的能力来源于模型训练和微调。ChatGPT的语言生成、文案生成、掌握事实性知识和常识等能力都源于其底层大模型的预训练。而模型微调可以帮助ChatGPT解锁针对特定领域的特殊能力,使得ChatGPT的精度和可靠性更高,更好地满足特定领域的需求。

模型训练和微调是ChatGPT构建自身能力的关键,主要包括以下几个步骤,如图1-2所示。

1.数据收集及编码

OpenAI使用了海量互联网的真实文本数据来研发ChatGPT。这些数据经过清洗和标记后,形成庞大的训练数据集。

img

图1-2 ChatGPT模型训练和微调的步骤

ChatGPT创造性地利用位置编码,即将每一句话中每个单词的顺序作为模型输入的变量。这是其核心机制—自注意力机制的重要创新,也是ChatGPT作为自然语言处理模型理解语义和语法的重大突破:通过考虑序列中元素的位置,计算不同元素的权重,从而更好地明确序列中不同元素的重要性。

为了更好地理解和生成人类语言,ChatGPT不基于合成数据进行训练。因为真实文本数据量足够大,且具有丰富的多样性。

2.模型初始化

在深度学习的过程中,模型的架构被定义,包括神经网络的层数、隐藏单元数、自注意力头的数量等。而在此之后,完成参数的初始化是尤为重要的一步,以便在训练过程中更容易收敛到合适的权重和偏差值,对模型的收敛速度和最终性能都有着举足轻重的影响。

常见的方法是将参数初始化为随机、小的数值,但这意味着需要更长的训练时间。而对于一些特定任务,则可以选择预先训练好的模型(如GPT-4)。

3.模型预训练

这一步骤主要是使用准备好的数据对模型进行预训练。在这个过程中,模型通过学习大量的文本数据,学会推测词语之间的关系、句子的结构和文本的一般性规则。

模型会不断收敛,调整嵌入向量,更好地捕捉语义关系。整个过程会有大量的人工参与,在自监督系统训练过程中,模型需要基于人类常识来监督、训练数据集。而在投入使用后,大量的真实用户持续地提供反馈,则是推动模型高速进化的重要原因。

4.模型微调

在模型预训练的基础上,为了适应不同的具体任务,如翻译、文本分类、摘要总结等,模型需要基于与具体任务相关的数据进行进一步的训练。

具体来说,ChatGPT的模型微调过程主要分为四步:第一,由人类定义任务,如问答任务;第二,使用标注好的数据对模型进行训练,如问答任务则基于问题和正确答案的特殊数据进行训练;第三,通过对答案进行排序,设计一个奖励模型;第四,通过奖励模型进一步训练ChatGPT。

进行模型微调后,ChatGPT在特定任务上会有更加出色的表现。