论文解读 —— Contrastive Preference Optimization
作者是NLP小白,因为推免期间有些课题组需要所以尝试着去了解这个新领域,有解读不对的地方请多多谅解~
作者是NLP小白,因为推免期间有些课题组需要所以尝试着去了解这个新领域,有解读不对的地方请多多谅解~
Why
Xu等人认为,中等规模的LLM在机器翻译(MT)任务中表现得不错,但是仍不如gpt4这种大型模型。那为什么不如,Xu等人认为是常规的有监督微调方式存在问题。样本的标签都是人工进行翻译的,而事实上人工翻译也存在缺陷,也就是说使用这种微调方式,样本标签本身就存在质量问题,所以Xu等人基于这个现象,提出一种新的方法就是Contrastive Preference Optimization(CPO),训练模型去避免生成“看起来还行但并不完美”的翻译。下面附上论文地址:[2401.08417] Contrastive Preference Optimization: Pushing the Boundaries of LLM Performance in Machine TranslationAbstract page for arXiv paper 2401.08417: Contrastive Preference Optimization: Pushing the Boundaries of LLM Performance in Machine Translation
https://arxiv.org/abs/2401.08417
Introduction
因为作者不是很了解这个领域所以需要总结一下,对这个领域非常了解的读者可以直接看后面的How部分。
论文指出,目前世界对于MT任务主流的是使用Transformer Encoder-Decoder结构例如NLLB-200、M2M-100、BiBERT、MT5等模型。但最近,像 GPT 系列、LLaMA、Falcon、Mistral 这些 Decoder-only 的LLM也展示了强大的多任务能力。针对这个Decoder-only,超大型模型(如 GPT-3.5、GPT-4)翻译质量确实很好,但中等规模的 LLM(7B、13B 参数)在翻译任务上还是比传统模型差一截。论文指出小 LLM 翻译表现不如大型模型,主要原因有两个:数据偏向英语、多语言能力弱。按照传统的方法,是利用SFT在高质量平行语料上微调,训练出一个多语翻译模型,但是论文现在提出不用传统的微调方式,而是开创了一种CPO微调方式。
How
既然上文说到,人工翻译的质量不是最高的,那总需要去证明吧,Xu等人使用了两个最新最强的无参考评价指标模型,KIWI-XXL和XCOMET。他们拿 GPT-4、ALMA、参考翻译在五种语言之间互译测评,发现大多数情况GPT-4、ALMA翻译的要比人工翻译的质量都要高。所以就推翻了“只要让模型模仿人工翻译就是好翻译”的这么个传统观念。于是Xu等人不聚焦于单纯让模型模仿人工翻译,而是让模型从多个候选中选出最好的翻译、训练模型更倾向选择这个“更好”的翻译、拒绝“只是还行但有瑕疵”的翻译。
于是就出来了CPO这个概念,训练样本格式作出了以下改变:
从原始方法一个样本对应一个人工翻译,变成了样本,以及对应的优选翻译和次选翻译
。论文使用:GPT-4 输出的翻译、ALMA-13B 输出的翻译、人类写的翻译,然后用两个自动评分模型(KIWI-XXL 和 XCOMET)给出得分。选得分最高的当
,选得分最低的当。并且Xu等人给了一种CPO损失函数,CPO 是在一种叫 DPO(Direct Preference Optimization) 的框架上改进而来的。DPO的原始形式是:
在这里我们不再介绍DPO,我这里附上DPO的论文,有兴趣的读者可以阅读一下。[2305.18290] Direct Preference Optimization: Your Language Model is Secretly a Reward ModelAbstract page for arXiv paper 2305.18290: Direct Preference Optimization: Your Language Model is Secretly a Reward Model
https://arxiv.org/abs/2305.18290 Xu等人指出了DPO存在了一些问题,DPO 需要同时存两份模型,计算量、显存开销大,而且训练速度慢、效率低。于是他们提出了一种解决方案,直接忽略参考模型的影响,让变成一个均匀分布,可以视为常数,直接省略。以至于为什么可以这样做,是因为我们把DPO里面的部分拆开来再移项,可以看出来是当前模型的偏好差和参考模型的偏好差之差,而我们模型的任务只是想让它跟偏好
而不是
,那干脆不要参考模型的偏好差了,这相当于说参考模型对两个候选的态度“差不多”,不参与偏好决策。(论文附录里面对于这一块也有说明,我之阐述我的理解)于是可以得到CPO损失函数的形式:
其中,为输入、
人类标记为更优的输出、
人类标记为次优的输出、
为当前模型对输出的概率、
为温度系数,用于控制偏好强度。然而,CPO只学习“哪个更好”,但可能会偏离真实数据分布。于是Xu等人加入了一个行为克隆约束项,用来防止模型输出“看似更好但太奇怪”的结果。加了这个正则项后,最终损失是:
What
下面介绍Xu等人的实验部分。实验的目的有三个:验证 CPO 是否能突破 SFT 的性能上限、对比 CPO 与现有 SOTA 模型(如 GPT-4、WMT 冠军)的翻译质量、探讨“偏好数据训练”是否能有效替代“参考数据训练”。
实验数据共有10个翻译方向,涵盖英↔中/德/捷/俄/冰,数据来源为FLORES-200,原始参考译文 + 两个模型生成译文(GPT-4 和 ALMA-13B-LoRA)。构造三元组时每个源句配 3 个译文(参考、GPT-4、ALMA)并由两个 reference-free 模型(XCOMET & KIWI-XXL)打分,选出最好和最差的两个作为“preferred / dis-preferred”。训练起点模型为ALMA-13B-LoRA,仅训练 LoRA 插件参数。训练策略为1. SFT on preferred data(监督微调)2. DPO(直接偏好优化)3. CPO。使用参考无关评价指标:KIWI-XXL、XCOMET、KIWI-22。同时测试多个 benchmark:WMT’21 和 WMT’22 全套测试集、WMT’23 六个方向的额外测试。
实验的结果是在多数方向上,ALMA-13B-R(即应用 CPO 后的模型)超越 GPT-4 和 WMT winner;SFT 和 DPO 的效果微弱,有些方向甚至略降;偏好数据比传统参考数据更能提升模型能力,尤其是当 dis-preferred 也是高质量但有小缺陷时;人类评审确认 CPO 生成的翻译更好,平均得分从 4.86 → 5.16,胜率从 62.5% → 77.8%。
与此同时,实验遗留了三个问题:偏好数据构建依赖于 GPT-4 和 ALMA 的译文,如果换成别的模型,会不会构造出不同的偏好顺序?方法依赖 reference-free 评分器评估,当前主要使用 KIWI / XCOMET,虽然已验证稳定,但是否对这些模型有“对齐偏好”还需进一步研究;人工标注偏好样本仅用于两个语言对(en→zh、en→de), 是否能全面推广到所有语言对仍是未知。读者可以从这三个角度进一步深思创新。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)