
大模型训练时经常会看到这些词PretrainingCPTSFTDPOPPO下面我们就分别看看它们到底是什么各自有什么作用以及它们之间有什么区别1. Pretraining预训练是什么从零开始训练一个大模型。模型一开始什么都不会通过阅读大量文本、代码和资料逐渐学会语言、知识和代码规律。有什么作用训练出一个基础模型也就是基座模型。需要什么数据大量没有人工标注的文本和代码。例如{text:Redis 是一种基于内存的键值数据库。}举个例子让模型阅读大量中文文章、英文文章和代码模型逐渐学会写文章、回答问题和生成代码。是否需要基座模型不需要。因为它本身就是用来训练基座模型的。2. CPT继续预训练是什么在已有基座模型上继续使用某个领域的资料训练。有什么作用让模型更懂某个专业领域。例如医疗法律教育金融Redis企业内部业务需要什么数据某个领域的大量纯文本。例如{text:Redis 的 RDB 持久化会定期生成数据快照。}举个例子把大量 Redis 文档交给模型训练让模型更加熟悉 Redis 的专业知识。是否需要基座模型需要。3. SFT监督微调是什么给模型准备“问题和标准答案”教模型应该怎样回答。有什么作用让模型学会回答问题执行指令总结文章生成代码输出固定格式需要什么数据输入和标准答案。例如{question:什么是 RDB,answer:RDB 是 Redis 的快照持久化方式。}对话格式也可以{messages:[{role:user,content:什么是 RDB},{role:assistant,content:RDB 是 Redis 的快照持久化方式。}]}举个例子用户问RDB 和 AOF 有什么区别训练数据中提供标准回答模型就会逐渐学会怎样正确回答这个问题。是否需要基座模型需要。4. DPO直接偏好优化是什么同一个问题准备一个好回答和一个差回答让模型学习哪个回答更好。有什么作用让模型的回答更加准确清楚有用符合人的偏好需要什么数据问题、好回答和差回答。例如{prompt:什么是 RDB,chosen:RDB 是 Redis 的快照持久化方式可以定期保存内存数据。,rejected:RDB 是 Redis 的一种功能。}其中chosen更好的回答 rejected较差的回答举个例子模型已经会回答问题但回答比较模糊。通过 DPO可以让模型更倾向于生成清楚、完整的回答。是否需要基座模型需要一般在 SFT 之后进行。5. PPO强化学习优化是什么模型生成回答后由奖励模型或评分规则给回答打分再根据分数调整模型。有什么作用让模型不断提高回答质量更符合人的要求。需要什么数据主要包括用户问题模型生成的回答回答获得的分数例如问题什么是 RDB 回答 A完整、准确得 9 分 回答 B模糊、错误得 2 分模型会逐渐提高高分回答的生成概率。举个例子模型生成多个回答评分系统认为其中一个回答更准确模型就会朝这个方向继续优化。是否需要基座模型需要通常还需要 SFT 模型和奖励模型。总结名称简单理解使用的数据Pretraining从零训练模型大量文本和代码CPT学习专业知识领域纯文本SFT学习怎样回答问题和标准答案DPO学习哪个回答更好好回答和差回答PPO根据分数优化回答模型回答和奖励分数