大模型训练微调名词:Pretraining、CPT、SFT、DPO、PPO 到底是什么?

大模型训练时,经常会看到这些词:

  • Pretraining
  • CPT
  • SFT
  • DPO
  • PPO

下面我们就分别看看它们到底是什么?各自有什么作用?以及它们之间有什么区别?

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根据分数优化回答模型回答和奖励分数

内容概要:本文系统阐述了利用BP神经网络结合Matlab编程实现对水质变化趋势进行科学预测的技术方法。通过构建BP神经网络模型,利用历史水质数据(如pH值、溶解氧、浊度等)进行训练,充分挖掘数据间的非线性关系,实现对未来水质状况的精准预测。该方法在处理复杂、非线性的环境数据方面表现出色,具有较强的泛化能力和实用性,适用于环境监测与水资源管理领域。文中配套提供了完整的Matlab代码实现方案,涵盖数据预处理、模型构建、训练优化及预测分析全过程,便于读者复现与应用。; 适合人群:具备一定机器学习理论基础和Matlab编程能力的科研人员、环境工程及相关专业的高校学生,以及从事水质监测、水污染预警和水资源管理的技术人员。; 使用场景及目标:①用于水质关键参数的时间序列预测,支持水环境长期趋势分析;②为水污染早期预警系统建设、水资源保护政策制定与生态环境治理提供可靠的数据支撑和技术手段;③作为教学实践案例,帮助学习者深入理解神经网络在环境科学中的建模流程与应用逻辑。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块运行与调试,重点掌握数据归一化、网络结构设计、训练参数调优及预测结果可视化等关键步骤,同时鼓励将该模型迁移至其他类似时序预测任务中进行拓展验证与性能优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小k技术栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值