论文

用语法引导与语义感知的偏好优化改进代码翻译

Improving Code Translation with Syntax-Guided and Semantic-aware Preference Optimization

模型训练偏好优化

摘要

LLM在代码翻译上展现出巨大潜力,但它们常常难以同时保证语法正确性和语义一致性。尽管基于偏好的学习提供了一种有前景的对齐策略,它却受制于来自稀疏测试用例或受限参考翻译的不可靠语义奖励。我们认为,代码翻译的鲁棒语义奖励必须直接从源代码推导。本文提出CTO,通过语法引导与语义感知的偏好优化来改进代码翻译。通过对比学习,我们训练一个跨语言语义模型来直接评估源代码与翻译代码之间的功能等价性。通过将代码翻译表述为多目标优化问题,这一鲁棒语义信号与基于编译器的语法反馈在直接偏好优化(DPO)框架内无缝统一。在C++、Java和Python翻译上的大量实验表明,CTO显著优于现有基线和其他偏好优化策略。

用语法引导与语义感知的偏好优化改进代码翻译:论文配图
图2:CTO总览:语法引导与语义感知的代码翻译改进方法流程。