论文

通过多阶段 LLM 训练和错误修复增强 Java 到仓颉的自动翻译

Boosting Automatic Java-to-Cangjie Translation with Multi-Stage LLM Training and Error Repair

模型训练监督微调与指令调优

摘要

随着新兴编程语言生态系统的快速发展,对低资源语言的代码翻译的需求持续增长。随着仓颉作为一种新的编程语言的出现,其生态系统和开发工具链正在迅速扩展。因此,从流行编程语言到仓颉的自动翻译对于实际开发很有价值。然而,由于仓颉知识不足和并行代码语料库稀缺,通用大语言模型(LLM)在代码翻译时容易出现句法错误和语义结构错位。现有方法通常依赖于具有大规模并行数据的 微调,但它们无法可靠地提高低资源仓颉语言的编译性或语义一致性。为了应对这些挑战,我们提出了 LLM 的多阶段训练框架,该框架采用迭代错误修复技术将 Java 代码转换为仓颉代码。该训练框架对LLM进行训练,逐步整合知识,实现语义对齐和结构感知。在代码翻译过程中,我们还结合编译器反馈和错误修复案例检索,修复了不正确的仓颉代码。我们构建句法知识和单语言指令数据集来训练 LLM。此外,我们还构建了仓颉错误修复存储库来支持我们方法中的错误修复。实验结果表明,在并行数据有限的情况下,与最先进的方法相比,我们的方法将功能等效性提高了 6.06%。同时,消融研究证实,每个训练阶段都对最终表现产生积极影响。