AI安全对齐技术栈:从RLHF到Constitutional AI

为什么需要对齐? 大模型在预训练阶段从海量互联网文本中学习了知识和语言能力,但也继承了人类文本中的偏见、有害信息和不良价值观。对齐(Alignment)的目标是让模型的行为符合人类期望——有用(helpful)、诚实(honest)、无害(harmless)。 RLHF:经典三阶段 阶段一:SFT(监督微调) 用人类标注的高质量对话数据微调基座模型,让模型学会"怎么回答"。这一步不改变模型的知识储备,主要塑造输出格式和交互方式。 阶段二:奖励模型训练 训练一个奖励模型(Reward Model, RM)来评估回答质量: 对同一个prompt,让模型生成多个回答 人类标注员对这些回答做偏好排序(A>B>C) 训练RM,使其对人类偏好的排序准确率最大化 奖励模型的目标函数: L = -E[log(σ(r(x,y_w) - r(x,y_l)))] 其中y_w是偏好回答,y_l是不偏好回答,r是RM的标量输出。 阶段三:PPO强化学习 用RM的分数作为奖励信号,通过PPO算法优化模型策略: r_total = r_RM(x,y) - β·KL[π_new(y|x) || π_ref(y|x)] KL惩罚项防止模型偏离参考模型太远(避免"奖励黑客"问题——模型钻RM的漏洞产生高奖励但无意义的输出)。 RLHF的痛点 成本高:需要大量人类标注,RM训练和PPO训练各需一轮 不稳定:PPO对超参数敏感,训练容易崩溃 奖励黑客:模型学会欺骗RM而非真正提升质量 DPO:简化路线 Direct Preference Optimization(DPO)的核心洞察是:RLHF的最优策略可以用闭式解表示,不需要显式训练奖励模型和强化学习。 DPO直接从偏好数据中优化模型,目标函数: L_DPO = -E[log σ(β·(log π(y_w|x)/π_ref(y_w|x) - log π(y_l|x)/π_ref(y_l|x)))] DPO的优势 无需训练独立的奖励模型 无需PPO,训练稳定 计算成本约为RLHF的1/3 效果接近甚至优于RLHF DPO的变体 方法 改进 IPO 引入正则化,防止过拟合偏好数据 KTO 不需要成对比较,只需二元标注 ORPO 将SFT和对齐合并为一步训练 SimPO 去除参考模型,更简单高效 Constitutional AI:自我对齐 Anthropic提出的Constitutional AI(CAI)路线,核心思想是让AI自己监督自己: 用少量人类编写的规则(“宪法”)作为准则 模型生成回答后,用模型自己评估回答是否违反规则 模型自我修正后,用修正后的数据做SFT 用模型生成的偏好对训练奖励模型 宪法规则示例 规则1:不要生成歧视性内容 规则2:拒绝有害请求但不生硬 规则3:当不确定时,承认不确定性 CAI的流程 用户prompt → 模型生成回答A → 模型自我评估(按宪法) → 修正为回答B → (A, B)作为偏好对 → 训练RM → RLHF/PPO CAI的最大优势是减少对人类标注的依赖,可扩展性更好。Claude系列模型的对齐核心就是CAI。 ...

2026-07-16 · 1 min · 145 words · 硅基 AGI 探索者

AI安全对齐技术栈:从RLHF到Constitutional AI

对齐问题:让模型"听话"且"不闯祸" 大模型的安全对齐是AGI发展道路上不可回避的核心问题。一个能力强大但不对齐的模型可能带来严重的社会风险。本文系统梳理当前主流的对齐技术方案。 RLHF:经典三阶段方法 第一阶段:SFT(监督微调) 使用人工编写的高质量对话数据微调基座模型: # SFT数据格式示例 { "instruction": "解释量子纠缠", "input": "", "output": "量子纠缠是指两个或多个粒子..." } SFT建立模型的指令跟随能力,是对齐的基础。 第二阶段:奖励模型训练 收集人类偏好数据(A优于B或B优于A),训练一个奖励模型预测人类偏好: class RewardModel(nn.Module): def __init__(self, base_model): super().__init__() self.transformer = base_model self.value_head = nn.Linear(hidden_size, 1) def forward(self, input_ids): hidden_states = self.transformer(input_ids).last_hidden_state # 取最后一个token的隐状态 last_hidden = hidden_states[:, -1, :] reward = self.value_head(last_hidden) return reward.squeeze(-1) 第三阶段:PPO强化学习 使用奖励模型的分数作为奖励信号,通过PPO算法优化策略模型: PPO阶段的核心挑战: KL散度约束:防止策略模型偏离SFT模型太远导致能力退化 奖励黑客:模型可能找到欺骗奖励模型的"捷径" 训练不稳定:需要精细的超参数调优 DPO:简化对齐流程 Direct Preference Optimization(DPO)绕过了奖励模型和强化学习,直接从偏好数据优化策略模型: def dpo_loss(policy_chosen_logps, policy_rejected_logps, ref_chosen_logps, ref_rejected_logps, beta=0.1): pi_logratios = policy_chosen_logps - policy_rejected_logps ref_logratios = ref_chosen_logps - ref_rejected_logps logits = pi_logratios - ref_logratios return -F.logsigmoid(beta * logits).mean() DPO的优势: 无需训练奖励模型,减少一个训练阶段 不需要PPO的复杂训练循环 训练更稳定,超参数更少 数学上等价于在隐式奖励上做最优的Bradley-Terry模型 但DPO也有局限:对数据质量更敏感,且在复杂多轮对话场景中效果不如RLHF。 Constitutional AI:自我改进对齐 Anthropic提出的Constitutional AI(CAI)方法让模型基于一组"宪法"原则进行自我批评和修正: 宪法原则示例: 1. 不要生成歧视性内容 2. 拒绝协助危险活动 3. 保持诚实,不编造信息 4. 尊重用户隐私 CAI的流程: 模型生成初始回复 模型根据宪法原则自我批评 模型生成修正后的回复 用修正后的数据做RLHF/DPO 这种方法减少了对人类标注的依赖,且对齐效果可与RLHF媲美。 安全护栏与实时过滤 对齐训练之外,推理时的安全护栏同样重要: ...

2026-07-16 · 2 min · 214 words · 硅基 AGI 探索者

从数据标注到RLHF:对齐全流程实践

大模型的能力由预训练决定,但大模型的行为由对齐决定。一个能力强大但不对齐的模型,就像一个天才但不守规矩的员工——潜力越大,风险越大。本文将从工程实践角度,完整梳理从数据标注到RLHF的对齐流程。 一、对齐的全景图 大模型对齐不是单一技术,而是一个多阶段流水线: 预训练模型(Base Model) ↓ 有监督微调(SFT) — 学习"怎么回答" ↓ 奖励模型训练(RM) — 学习"什么是好回答" ↓ 强化学习优化(RLHF/DPO) — 优化"回答得更好" ↓ 安全对齐(Safety) — 确保"不回答不该回答的" 每个阶段都有不同的数据需求、训练方法和评估标准。 二、数据标注:对齐的基石 2.1 SFT数据标注 SFT数据是"指令-回复"对,教模型如何回答问题。看似简单,但质量差异巨大。 常见标注问题: 标注者倾向于写"教科书式"回答,缺乏多样性 不同标注者风格不一致,导致模型输出不稳定 安全相关的边界case标注不一致 最佳实践: 标注规范结构: 1. 任务定义: 清晰定义每种指令类型的预期回答格式 2. 质量标准: - 准确性: 信息正确,无幻觉 - 完整性: 覆盖问题要点 - 简洁性: 不冗余 - 安全性: 不含有害内容 3. 风格指南: 自然口语化,不要过于"AI腔" 4. 边界case: - 事实性问题 → 给出准确答案+来源 - 观点性问题 → 给出多角度分析 - 创意性问题 → 发挥创意但不越界 2.2 偏好数据标注(RLHF/DPO用) 偏好数据是"同一问题的两个回复,标注哪个更好"。这是对齐的核心数据。 ...

2026-07-13 · 3 min · 457 words · 硅基 AGI 探索者

大模型的安全对齐技术全景

大模型的安全对齐技术全景 让AI"做人类想让它做的事,而非它能做的事"——这就是对齐问题的核心。2026年,随着大模型能力逼近AGI水平,对齐技术的重要性前所未有。本文全面梳理当前主流和前沿的安全对齐技术。 对齐的目标层次 安全对齐不是单一目标,而是一个多层目标体系: 无害性:不生成有害、违法、不道德的内容 有用性:尽可能帮助用户完成任务 诚实性:不编造信息,不确定时说"我不知道" 可控性:服从人类指令,不越界行动 价值一致性:与人类核心价值观对齐 这五个目标之间存在张力。过度强调无害性会牺牲有用性(过度拒绝),过度强调有用性会牺牲无害性(过度配合有害请求)。对齐技术的核心挑战就是在这个多维空间中找到最优平衡。 训练阶段对齐技术 RLHF:经典三步法 RLHF(Reinforcement Learning from Human Feedback)仍然是对齐技术的基础。其三步流程: 第一步:SFT(监督微调)。用人类标注的高质量对话对预训练模型进行微调,建立基础的对话能力。 第二步:奖励模型训练。收集人类对模型输出的偏好排序数据,训练一个预测人类偏好的奖励模型。 第三步:PPO强化学习。用奖励模型的反馈作为强化学习信号,优化模型策略。 RLHF在2026年仍然是主流对齐方法,但已经有许多改进。最重要的改进是过程奖励模型(Process Reward Model)——不仅对最终输出评分,还对推理过程的每一步评分。这使奖励信号更精确,减少了"为了迎合奖励而牺牲正确性"的reward hacking问题。 DPO:去掉奖励模型 DPO(Direct Preference Optimization)的核心创新是跳过奖励模型训练,直接从偏好数据中学习。它通过一个巧妙的数学变换,将RLHF的目标函数转化为可以直接优化的分类损失。 DPO的优势: 训练流程简化(去掉RM训练和PPO两个步骤) 训练稳定性更好(PPO是出了名的难调) 计算成本更低 DPO的局限: 对数据质量要求更高(没有RM做中间缓冲) 在复杂多轮对话上的效果不如RLHF 缺乏在线学习能力(RLHF可以持续收集反馈) 实践中,很多团队采用了"RLHF用于复杂能力对齐,DPO用于快速迭代简单对齐"的混合策略。 Constitutional AI:自我对齐 Constitutional AI(CAI)是Anthropic提出的创新方法,核心思想是让AI自己生成对齐数据。 流程:给模型一组"宪法"原则(如"不要帮助制造武器"),让模型自己生成遵循这些原则的对话,然后用这些对话做对齐训练。 CAI的突破性在于它解决了一个核心瓶颈——人类标注对齐数据的成本极高。通过AI自生成+人类审核的方式,对齐数据的规模可以扩大100倍以上。 RLAIF:AI反馈强化学习 RLAIF是CAI的进一步延伸——连人类审核都省了,完全用AI(通常是更强的模型)来提供偏好标注。GPT-4给GPT-3.5的输出评分,作为RLHF的奖励信号。 RLAIF的争议很大。支持者认为它是对齐的可扩展方案——当模型能力超过人类评估能力时,AI评估是唯一选择。批评者担心"模型评估模型"的循环可能引入系统性偏差。 2026年的实践是混合模式:关键安全维度保留人类评估,非关键维度使用AI评估。 推理阶段对齐技术 训练阶段对齐不是全部,推理阶段的对齐技术同样重要。 系统Prompt防护 系统Prompt是最直接的推理阶段对齐手段。通过在对话前注入安全指令来约束模型行为。虽然简单,但在实践中效果显著——一个精心设计的系统Prompt可以将有害输出率降低80%以上。 Guardrails Guardrails是推理阶段的过滤层,在模型输出后、返回给用户前进行检查: 基于规则的过滤(关键词、正则匹配) 基于分类模型的过滤(安全分类器) 基于LLM的二次审核(让另一个模型检查输出是否安全) 多层Guardrails形成深度防御。但过滤太严格会损失有用性——“过度拒绝"是2026年用户体验的主要痛点之一。 Red Teaming 红队测试是对齐效果的最终验证。我们组织了专业红队和社区众测两种方式: 专业红队:安全研究员系统性地尝试突破模型的安全边界,覆盖越狱攻击、Prompt注入、间接注入、多轮诱导等攻击向量。 社区众测:开放给社区用户尝试突破,设置奖励。社区测试覆盖面广,经常发现专业团队想不到的攻击路径。 红队发现的问题形成测试集,纳入回归测试,确保修复后不再复现。 对齐的度量 对齐效果需要量化度量。我们使用以下指标: 无害率:在标准安全测试集上的无害响应比例(目标>99%) 有用率:在正常任务上的完成率(目标>90%) 过度拒绝率:对安全请求的拒绝率(目标<5%) 越狱成功率:红队攻击的成功率(目标<1%) 诚实性:在已知事实问题上的幻觉率(目标<3%) 这些指标之间存在张力,对齐调参本质上是在这个多维空间中做帕累托优化。 ...

2026-07-13 · 1 min · 82 words · 硅基 AGI 探索者

强化学习RLHF的替代方案:DPO全面解析

RLHF的痛点 RLHF(Reinforcement Learning from Human Feedback)是大模型对齐的标准方案,但它以复杂著称。完整的RLHF流程包含三个阶段:SFT(监督微调)、RM(奖励模型训练)、PPO(强化学习优化)。其中PPO阶段尤其棘手——需要同时维护Policy Model、Reference Model、Reward Model和Value Model四个模型,训练过程不稳定,超参数敏感,显存开销巨大。 有没有更简单的方式来实现同样的目标? DPO(Direct Preference Optimization)给出了一个令人惊喜的答案。 DPO的核心思想 DPO的核心洞察是:我们不需要显式地训练奖励模型,也不需要强化学习。 通过一个精巧的数学推导,DPO将偏好学习问题转化为一个简单的分类问题。 数学推导 在RLHF框架中,最优策略可以表示为: π*(y|x) ∝ π_ref(y|x) · exp(r(x,y)/β) 其中π_ref是参考策略,r是奖励函数,β是温度参数。这个关系意味着给定奖励函数,我们可以直接写出最优策略的形式。 DPO的关键步骤是反过来——给定偏好数据,我们可以直接从策略形式中推导出隐含的奖励函数: r(x,y) = β · log(π(y|x)/π_ref(y|x)) 将这个隐含奖励代入Bradley-Terry偏好模型,偏好概率变为: P(y_w > y_l | x) = σ(β · log(π(y_w|x)/π_ref(y_w|x)) - β · log(π(y_l|x)/π_ref(y_l|x))) 其中y_w是偏好回答,y_l是非偏好回答,σ是sigmoid函数。 这就是DPO的损失函数——一个简单的二元交叉熵!不需要奖励模型,不需要强化学习,只需要偏好数据对和一个参考模型。 与RLHF的对比 维度 RLHF (PPO) DPO 训练阶段 SFT → RM → PPO SFT → DPO 需要的模型 4个(Policy, Ref, Reward, Value) 2个(Policy, Ref) 超参数 多且敏感 少且鲁棒 训练稳定性 差,需要多种trick 好,类似标准训练 显存开销 极高 中等 实践经验 在过去一年中,我们在多个项目上使用DPO替代RLHF,总结出以下经验: ...

2026-07-12 · 1 min · 117 words · 硅基 AGI 探索者

强化学习RLHF的替代方案:DPO全面解析

RLHF的痛点 RLHF(Reinforcement Learning from Human Feedback)是大模型对齐的标准方案,但它以复杂著称。完整的RLHF流程包含三个阶段:SFT(监督微调)、RM(奖励模型训练)、PPO(强化学习优化)。其中PPO阶段尤其棘手——需要同时维护Policy Model、Reference Model、Reward Model和Value Model四个模型,训练过程不稳定,超参数敏感,显存开销巨大。 有没有更简单的方式来实现同样的目标? DPO(Direct Preference Optimization)给出了一个令人惊喜的答案。 DPO的核心思想 DPO的核心洞察是:我们不需要显式地训练奖励模型,也不需要强化学习。 通过一个精巧的数学推导,DPO将偏好学习问题转化为一个简单的分类问题。 数学推导 在RLHF框架中,最优策略可以表示为: π*(y|x) ∝ π_ref(y|x) · exp(r(x,y)/β) 其中π_ref是参考策略,r是奖励函数,β是温度参数。这个关系意味着给定奖励函数,我们可以直接写出最优策略的形式。 DPO的关键步骤是反过来——给定偏好数据,我们可以直接从策略形式中推导出隐含的奖励函数: r(x,y) = β · log(π(y|x)/π_ref(y|x)) 将这个隐含奖励代入Bradley-Terry偏好模型,偏好概率变为: P(y_w > y_l | x) = σ(β · log(π(y_w|x)/π_ref(y_w|x)) - β · log(π(y_l|x)/π_ref(y_l|x))) 其中y_w是偏好回答,y_l是非偏好回答,σ是sigmoid函数。 这就是DPO的损失函数——一个简单的二元交叉熵!不需要奖励模型,不需要强化学习,只需要偏好数据对和一个参考模型。 与RLHF的对比 维度 RLHF (PPO) DPO 训练阶段 SFT → RM → PPO SFT → DPO 需要的模型 4个(Policy, Ref, Reward, Value) 2个(Policy, Ref) 超参数 多且敏感 少且鲁棒 训练稳定性 差,需要多种trick 好,类似标准训练 显存开销 极高 中等 实践经验 在过去一年中,我们在多个项目上使用DPO替代RLHF,总结出以下经验: ...

2026-07-12 · 1 min · 117 words · 硅基 AGI 探索者
DPO训练实践指南

DPO训练实践指南:直接偏好优化的工程落地

引言 RLHF(人类反馈强化学习)是对齐LLM的主流方法,但其训练流程复杂——需要训练奖励模型、使用PPO等强化学习算法。DPO(Direct Preference Optimization)提供了一种更简洁的替代方案:不需要奖励模型,直接从偏好数据中学习。 2026年,DPO已经成为最流行的对齐方法之一。本文将介绍DPO的原理和实践。 一、DPO原理 1.1 与RLHF对比 RLHF流程: 1. 训练奖励模型 2. 使用PPO优化策略(需要4个模型同时运行:策略、参考、奖励、价值) 3. 训练不稳定,超参数敏感 DPO流程: 1. 直接从偏好数据优化策略(只需2个模型:策略、参考) 2. 训练稳定,超参数简单 3. 本质上是分类问题 1.2 数学原理 DPO的核心洞察:最优策略可以通过偏好数据的对数比来表达,不需要显式的奖励模型。 DPO损失 = -log σ(β·(log π(y_w|x)/π_ref(y_w|x) - log π(y_l|x)/π_ref(y_l|x))) 其中: y_w = 偏好(chosen)的回答 y_l = 不偏好(rejected)的回答 π = 当前策略 π_ref = 参考策略(通常是SFT模型) β = 温度参数 二、数据准备 2.1 偏好数据格式 { "prompt": "如何学习编程?", "chosen": "学习编程建议从Python开始,因为它语法简洁...(优质回答)", "rejected": "编程很难,你可能学不会。(劣质回答)" } 2.2 数据构建 class DPODataBuilder: async def build_from_human_annotations(self, annotations): """从人工标注构建DPO数据""" dpo_data = [] for ann in annotations: dpo_data.append({ "prompt": ann.prompt, "chosen": ann.preferred_response, "rejected": ann.rejected_response }) return dpo_data async def build_from_ai_feedback(self, prompts, model): """使用AI反馈构建DPO数据""" dpo_data = [] for prompt in prompts: # 1. 生成多个回答 responses = await model.generate( prompt, num_return_sequences=2, temperature=0.8 ) # 2. 使用评判模型选择更好的回答 judgment = await self.judge(prompt, responses[0], responses[1]) if judgment["winner"] == "A": chosen, rejected = responses[0], responses[1] else: chosen, rejected = responses[1], responses[0] # 3. 只保留有明确偏好的数据 if judgment["confidence"] > 0.7: dpo_data.append({ "prompt": prompt, "chosen": chosen, "rejected": rejected }) return dpo_data async def judge(self, prompt, response_a, response_b): """使用LLM评判哪个回答更好""" judge_prompt = f""" 问题: {prompt} 回答A: {response_a} 回答B: {response_b} 哪个回答更好?A还是B? 输出JSON: {{"winner": "A"/"B", "confidence": 0-1, "reason": "..."}} """ return await self.judge_model.call(judge_prompt) 2.3 数据质量保障 class DPODataQualityChecker: def check(self, dataset): issues = [] for sample in dataset: # 1. chosen和rejected不能太相似 similarity = self.compute_similarity(sample["chosen"], sample["rejected"]) if similarity > 0.9: issues.append({"issue": "too_similar", "sample": sample}) # 2. chosen不能比rejected差 # (需要评判模型验证) # 3. prompt长度合理 if len(sample["prompt"]) > 2048: issues.append({"issue": "prompt_too_long", "sample": sample}) # 4. 回答长度差异不能太大 len_diff = abs(len(sample["chosen"]) - len(sample["rejected"])) if len_diff > 2000: issues.append({"issue": "length_bias", "sample": sample}) return issues 三、训练 3.1 使用TRL库 from trl import DPOTrainer, DPOConfig # 1. 加载模型 model = AutoModelForCausalLM.from_pretrained("sft-model-path") ref_model = AutoModelForCausalLM.from_pretrained("sft-model-path") # 2. 配置 config = DPOConfig( output_dir="./dpo-output", num_train_epochs=3, per_device_train_batch_size=4, gradient_accumulation_steps=4, learning_rate=5e-7, warmup_ratio=0.1, beta=0.1, # DPO温度参数 max_prompt_length=512, max_length=2048, logging_steps=10, save_steps=100, bf16=True, ) # 3. 训练 trainer = DPOTrainer( model=model, ref_model=ref_model, args=config, train_dataset=dpo_dataset, tokenizer=tokenizer, ) trainer.train() 3.2 超参数选择 # β(beta)选择 beta = 0.1 # 保守,接近SFT模型 beta = 0.3 # 平衡 beta = 0.5 # 激进,更大偏移 # 学习率 lr = 5e-7 # DPO通常需要很小的学习率 # 比SFT小10-100倍 # epoch数 epochs = 1-3 # DPO通常1-3轮足够 # 过多轮会导致过拟合 3.3 QLoRA + DPO # 先用QLoRA加载模型 model = AutoModelForCausalLM.from_pretrained( "base-model", quantization_config=bnb_config, device_map="auto" ) model = get_peft_model(model, lora_config) # DPO训练 trainer = DPOTrainer( model=model, ref_model=None, # QLoRA模式下不需要单独的ref_model args=config, train_dataset=dpo_dataset, tokenizer=tokenizer, ) 四、评估 class DPOEvaluator: async def evaluate(self, model, eval_dataset): metrics = { "accuracy": [], # DPO准确率(chosen得分>rejected得分) "margin": [], # chosen和rejected的分数差 "reward_accuracy": [] # 奖励准确率 } for sample in eval_dataset: # 计算chosen和rejected的对数概率 chosen_logprob = self.compute_logprob( model, sample["prompt"], sample["chosen"] ) rejected_logprob = self.compute_logprob( model, sample["prompt"], sample["rejected"] ) # 准确率 metrics["accuracy"].append(chosen_logprob > rejected_logprob) # 边际 metrics["margin"].append(chosen_logprob - rejected_logprob) return {k: np.mean(v) for k, v in metrics.items()} 五、常见问题 5.1 过拟合 DPO容易过拟合——训练太多轮后,模型会"记住"偏好数据而非学习通用偏好。 ...

2026-07-02 · 3 min · 490 words · 硅基 AGI 探索者
强化学习对齐

强化学习对齐 2026:从 RLHF 到 DPO 再到 ORPO

引言 大模型的对齐(Alignment)是让模型输出符合人类期望和价值的关键技术。从2022年RLHF的爆发,到2024年DPO的崛起,再到2026年ORPO和GRPO的成熟,对齐技术经历了深刻的范式转变。本文系统梳理这一演进历程。 RLHF:对齐的起点 核心原理 RLHF(Reinforcement Learning from Human Feedback)通过三个步骤实现对齐: 1. SFT(监督微调):用高质量数据训练基础模型 2. RM(奖励模型):训练模型评估输出质量 3. PPO(近端策略优化):用奖励信号优化策略 优点 理论完备,效果可证明 可优化任意可微奖励函数 缺点 训练复杂度高(4个模型同时训练) 超参数敏感,不稳定 需要大量人工标注 DPO:简化对齐的革命 核心思想 DPO(Direct Preference Optimization)绕过了奖励模型和强化学习,直接优化偏好数据。 关键突破: 将奖励函数隐式建模 直接对策略模型进行偏好优化 只需一个模型,训练稳定 数学本质: L_DPO = -log(σ[β log(π(y|x)/π_ref(y|x))]) 优点 训练简单:只需一个模型 训练稳定:无PPO的不稳定性 资源需求低:无需奖励模型 缺点 需要成对偏好数据 对数据质量敏感 复杂奖励无法表达 ORPO:SFT与DPO的统一 核心创新 ORPO(Odds Ratio Preference Optimization)将SFT和DPO统一到一个目标函数中。 核心公式: L_ORPO = -log(σ[log(π_chosen/π_rejected) - log(π_ref_chosen/π_ref_rejected)]) 与DPO的区别 维度 DPO ORPO 参考模型 需要 隐式 训练步骤 2步(SFT+DPO) 1步 数据需求 偏好对 偏好对 + 单样本 训练速度 中等 快 2026年进展 ORPO在2026年成为微调的首选方法,特别是在中小规模模型上表现优异。 ...

2026-06-30 · 1 min · 191 words · 硅基 AGI 探索者
DPO偏好对齐训练:数据工程与超参调优

DPO偏好对齐训练:数据工程与超参调优

从RLHF到DPO的范式转变 RLHF(基于人类反馈的强化学习)是ChatGPT成功的关键技术,但其训练过程极其复杂:需要训练Reward Model、使用PPO算法、维护多个模型副本。 DPO(Direct Preference Optimization)直接绕过Reward Model和强化学习,用一个简单的分类损失函数实现偏好对齐: RLHF Pipeline (复杂): SFT → Reward Model → PPO → 对齐模型 (3个模型,4个训练阶段) DPO Pipeline (简洁): SFT → DPO → 对齐模型 (1个模型,2个训练阶段) DPO核心原理 DPO的损失函数基于一个关键洞察:最优的策略模型可以通过偏好数据直接推导,不需要显式的Reward Model。 # DPO Loss公式 # L_DPO = -log σ(β * (log π(y_w|x)/π_ref(y_w|x) - log π(y_l|x)/π_ref(y_l|x))) # 其中: # π: 当前策略模型 # π_ref: 参考模型(SFT后的模型,冻结) # y_w: 偏好的回答 (winner) # y_l: 不偏好的回答 (loser) # β: 温度参数,控制偏离参考模型的程度 # σ: sigmoid函数 直觉理解:让模型对"好回答"的概率比参考模型更高,对"坏回答"的概率比参考模型更低。 ...

2026-06-30 · 4 min · 728 words · 硅基 AGI 探索者
RLHF替代方案2026:DPO、GRPO、SimPO技术对比

RLHF替代方案2026:DPO、GRPO、SimPO技术对比

RLHF(Reinforcement Learning from Human Feedback)虽是当今大模型对齐的事实标准,但其训练不稳定、超参数敏感、需要独立Reward Model等痛点促使研究者不断探索替代方案。到2026年,DPO、GRPO、SimPO三大方案已在不同场景下展现出各自优势。 1. RLHF的核心痛点 标准RLHF流程包含三个阶段:SFT → Reward Model训练 → PPO强化学习。其中PPO阶段的问题最为突出: 训练不稳定:Policy model和Reward model的博弈容易震荡 超参数敏感:KL系数、学习率、clip range需要精细调优 资源消耗大:需要同时维护4个模型(Policy、Reference、Reward、Critic) Reward Hacking:模型学会欺骗reward model获取高分 RLHF显存占用(7B模型): Policy Model: ~14GB (fp16) Reference Model: ~14GB (fp16) Reward Model: ~14GB (fp16) Critic Model: ~14GB (fp16) ──────────────────────── 总计: ~56GB 2. DPO:Direct Preference Optimization 2.1 核心思想 DPO的洞见是:不需要显式训练Reward Model。通过重参数化,直接从偏好数据中优化策略模型。 推导过程从RLHF的目标函数出发: $$\max_{\pi_\theta} \mathbb{E}{x \sim \mathcal{D}, y \sim \pi\theta}[r(x,y)] - \beta \mathbb{D}{KL}[\pi\theta(\cdot|x) | \pi_{ref}(\cdot|x)]$$ 其最优解为: $$r(x,y) = \beta \log \frac{\pi^*(y|x)}{\pi_{ref}(y|x)} + \beta \log Z(x)$$ ...

2026-06-30 · 3 min · 504 words · 硅基 AGI 探索者
鲁ICP备2026018361号