news 2026/5/3 10:31:03

人工智能篇---SFT与DPO

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
人工智能篇---SFT与DPO

SFT(Supervised Fine-Tuning,有监督微调),是在大语言模型(LLM)训练流程中,紧接在预训练(Pre-training)之后的关键一步。它的核心目的非常直接:让一个什么都懂的"通才"模型,学会遵循指令,变成一个能干的"专才"助手。

🎯 核心思想:指令与答案的配对训练

SFT 本质上是在一个高质量的指令-答案对数据集上,对预训练模型进行进一步的训练。这些数据是人工或由高级模型精心构造的,包含了各种各样的任务,比如问答、摘要、翻译、代码生成等。

  • 训练数据格式:典型的数据由三部分组成:

    • System Prompt(系统提示,可选):定义模型的角色和行为风格,如"你是一个乐于助人的助手"。

    • Instruction(指令/问题):用户的输入,如"请解释一下什么是光合作用"。

    • Expected Output(期望输出/答案):理想的标准答案。

  • 训练目标:模型在接收指令后,需要逐词地预测期望答案的那段文本。它与预训练的目标函数(通常是预测下一个词)完全相同,但不同之处在于:

    • 它只计算答案部分的预测损失,而对指令部分的预测损失通常进行掩码处理。这逼着模型把注意力集中在"面对这个问题,应该如何回答"上,而不是去死记硬背问题本身。

⚙️ SFT 在训练流程中的位置与作用

在整个大模型训练管线中,SFT 起着承上启下的桥梁作用:

  1. 预训练 (Pre-training):模型在海量互联网文本语料上学习"世界知识"和"语言规律",这个阶段产出的模型是"话挺多,但不听话"的基础模型。

  2. 有监督微调 (SFT):模型学习如何从指令中理解用户意图,并组织出有用、无害、格式规范的回答。这个阶段的模型已经能与人类进行基本对话了。

  3. 强化学习人类反馈 (RLHF):这是对 SFT 模型的进一步优化。RLHF 通过人类的偏好排序来训练一个奖励模型,再用这个奖励模型去优化 SFT 模型,让它学会生成"更好"而非仅仅是"正确"的答案,比如回答更有帮助、更安全或更详细。

虽然现在 RLHF 很火热,但 SFT 仍然是不可或缺的基础。没有经过好的 SFT,RLHF 过程会极不稳定,因为模型连基本的指令格式都遵循不了。

🌟 SFT 的关键要素与挑战

一个成功的 SFT 过程,其核心往往在于数据的质量和数量。

  • 数据质量重于数量:与预训练的海量数据不同,SFT 对数据质量极为敏感。几千到几万条高质量、多样化、贴近真实场景的指令数据,就可能让一个小模型表现出色。数据中的偏差、错误或格式不一致会直接被模型学到。

  • 数据多样性与丰富程度:为了保持模型的泛化能力,SFT 数据需要覆盖各种任务类型,确保它不会只在某一个任务上表现好,而在其他任务上能力退化。

  • 计算成本相对较低:由于 SFT 的数据量远小于预训练,它对算力和时间的要求通常也低很多,单机多卡甚至单卡训练几天即可完成一轮优秀的 SFT。

下面这张 Mermaid 框图总结了 SFT 的核心概念、流程与价值:

DPO(Direct Preference Optimization,直接偏好优化)是继RLHF之后,大模型对齐领域的一项突破性方法。它简化了让模型“学会什么才是好回答”的整个训练流程。

🎯 核心思想:把复杂的“偏好对齐”变成简单的分类问题

传统的RLHF流程像个三阶段接力赛:先做SFT,再训一个奖励模型,最后用强化学习微调SFT模型。而DPO直接把“根据人类偏好优化策略”这个目标,重构成了一个优雅的有监督分类任务,在SFT模型上一步到位就完成了对齐。

  • 无需显式的奖励模型:DPO的关键是推导出了最优策略与奖励函数之间的直接数学映射。这让模型可以直接从偏好数据对中学习,而无需单独训练一个用于打分的奖励模型。

  • 无需复杂的强化学习:因为没了需要反复采样和更新的RL(特别是PPO算法)环节,整个训练过程变得极其稳定,调参难度也大大降低。

⚙️ 工作原理:只有一个“对比”的目标函数

DPO的训练数据是偏好对:对于同一个指令,有胜出的“优选回答 (win)”和落选的“劣选回答 (lose)”。它的目标函数非常直观:

  • 拉大差距:它只做一件事,就是最大化优选回答与劣选回答在模型眼中的生成概率之差。模型被训练得更“喜欢”生成那个胜出的回答,同时“远离”那个落选回答。

  • 不跑偏:为了防止模型为了讨好偏好而胡说八道,损失函数里还包含了一个KL散度惩罚项,确保优化后的模型不会与原始的SFT模型偏差太远,守住了基本能力和表述规范。

🆚 DPO vs. RLHF:不止是简化

DPO带来的不止是流程上的精简,更是能力和稳定性的提升。

对比维度RLHF (PPO)DPO
流程与模型复杂,需四个模型加载极简,只加载一个策略模型和一个参考模型
训练稳定性难收敛,对超参数极度敏感极稳定,标准的监督学习损失函数
计算开销很高,需反复采样、打分、更新较低,与标准SFT微调相当
理论基础基于马尔可夫决策过程的强化学习基于偏好概率的排序分类
常见挑战奖励模型难以完美捕捉偏好偏好数据集的质量直接决定最终效果

🌟 应用与局限

得益于简单高效,DPO已成为目前最主流的大模型对齐方案之一,被Mistral、Llama 3等众多开源模型广泛采用,尤其适合算力有限的团队。

当然,DPO也有局限性。它对训练数据中的偏好标注质量非常敏感,且主要用于成对偏好优化。如果追求极致的对齐效果(如数学推理能力),有时仍需结合强化学习探索,甚至出现了像SPPO这样借鉴博弈思想的改进方法。

下面的Mermaid框图梳理了DPO的核心逻辑:

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

网盘直链解析全攻略:8大平台高速下载解决方案

网盘直链解析全攻略:8大平台高速下载解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅…

作者头像 李华
网站建设 2026/5/3 10:29:24

3分钟实现Figma中文界面:设计师必备的效率提升神器

3分钟实现Figma中文界面:设计师必备的效率提升神器 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?每次寻找功能菜单都需要反复确…

作者头像 李华
网站建设 2026/5/3 10:29:03

GPT-Models-Plus:大模型工程化部署框架解析与实战

1. 项目概述与核心价值最近在折腾AI模型部署和推理的时候,发现了一个挺有意思的仓库,叫“BlueSkyXN/GPT-Models-Plus”。乍一看名字,你可能会觉得这又是一个简单的模型集合或者封装库,但实际深入用下来,我发现它的定位…

作者头像 李华
网站建设 2026/5/3 10:28:56

Flutter集成OpenAI全攻略:chat_gpt_sdk实战与最佳实践

1. 项目概述与核心价值 如果你是一名Flutter开发者,最近正在琢磨如何在自己的应用中集成AI能力,比如让用户能和GPT-3.5或GPT-4对话、根据文字生成图片,甚至构建一个具备记忆和工具调用能力的智能助手,那么你大概率绕不开与OpenAI…

作者头像 李华