模型训练基础:监督学习与 ChatGPT 预训练
ChatGPT 模型的训练过程主要包括语言模型的预训练,根据用户数据微调(Finetune) ,使用强化学习方法提升模型知识涌现能力。这几部分的本质都还是利用随机梯度下降法,使用数据进行有监督训练。
神经网络的训练过程
目前,神经网络最常用的模型训练方法为监督学习(Supervised Learning) 。监督学习的目标,是通过给定的输入(ChatGPT 的输入文本)和输出(ChatGPT 的输出文本)数据来学习一个函数,使得对于新的输入数据,可以预测其对应的输出。在监督学习中,我们通常将输入数据称为特征,将输出数据称为标签或目标变量。
神经网络的输入和输出
神经网络的预测推理
在模型开始训练之前,首先需要随机初始化一套参数值,用于模型的推理(也叫模型的预测)。在 ChatGPT 中,用户每次调用 ChatGPT 回答一次问题,技术上都叫做一次模型的推理或预测。
神经网络的损失函数
损失函数是机器学习中一个重要概念,用于衡量模型预测结果与真实结果之间的差距,在这个例子中,上述模型参数预测得到的类别和真实的标注类别不一致,这就需要损失函数来衡量。
而模型的训练,就是通过优化损失函数来更新模型的参数,使得模型的预测结果更加准确。常见的损失函数是交叉熵 (Cross Entropy )
梯度下降法
定义
梯度下降法是一种常用的优化算法,用于求解函数的最小值。在机器学习中,我们通常使用梯度下降法来更新模型的参数,使得损失函数最小化。 梯度下降法的基本思想是沿着函数的负梯度方向不断迭代,直到达到最小值。
具体来说,我们首先随机初始化模型的参数,然后计算损失函数对于每个参数的偏导数,即梯度。接着,我们沿着梯度的反方向更新参数,使得损失函数逐渐减小。
梯度下降法训练实施过程
通过调整模型参数权重,实现了模型的训练任务
ChatGPT 的预训练过程
总结
- 监督学习是根据数据,对模型参数进行拟合,在神经网络模型中非常常用。
- 监督学习最常用的损失函数是交叉熵。
- 监督学习采用梯度下降法进行模型的参数训练。
- ChatGPT 的预训练就是一个监督学习过程。