大型语言模型的多阶段训练流程主要包括预训练、监督学习微调、奖励模型训练和强化学习微调四个阶段,具体如下:
预训练阶段
目标:让模型学习语言的统计模式和语义信息,通过大规模未标记数据捕获文本语料库中存在的底层模式、结构和语义知识,构建基础模型。
数据集:来源广泛,如互联网网页、维基百科、书籍、GitHub、论文、问答网站等,形成包含数千亿甚至数万亿单词的具有多样性的内容。
算法与资源:利用由数千块高性能 GPU 和高速网络组成的超级计算机,采用自监督学习方法,如预测文本中下一个可能的词,花费数十天甚至数月的时间完成深度神经网络参数的训练。
结果:得到的基础模型能够对长文本进行建模,具备语言生成能力,可根据输入的提示词生成文本补全句子。
监督学习微调阶段
目标:在预训练模型基础上,使模型具备完成特定任务,如问题回答、翻译、写作等的能力。
数据集:使用少量高质量的与任务相关的数据集,包含用户输入的提示词和对应的理想输出结果,由专业标注员提供标准答案。
算法:在基础模型上进行有监督训练,使用与预训练类似的交叉熵损失函数进行评估,并通过梯度下降优化模型参数。
结果:得到有监督微调模型,具备初步的指令理解能力和上下文理解能力,能够完成开放领域问答、阅读理解、翻译、生成代码等任务。
奖励模型训练阶段
目标:构建一个文本质量对比模型,用于评估模型生成文本的质量,为后续的强化学习阶段提供准确的奖励信号。
数据集:需要百万量级的对比数据标注,标注者要根据预设标准,如准确性、有用性、流畅性等,对模型针对同一问题生成的多个不同质量的答案进行排序或评分。
算法:通常采用二分类模型的结构,通过输入一对文本判断它们之间的优劣关系,优化参数以最小化预测错误率或最大化排序准确性。
结果:得到能够评估模型生成文本质量的奖励模型,为强化学习阶段提供重要支持。
强化学习微调阶段
目标:根据奖励模型的评估,进一步优化模型生成文本的能力,使其更符合人类期望。
数据集:使用数十万用户给出的提示词和奖励模型评估的结果。
算法:利用强化学习算法,如 PPO 调整模型参数,使模型生成的文本能够获得更高的奖励。通常会在原始优化目标中加入一个惩罚项,如 KL 离散度,以避免当前训练轮次的语言模型明显偏离初始的语言模型。
结果:得到最终的强化学习模型,该模型具备更强的理解和生成能力,能够更好地满足用户需求。