news 2026/5/1 7:23:12

CPT、SFT、DPO分别是什么

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CPT、SFT、DPO分别是什么

在大语言模型(LLM, Large Language Model)的训练和对齐流程中,CPT、SFT、DPO是三个关键阶段的缩写,分别代表:


1.CPT:Continued Pre-Training(继续预训练)

有时也称为Domain-specific Pre-TrainingPost-Pretraining

✅ 目的:

在通用预训练(如 LLaMA、Qwen 的原始训练)之后,用特定领域或高质量语料继续训练模型,使其掌握更专业、更新或更符合目标场景的知识。

🔧 做什么?
  • 输入:大量无标注文本(如医学论文、代码、金融报告、中文百科等)
  • 方法:依然使用自回归语言建模目标(即预测下一个词,损失函数为交叉熵)
  • 模型结构不变,继续训练 Transformer 的所有参数
🌰 举例:
  • 用 GitHub 代码继续训练 → 得到更强的代码生成能力(如 CodeLLaMA)
  • 用中文书籍/网页继续训练 → 提升中文理解(如 Chinese-LLaMA)
  • 用最新新闻数据训练 → 更新模型知识截止日期
⚠️ 注意:
  • CPT 不涉及指令(instruction)或人类偏好
  • 输出仍是“通用语言模型”,不会自动遵循指令

2.SFT:Supervised Fine-Tuning(监督微调)

也叫Instruction Tuning(指令微调)

✅ 目的:

教会模型理解和遵循人类指令,将“通用语言模型”转变为“有用助手”。

🔧 做什么?
  • 输入:人工编写的 (指令, 回答) 对,例如:
    {"instruction":"解释牛顿第一定律","output":"牛顿第一定律指出:任何物体都要保持匀速直线运动或静止状态,直到外力迫使它改变运动状态为止。"}
  • 方法:以监督学习方式微调模型,最小化生成回答与标准答案的交叉熵损失
  • 通常只微调部分参数(如全参数微调、LoRA)
🌰 效果:
  • 模型学会格式化输出、多轮对话、任务分解等
  • 但可能仍会生成不真实、有害或冗长的回答(因为 SFT 数据有限,且未建模人类偏好)

3.DPO:Direct Preference Optimization(直接偏好优化)

一种替代 RLHF(基于强化学习的人类反馈)的对齐方法

✅ 目的:

让模型输出更符合人类偏好的回答(如有帮助、诚实、无害),而不仅仅是模仿 SFT 数据。

🔧 做什么?
  • 输入:偏好数据集,每条包含:
    • 一个 prompt
    • 两个模型生成的回答:chosen(优选)vsrejected(次选)
    • 由人类标注哪个更好
  • 方法:不使用强化学习,而是通过一个巧妙的损失函数直接优化策略模型,使其更倾向于生成 “chosen” 回答
📐 DPO 核心思想(简化):

如果人类认为回答 A 比 B 好,那么模型对 A 的 log-probability 应该显著高于 B。

✅ DPO 优势(vs RLHF):
项目RLHFDPO
是否需要奖励模型(RM)✅ 需要先训练 RM❌ 不需要
是否使用强化学习(PPO)✅ 是,复杂不稳定❌ 否,纯监督式训练
实现难度
训练稳定性较差更好


✅ 总结对比表

阶段全称输入数据目标是否需要标注
CPTContinued Pre-Training大量无标签文本扩展知识/领域适应❌ 无监督
SFTSupervised Fine-Tuning(指令, 回答) 对学会遵循指令✅ 人工编写
DPODirect Preference Optimization(prompt, chosen, rejected)对齐人类偏好✅ 人工偏好标注

💡 补充说明

  • RLHF(Reinforcement Learning from Human Feedback)是 DPO 之前的主流对齐方法,包含两步:
    1. 用偏好数据训练奖励模型(Reward Model, RM)
    2. 用 PPO 算法优化语言模型以最大化 RM 奖励
  • DPO 是 RLHF 的“简化替代方案”,效果相当甚至更好,已成为当前主流(如 Llama-3、Qwen2 等都采用 DPO)

大模型训练,典型的流程就是:
CPT → SFT → DPO,逐步从“知识丰富”到“听话”再到“靠谱”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 8:11:34

RPA实现企业微信群成员信息抓取的技术难点

一、 引言(Introduction) 背景: 在企业微信外部群运营中,获取群成员的详细信息(如昵称、企业认证状态、职务等)是精细化运营的基础。官方API对此类信息的开放程度有限。 RPA的介入: RPA通过模拟…

作者头像 李华
网站建设 2026/4/29 22:45:26

43、Linux 编程:GNU 许可证与入门级 Shell 脚本编写

Linux 编程:GNU 许可证与入门级 Shell 脚本编写 1. Linux 编程中的调试与修复 在 Linux 编程里,调试是一项关键技能。以一个程序因段错误崩溃后的调试为例: (gdb) file dbgtst A program is being debugged already. Kill it? (y or n) y Load new symbol table from …

作者头像 李华
网站建设 2026/4/18 3:24:07

力扣 “两数之和” 最优解:哈希表 O (n) 时间复杂度实现详解

大家好,今天来讲解力扣经典入门题「两数之和」,分享如何用哈希表实现时间复杂度 O (n) 的高效解法。一、题目回顾给定整数数组 nums 和目标值 target,找出数组中和为 target 的两个整数,返回它们的下标。假设输入只有一个答案不能…

作者头像 李华
网站建设 2026/4/20 17:54:48

springboot+jspm高校考研自修室管理系统的设计与实现_g4fduxyz

目录已开发项目效果实现截图开发技术介绍系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/5/1 3:14:27

机械手搬运工件:MCGS 7.7 与西门子 200 SMART PLC 以太网通讯实例

机械手搬运工件mcgs7.7和西门子200SMART型PLC以太网通讯例子带io表在自动化控制领域,实现上位机软件与 PLC 的稳定通讯是构建高效控制系统的关键。今天就来分享一个机械手搬运工件场景下,MCGS 7.7 和西门子 200 SMART 型 PLC 通过以太网通讯的例子&#…

作者头像 李华
网站建设 2026/4/30 14:52:53

基于 S7 - 1200 PLC 的高层建筑恒压供水控制系统探索

基于S7-1200 PLC高层建筑恒压供水控制系统 基于西门子PLC的恒压供水控制系统带解释的梯形图接线图原理图图纸,io分配,组态画面在高层建筑的供水系统中,确保稳定且合适的水压对于居民的日常用水至关重要。基于西门子 S7 - 1200 PLC 的恒压供水…

作者头像 李华