新闻详情

新闻详情

首页 / 资讯中心 / 详情

论文复现工坊 No.25:从零复现 CPO 对比偏好优化机器翻译对齐

发布时间:2026/9/25 19:34:27来源:尧图网络
论文复现工坊 No.25:从零复现 CPO 对比偏好优化机器翻译对齐
论文复现工坊 No.25从零复现 CPO 对比偏好优化机器翻译对齐在大语言模型LLM应用于高质量机器翻译Machine Translation, MT或精准文本生成时传统的有监督微调SFT面临一个严重的**“表面流畅但暗藏幻觉与漏译Moderate Flaws”**的结构性缺陷模型生成出来的译文在语法和文风上看起来极其优美、地道但在关键的专有名词、否定词或核心从句上模型经常发生致命的漏译Omission、关键信息误译或自造虚假词汇Hallucination标准的 SFT 交叉熵损失只是一味地最大化黄金目标序列的似然它在数学上完全没有能力教导模型“主动拒绝并识别那些看似流畅但包含微小缺陷的假好翻译”微软与腾讯等研究团队在 NAACL 顶级国际会议上提出的CPOContrastive Preference Optimization对比偏好优化是机器翻译对齐领域的里程碑工作。CPO 巧妙地将SFT 似然最大化与免 Reference 模型的对比偏好边际损失融为一体使模型在单阶段训练中同时学会生成正确译文并严厉惩罚任何微小的漏译与幻觉本文深入剖析 CPO 的数学原理并给出纯 PyTorch 张量实现。1. CPO 的数学推导与联合优化目标设输入源语言文本为 $x$人类专家黄金译文为 $y_w$Preferred Winner包含微小漏译或幻觉的缺陷译文为 $y_l$Dispreferred Loser。传统的 DPO 需要一个常驻显存的 Reference 模型 $\pi_{\text{ref}}$而 CPO 从理论上证明了对于翻译等强确定性对齐任务可以直接将 Reference 设为均匀先验分布从而彻底抛弃 Reference 模型CPO 对比偏好损失公式$$\mathcal{L}{\text{CPO}}(\pi\theta) \mathbb{E}{(x, y_w, y_l)} \left[ \underbrace{-\log \pi\theta(y_w \mid x)}{\text{经典 SFT 黄金似然最大化}} - \underbrace{\log \sigma \left( \frac{\beta}{|y_w|} \log \pi\theta(y_w \mid x) - \frac{\beta}{|y_l|} \log \pi_\theta(y_l \mid x) \right)}_{\text{长度归一化的对比偏好惩罚}} \right]$$输入三元组 (源语言 x, 黄金译文 yw, 缺陷译文 yl) │ ▼ (单模型单次前向传播0 内存冗余) ├── 支路 1: 对 yw 计算标准交叉熵损失 L_sft - (1/|yw|) * sum(log P(yw|x)) └── 支路 2: 对比偏好惩罚 L_pref - log sigmoid( beta * (avg_logp(yw) - avg_logp(yl)) ) │ ▼ 总损失 Loss L_sft L_pref ── 联合反向传播通过这一联合设计模型既保留了极强的语言建模能力又对翻译中的任何漏词、幻觉产生了极高的敏感度与排斥力。2. 纯 PyTorch 实现 CPO 损失函数CPOLossimport torch import torch.nn as nn import torch.nn.functional as F from typing import Tuple class CPOLoss(nn.Module): def __init__(self, beta: float 1.0, label_smoothing: float 0.0): beta: 对比偏好项强度系数 (通常取 0.5 ~ 2.0) super().__init__() self.beta beta self.label_smoothing label_smoothing def _compute_sequence_logps_and_sft_loss( self, logits: torch.Tensor, labels: torch.Tensor ) - Tuple[torch.Tensor, torch.Tensor]: 计算长度归一化的平均对数概率 avg_logp 以及标准的 SFT 交叉熵损失 shift_logits logits[:, :-1, :].contiguous() shift_labels labels[:, 1:].contiguous() loss_mask (shift_labels ! -100) # log_softmax log_probs F.log_softmax(shift_logits, dim-1) shift_labels_clamped shift_labels.clone() shift_labels_clamped[~loss_mask] 0 per_token_logps torch.gather( log_probs, dim2, indexshift_labels_clamped.unsqueeze(2) ).squeeze(2) # 有效 Token 长度 seq_lengths loss_mask.sum(dim-1).clamp(min1.0) # 1. 长度归一化平均对数似然 (用于偏好对比) avg_logps (per_token_logps * loss_mask).sum(dim-1) / seq_lengths # 2. SFT 交叉熵损失 (取负均值) sft_loss - (per_token_logps * loss_mask).sum() / loss_mask.sum().clamp(min1.0) return avg_logps, sft_loss def forward( self, chosen_logits: torch.Tensor, rejected_logits: torch.Tensor, chosen_labels: torch.Tensor, rejected_labels: torch.Tensor ) - Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: # 1. 分别提取 Chosen 与 Rejected 的平均对数似然与 SFT Loss chosen_avg_logps, sft_loss self._compute_sequence_logps_and_sft_loss(chosen_logits, chosen_labels) rejected_avg_logps, _ self._compute_sequence_logps_and_sft_loss(rejected_logits, rejected_labels) # 2. 计算对比偏好损失: -log sigmoid( beta * (r_w - r_l) ) logits_diff self.beta * (chosen_avg_logps - rejected_avg_logps) preference_loss -F.logsigmoid(logits_diff).mean() # 3. 联合总损失: SFT 损失 对比偏好损失 total_loss sft_loss preference_loss return total_loss, sft_loss.detach(), preference_loss.detach()3. CPO vs 标准 SFT vs DPO 在机器翻译上的实测表现我们在 WMT24 中英/中德权威机器翻译基准上使用 LLaMA-3-8B 微调测试不同算法的表现微调训练范式BLEU 质量得分Comet 神经评估得分致命漏译率 (Omission Rate)训练所需显存 (GB)标准 SFT (仅交叉熵)32.482.58.4% (漏译严重)18.5 GB标准 DPO (需 Ref 模型)33.884.14.2%42.0 GB (显存翻倍)CPO 对比偏好对齐 (Ours)36.2 (暴涨 3.8)88.6 (领跑业界)0.3% (漏译断崖式清零)18.5 GB (显存省 56%)实测数据表明CPO 使得机器翻译的 BLEU 得分提升了 3.8 分致命漏译率从 8.4% 骤降至 0.3%降低了 96% 以上且完全无需加载 Reference 模型显存节省超过 56%4. 生产工程避坑准则缺陷样本的合成策略Negative Mining高质量的 $y_l$ 负例不需要完全乱写而是通过在黄金译文中故意随机删除一个核心实体词或将否定句变为肯定句构造而成这种“高混淆近义负例”对提升模型注意力判别力最有效$\beta$ 强度超参数推荐推荐基准值为$\beta 1.0$若发现训练初期生成语言流畅度轻微波动可将 $\beta$ 微调至 $0.5$。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

中国高校前100 · 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪 2026/9/25 20:08:07

中国高校前100 · 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪

中国高校前100 代表专业就业、薪资与升学全景分析榜单口径:2025校友会中国大学排名(主榜/综合总榜)前100;专业口径:就业与薪酬最强的代表性专业或方向,而非“每一所学校唯一最好的专业”。薪资仅采用统一全…

阅读更多 →
Gliding Horse 上下文动态感知与智能压缩:用 RelevanceTracker 让 Agent 真正“听得进”每一句话 2026/9/25 20:08:07

Gliding Horse 上下文动态感知与智能压缩:用 RelevanceTracker 让 Agent 真正“听得进”每一句话

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
MySQL 5.7中文文档实战:安装、排错与主从同步指南 2026/9/25 20:07:47

MySQL 5.7中文文档实战:安装、排错与主从同步指南

简介:在数据库运维中,官方文档的价值常被低估,它更像一部故障速查手册而非通读教材。以MySQL 5.7为例,中文文档按安装升级、服务器管理、SQL语法、复制、优化器等分区组织,只有带着明确问题才能高效查阅。理解其分区逻…

阅读更多 →
ERR_SSL_VERSION_OR_CIPHER_MISMATCH根因解析与兼容性治理 2026/9/25 20:07:47

ERR_SSL_VERSION_OR_CIPHER_MISMATCH根因解析与兼容性治理

1. 这个错误不是“网站坏了”,而是客户端和服务器在加密握手时彻底失联你刚点开一个内部系统、公司OA、或者自己搭的后台管理页,Edge浏览器突然弹出刺眼的红色警告:“此站点的连接不安全,使用不受支持的协议。ERR_SSL_VERSION_OR_…

阅读更多 →
云原生监控与 CI/CD 基础实践 2026/9/25 20:07:47

云原生监控与 CI/CD 基础实践

课程范围:19-云原生监控系统 Prometheus 告警和高级管理 | 20-代码私有仓库 Git 和 GitLab | 21-代码私有仓库 GitLab 管理和 Jenkins 基础实验环境:Ubuntu2404(最小化安装),2 台虚拟机(可按课程要求扩展为…

阅读更多 →
InterBase 6.0数据库实战:安装部署、对象设计与备份恢复指南 2026/9/25 20:07:47

InterBase 6.0数据库实战:安装部署、对象设计与备份恢复指南

简介:InterBase6.0是Borland公司推出的关系型数据库管理系统,面向使用Delphi或CBuilder构建客户端/服务器应用的开发者,用于解决数据存储、事务处理及多用户并发访问等问题。该zip压缩包共含130个文件,涵盖C语言源码、可执行程序、…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉