Exploring and Unleashing the Power of Large Language Models in Automated Code Translation
本文属于LLM系列文章,并基于《Exploring and Unleashing the Power of Large Language Models in Automated Code Translation》进行翻译。
探索和释放大型语言模型在自动代码翻译中的力量
- 摘要
- 1 引言
- 2 背景和相关工作
- 3 动机
- 4 UNITRANS
- 5 实验设置
- 6 实验结果
- 7 讨论
- 8 结论
摘要
代码翻译工具即转译器旨在实现自动源到源翻译功能。当前基于学习机制设计的自适应转译器在准确性和可读性方面较传统基于规则的转译器取得了显著提升这一优势主要源于其在单语语料库上的特定任务预训练能力然而当前模型的实际应用仍显不足主要原因是高昂的训练成本限制了其大规模部署尽管大型语言模型(LLM)在经过大规模人类编写的代码文本预训练后展现出强大的通用性能但若未针对特定任务进行微调则在多数代码智能任务中表现尚可因此LLM具备潜在的优势但其全面应用仍需进一步探索本文系统考察了多种LLM及其基于学习机制的设计方案发现尽管某些LLM较现有转译机表现出色但在准确性方面仍存在明显缺陷其中大多数错误源于对源程序缺乏深入理解(38.51%)未能明确指示I/O类型(14.94%)以及忽视了源程序与目标程序之间的差异(41.38%)。针对上述问题启发下我们提出了一种统一代码翻译框架UniTrans旨在充分发挥LLM在代码翻译领域的潜力具体而言UniTrans首先借助源程序生成一系列测试用例随后利用自动生成的测试用例增强代码翻译并通过执行来验证其正确性在此基础上UniTrans进一步迭代优化以修复测试用例反馈指出的错误翻译程序我们在Python Java和C++间设置了六种不同的翻译数据集进行了广泛实验最近使用UniTrans测试了包括GPT-3.5和LLaMA-13B/7B三种不同规模模型发现它们在计算精度和精确匹配精度上均有显著提升这充分证明了UniTrans的强大适用性
1 引言
2 背景和相关工作
3 动机
4 UNITRANS
5 实验设置
6 实验结果
7 讨论
8 结论
本研究的目标在于通过提升代码迁移系统的效率和可靠性来实现自动化任务的优化与创新。在分析现有技术的基础上,在深入探讨LLM特性与转译器局限性的基础上提出了一种新型LLM驱动型自动代码迁移方案。为此,在系统性地设计了LLM驱动型自动编码解码模型之后,在充分考虑算法性能与实现难度之间权衡的基础之上构建了一个集成了多层优化机制的新架构体系
