编者按:
人工智能正以前所未有的渗透力重塑生产与生活图景。作为国内领先的数据智能科技企业,和鲸科技自 2015 年成立以来,深耕人工智能与数据科学,历经十年发展,已在气象、教育、医疗、航空航天、金融、通信、能源、零售等领域,与众多高校、科研机构、企业等单位展开了深度合作。
大模型技术正掀起新一轮产业变革浪潮。在此背景下,和鲸科技 AI Infra 架构总监朱天琦基于在大模型业务领域的丰富经验,解析大模型在实际应用中的实践案例与优化路径。
分享嘉宾
朱天琦 和鲸科技 AI Infra 架构总监
全面负责和鲸科技架构组相关工作,持续推动公司 AI Infra 基础设施的构建,特别在大模型平台与分布式系统领域取得了显著成果。
本篇为分享下篇,聚焦大模型微调与蒸馏技术的实践指南。
模型微调实践
常见的微调技术
1. SFT
SFT通俗的解释就是“驾校学车”,普通教练不告诉你原理,但是他会反复强调,'在这个楼门口前面100m有个学校考试区,给我踩油门','前面要左转了,还不打转向灯'。
回到模型的例子,SFT本质上就是:
收集大量的“人类提问-理想回答”的示范
让模型反复学习这些示范
直到模型能够模仿出类似的回答方式
由于SFT只教会模型“照着样子做”,但不一定能让模型理解什么回答“更好”、什么回答“更差”,这就是为什么在SFT之后,通常还需要DPO等微调技术进一步调整模型的输出质量,回到驾校的例子上,很多时候通过教练的SFT微调(训斥),你学会了在指定的考试线路上开车,但是遇到复杂路况,或者平时开车你就又不会开车了。
简单总结一下SFT的局限性:
质量评判缺失:SFT只教会模型"按图索骥",但没有教会它判断哪种回答更好、哪种更差。模型只知道"这样回答",不知道"为什么这样回答更好"。
数据质量依赖:SFT严重依赖示范数据的质量,如果示范数据有偏差或质量不一,模型会继承这些问题。
回答多样性处理不足:对于同一问题可能有多种合理回答,但SFT通常只提供一种"标准答案",限制了模型生成多样化高质量回答的能力。
过拟合风险:模型可能会死记硬背训练数据,而不是真正理解回答的本质。
2. DPO
DPO通俗的解释就是“高级教练教你学车”,他不再只是告诉你如何操作,而不是叫你判断好坏。想象一下,他会给你展示两种不同的驾驶方式,然后告诉你,“你看把车开在路中央,相比靠左或者靠右更不容易压线。”(方法A比方法B更好。)
回到模型的例子上,DPO的本质上就是:
收集大量的“好回答-差回答”对比样本
让模型学习什么样的回答更受人喜欢
直到模型能够自己判断并生成更高质量的回答
由于DPO引入了偏好比较,模型不仅学会了“怎么回答”,还学会了“怎么更好的回答”。回到驾驶的例子上,通过DPO训练,你不只是学会了如何通过考试,而是理解了什么是真正的好驾驶-安全、平稳、冷静、专注,这样你在任何模式路况下都能做出更好的判断。
简单总结一下DPO的优势:
建立质量判断:DPO通过对比学习建立了模型对回答质量的判断能力,使模型能够自主生成更高质量的回答。
学习潜在规则:不再是简单模仿单个示例,而是理解人类偏好的一般原则,形成了通用的质量标准。
回答多样性增强:模型不再局限于单一"标准答案",而是能根据学到的偏好原则生成多种高质量回答。
减少过拟合:通过学习判断标准而非具体示例,减少了模型对训练数据的死记硬背,提高了泛化能力。
DPO依旧存在一些局限性:
1)静态偏好数据问题
DPO使用的是预先收集的静态偏好数据,无法适应用户偏好的实时变化
一旦模型部署,很难对新出现的问题场景做出调整
2)分布偏移挑战
训练数据与实际用例之间存在分布差异
模型在训练中看到的偏好数据可能与实际部署环境中的用户输入有很大不同
3)偏好数据质量与一致性
人类标注者之间常存在偏好不一致的问题
收集高质量、一致的偏好数据成本高且困难
4)回答多样性与创造性的平衡
过度优化偏好可能导致模型回答趋于保守和公式化
难以平衡符合人类偏好和保持生成内容多样性之间的关系
5)长文本生成的偏好学习困难
DPO在短回答优化上效果显著,但对长文本的质量控制仍然有限
人类很难对长文本进行整体的偏好判断
6)训练不稳定性
DPO训练过程中可能出现不稳定现象,导致性能波动
超参数选择对最终结果影响较大
7)偏好幻觉问题
模型可能会学到表面上符合人类偏好的回答模式,而非真正的内容质量提升
形成"讨好评判者"而非提供真正有用信息的倾向
8)迁移能力有限
在一个领域学习的偏好不一定能够很好地迁移到其他领域
需要为不同应用场景准备不同的偏好数据集
3. Online DPO
Online DPO通俗的解释就是"老司机朋友坐副驾驶",老司机不仅会在考试期间教你开车,还会坐在你实际上路时的副驾驶位置,根据你在各种真实路况下的表现给出即时反馈和指导。
回到模型的例子上,Online DPO本质上就是:
在模型实际使用过程中持续收集用户反馈
实时将这些新的偏好数据纳入训练循环
让模型能够动态适应真实世界中用户不断变化的需求
由于Online DPO实现了训练与应用的无缝衔接,模型能够克服静态训练数据的局限性。回到驾驶的例子上,这就像从"驾校驾驶"升级到了"实时路况学习"—你不只在固定场景中学习,而是在各种天气条件、道路状况和交通环境中不断积累经验并改进技巧,成为一个真正适应复杂环境的驾驶员。
简单总结一下Online DPO的优势:
解决分布偏移问题:通过实时收集和训练,确保模型学习的偏好与实际使用场景一致,消除了训练环境和应用环境的差异。
适应动态偏好:能够捕捉到用户偏好的变化和新兴需求,使模型不断进化而不是固定在某个时间点的偏好标准上。
有针对性的数据收集:可以专注收集模型表现薄弱区域的反馈,更有效地改进特定问题。
连续学习能力:模型能够随着交互经验的积累不断自我完善,无需周期性的完全重训。
与离线DPO相比,Online DPO就像从"看录像学习驾驶技巧"升级到了"边开车边学习",不仅学到了一般性的驾驶规则,还能根据每天不同的路况、天气和交通状况不断调整和完善自己的驾驶技能。
Online DPO仍然面临的挑战:
1)数据质量控制:
实时收集的用户反馈可能存在噪声和矛盾
需要建立有效的质量过滤机制避免模型学习到不良偏好
2)技术实现复杂性:
需要构建持续学习的基础设施和框架
在保持模型稳定的同时进行实时更新具有技术挑战
3)计算资源需求:
持续训练需要大量计算资源
在用户规模大的情况下可能面临资源瓶颈
4)数据安全与隐私问题:
使用用户实时反馈进行训练涉及数据隐私问题
需要在效果和隐私保护之间取得平衡
5)灾难性遗忘风险:
过度适应最新反馈可能导致模型遗忘之前学到的有用能力
需要平衡新知识学习和旧知识保留
6)评估困难:
模型持续变化使得标准化评估变得困难
难以确定性能提升是否真正满足长期目标而非短期指标
Online DPO代表了模型训练的发展方向—从"离线静态学习"向"在线动态适应"的转变。
4. Reward Modeling (奖励建模)
Reward Modeling可以比作"培训专业评委"。就像在驾驶考试中,我们需要先培训一批专业的考官,让他们学会如何判断驾驶技术的好坏,然后这些考官才能为学员的驾驶表现打分。
Reward Modeling的工作流程:
收集偏好数据:让人类评估员对模型的不同回答进行排序或比较
训练奖励模型:使用这些偏好数据训练一个能够预测人类偏好的模型
输出奖励分数:奖励模型为任何输入-输出对给出质量评分
Reward Modeling的优势:
可扩展性:一旦训练完成,可以为大量数据自动打分
一致性:相比人工评估,提供更一致的评判标准
效率:大幅降低人工评估的成本和时间
Reward Modeling的挑战:
奖励黑客:模型可能学会欺骗奖励模型而非真正提升质量
分布外泛化:在训练数据之外的场景中表现可能不佳
人类偏好的复杂性:难以完全捕捉人类偏好的所有维度
5. RLHF (Reinforcement Learning from Human Feedback)
RLHF是"专业驾驶教练+实时路考"的组合。不仅有经验丰富的教练制定驾驶标准,还有考官在实际驾驶过程中实时评分,通过奖励和惩罚机制让你学会在复杂路况下做出最佳决策。
RLHF的三阶段流程:
阶段1: SFT → 建立基础指令遵循能力
阶段2: Reward Modeling → 训练偏好评分模型
阶段3: RL Optimization → 用强化学习优化策略
RLHF的具体实现算法:
PPO (Proximal Policy Optimization) - 主流实现
定位:RLHF框架下最常用的优化算法
特点:相对稳定、易实现的策略梯度方法
机制:限制策略更新幅度,避免训练崩溃
应用:ChatGPT、GPT-4等主流模型的训练方法
TRPO (Trust Region Policy Optimization) - 早期实现
定位:PPO的前身,理论基础更严格
特点:通过信赖域约束保证训练稳定性
劣势:实现复杂度高,计算开销大
现状:已基本被PPO取代
GRPO (Group Relative Policy Optimization) - 最新实现
定位:RLHF的群体智慧实现
创新:利用多个模型或多轮生成的群体响应
优势:比PPO更节省内存,训练更稳定
特点:通过群体内部相对比较进行优化
RLHF框架的优势:
深度对齐:能够实现与人类价值观的深度对齐
复杂偏好处理:可以处理多维度的复杂人类偏好
持续优化:通过强化学习实现动态性能提升
RLHF框架的挑战:
训练复杂度高:需要奖励模型、策略模型等多个组件
计算资源密集:强化学习训练过程计算开销大
训练不稳定:RL算法可能存在收敛不稳定问题
6. KTO (Kahneman-Tversky Optimization) - 心理学改进
KTO可以比作"心理学驾驶教练",基于人类心理学理论,理解人类对好坏的不对称感知——损失比收益更令人印象深刻。
理论基础:
前景理论:基于Nobel奖得主Kahneman和Tversky的前景理论
损失厌恶:人类对损失的敏感度高于对收益的敏感度
二元反馈:只需要"好"或"坏"的简单标注
优势:
标注简单:相比成对比较,二元标注更容易获得
心理合理性:基于人类心理学的坚实理论基础
数据效率高:需要的标注数据比DPO更少
7. ORPO (Odds Ratio Preference Optimization) - 效率改进
ORPO如同"一体化驾驶培训系统",将基础学习和偏好学习合并,一步到位完成训练。
核心创新:
单阶段训练:将SFT和偏好学习合并为一个阶段
比值比优化:直接优化偏好回答与非偏好回答的概率比值
数学公式:L_ORPO = L_SFT + λ * L_OR
优势:
训练效率高:减少训练阶段,降低整体成本
一致性更好:避免多阶段训练的目标不一致
实现简单:相比复杂的RL框架更容易实现
8. SimPO (Simple Preference Optimization) - 断舍离大师
SimPO就像一位"断舍离大师",信奉"扔掉不需要的,留下最重要的"哲学,把复杂的偏好学习过程彻底精简。
大师理念:
断:断掉对参考模型的依赖 - "别总想着标准答案长什么样"
舍:舍弃复杂的对比机制 - "直接比较好坏就够了"
离:离开长度偏见的陷阱 - "话多不代表话好"
核心方法:
传统DPO:像囤积癖患者,什么都要留着对比
L_DPO = 需要参考模型 + 复杂计算 + 长度偏见
SimPO:极简主义,只留核心
L_SimPO = 直接比较(好答案 vs 坏答案) + 长度校正
断舍离对比:
实际效果:
空间清爽:训练内存需求直接减半
思路清晰:不被复杂机制干扰判断
效果不减:简单但有效,该好的还是好
适合人群:
资源有限的"极简主义者"
追求效率的"实用主义者"
讨厌复杂流程的"直接派"
就像整理房间时,有些人什么都舍不得扔,SimPO就是那个一眼看出"这个真的不需要"的断舍离专家。
9. 微调技术对比
技术发展脉络总结:
基础能力建设:SFT 奠定指令遵循基础
质量提升:DPO/RLHF 实现偏好对齐
动态适应:Online DPO 实现持续学习
效率优化:KTO/ORPO/SimPO 降低成本提升效率
微调全流程与关键环节
标准微调流程(以DPO为例)
- 预训练模型
- SFT
- 偏好数据收集
- DPO训练
- 评估优化
- 部署
三个关键环节:
SFT阶段:建立基础对话能力
目标:让模型能理解和执行指令
数据:高质量的指令-回答对
关键:数据质量 > 数据数量
偏好训练阶段:学习人类偏好
目标:让模型知道什么回答更好
数据:同一问题的好坏回答对比
关键:偏好标注的一致性
评估调优阶段:验证和改进
目标:确保模型符合预期
方法:自动评估 + 人工测试
关键:多维度评估体系
数据准备、参数优化与评估方法
1. 数据准备
SFT数据要求:
质量优先:宁缺毋滥,1万条高质量 > 10万条低质量
多样性:覆盖目标应用的各种场景
格式统一:{"instruction": "...", "response": "..."}
偏好数据要求:
对比明确:好坏回答差异要显著
标注一致:多个标注员意见一致度 > 80%
平衡分布:避免偏向特定类型的回答
2. 参数优化
关键超参数:
SFT阶段
learning_rate = 1e-5 # 学习率要小,避免遗忘
batch_size = 8 # 根据显存调整
epochs = 3 # 通常1-3轮即可
DPO阶段
beta = 0.1 # 偏好强度,越大越激进
learning_rate = 5e-6 # 比SFT更小
调参原则:
先小规模验证,再大规模训练
监控训练loss,避免过拟合
每轮训练后都要测试效果
3. 评估方法
自动评估指标:
困惑度(PPL):越低越好,但不是唯一标准
Rouge/BLEU:衡量与参考答案的相似度
胜率(Win Rate):A/B测试中的胜出比例
人工评估维度:
有帮助性:回答是否解决了问题
无害性:是否包含有害内容
诚实性:是否承认不知道,避免胡编乱造
典型案例分析
案例1:客服机器人微调
场景:电商客服自动回复
数据准备:
收集10万条真实客服对话
筛选出5千条高质量问答对
人工标注1千组偏好数据
微调策略:
SFT:学习基本客服回复模式
DPO:优化回复的礼貌性和准确性
效果:客户满意度从65%提升到85%
案例2:代码助手微调
场景:编程问题自动解答
数据准备:
使用Stack Overflow问答数据
代码执行测试验证正确性
根据代码质量标注偏好
微调策略:
SFT:学习代码生成和解释
特殊处理:增加代码执行反馈
效果:代码正确率从40%提升到75%
模型数据蒸馏实践(Distilabel)
数据蒸馏全流程与技术要点
1. 什么是数据蒸馏?
准确解释:让"老师模型"(如GPT-4)扮演"人类专家",为各种指令生成高质量的回答,然后用这些合成数据训练"学生模型"。
关键澄清:
误区:不是让老师出题给学生做
实质:用强模型模拟人类专家的标注过程
目标:生成大量高质量的 (instruction, response) 对
核心价值:
用强模型替代昂贵的人工标注
快速扩充训练数据规模
保持数据质量的一致性
具体流程:
- 输入指令 (人工设计)
- 强模型生成回答 (替代人工标注)
- 质量过滤 (确保质量)
- 训练模型数据 (用于SFT)
2. 蒸馏全流程
- 种子数据
- 强模型生成
- 质量过滤
- 多样性采样
- 训练数据
具体步骤:
1. 种子提示设计
指令生成提示
"请生成一个关于{主题}的问题,要求:"
"1. 具有实际应用价值"
"2. 难度适中"
"3. 表述清晰"
2. 批量生成
用强模型(如GPT-4)生成大量数据
设置不同的temperature增加多样性
使用多种prompt模板
3. 质量过滤
过滤标准
- 长度合理(50-500字)
- 语言流畅(困惑度 < 阈值)
- 内容安全(毒性检测)
- 信息准确(事实验证)
4.数据增强
改写:同一问题的不同表达方式
扩展:从简单到复杂的递进
组合:多个简单问题组合成复杂问题
3. 技术要点
成本控制:
使用便宜的模型做初筛
只让贵模型处理精选数据
批量调用API降低成本
质量保证:
多模型交叉验证
人工抽样检查
持续迭代改进
多样性确保:
聚类分析避免重复
主题分布均匀
难度梯度合理
典型案例分析:Distilabel实践
1.Distilabel工具介绍
定位:
开源的数据蒸馏框架,专门用于生成高质量的LLM训练数据。
核心特点:
支持多种强模型API
内置质量评估模块
可视化数据分析
灵活的pipeline配置
2.实际案例:构建数学推理数据集
目标: 为7B模型生成数学解题能力
实施步骤:
1.环境准备
安装distilabel
配置API密钥
2.Pipeline设计
定义生成pipeline
3.数据生成
生成10000个数学问题
4.质量验证
人工评估:随机抽取100个样本
自动评估:使用数学验证器
多样性检查:主题分布分析
效果对比:
生成效率:
1天生成1万条 vs 人工标注需要3个月
数据质量:
自动评分8.2/10 vs 人工标注8.5/10
成本对比:
API费用$500 vs 人工成本$50,000
3.最佳实践总结
数据蒸馏成功的关键:
精心设计prompt:好的提示词是成功的一半
多轮迭代优化:第一版通常不完美,需要持续改进
质量监控体系:建立完整的质量评估和监控机制
成本效益平衡:在质量和成本之间找到最佳平衡点
常见坑点:
过度依赖单一强模型,缺乏多样性
忽视质量过滤,数据中有大量噪声
缺乏人工验证,不知道实际质量如何
没有版本管理,无法追踪数据来源
推荐工作流:
- 小规模测试
- 质量验证
- 大规模生成
- 持续优化
实战建议
1.新手入门路径
先用开源数据集练手(如Alpaca)
掌握基本的SFT流程
尝试简单的偏好优化
逐步引入数据蒸馏
2.进阶优化方向
数据质量:建立完善的质量评估体系
训练效率:使用LoRA等参数高效方法
持续改进:基于用户反馈持续优化
效果评估:建立多维度的评估框架
提醒:微调是一个系统工程,数据质量永远比数据数量更重要。
ModelWhale 大模型应用平台现已全新升级!围绕“知识、模型、流程、应用”四大数字资产视角,掌握与大模型/智能体的协作方法。以更强大的功能和更灵活的适应性,紧跟时代步伐,引领数据科学行业迈向新的发展阶段。
以文件知识库为基底,拓展面向大模型的 RAG 知识库,让大模型吃透专业;
一体化的 MaaS 大模型应用平台,为科研机构及企业提供从模型托管到智能应用落地的全链路支持;
灵活的 Agent + Workflow 编排工具,一键连通平台所有知识和模型资产,丝滑对接外部 LLM 与 MCP 服务;
将编排工具中设计的智能体直接发布至应用中心,实现团队内共享,也可通过链接添加第三方的优质应用,整合领域内常用工具。
ModelWhale 大模型应用平台现已正式启动开放体验,为企业与团队级 AI 应用落地打造全流程底座,关注我们免费体验更多核心功能!