

一般来说,大模型的训练分为三个部分:(1)预训练。(2)监督式微调。(3)强化学习。
预训练#
预训练使用的是海量的无标注的语料,主要是训练模型的词语接龙能力。
训练的语料比如:扣你jio哇是一个CSDN的小博主。
当给模型扣你jio哇是一个CSDN的小这段文字后,它会自己接上博主两个词。
监督式微调SFT#
SFT主要是锻炼模型的一个问答能力。它的训练语料是有标注的优质语料。模型在这个过程中主要是学习对格式的理解。比如<|im_start|>user\n****<|im_end|>\n这段内容是用户说的。模型推理的阶段是从<|im_start|>assistant\n开始,然后到<|im_end|>结束。
训练语料的格式:
<|im_start|>user\n扣你jio哇是谁?<|im_end|>\n<|im_start|>assistant\n扣你jio哇是一个CSDN的小博主。<|im_end|>\nbash推理阶段:
<|im_start|>user\n扣你jio哇是谁?<|im_end|>\n<|im_start|>assistant\nbash大模型返回:
扣你jio哇是一个CSDN的小博主。<|im_end|>\nbash强化学习RL#
算法包括PPO、RLHF和DPO等,其中DPO实现起来最简单。通过DPO学习算法,可以让大模型在回答的时候进行偏好对齐。
训练语料的格式:
- chose好的回答:
<|im_start|>user\n扣你jio哇是谁?<|im_end|>\n<|im_start|>assistant\n扣你jio哇是一个CSDN的小博主。<|im_end|>\nbash- reject坏的回答:
<|im_start|>user\n扣你jio哇是谁?<|im_end|>\n<|im_start|>assistant\n我不知道扣你jio哇是什么东西。<|im_end|>\nbash通过强化学习算法,可以让大模型回答的时候,倾向于选择好的回答,尽量不用坏的回答。