- 简介编程语言之间的代码翻译一直是软件工程中长期存在且至关重要的任务,有助于现代化遗留系统、确保跨平台兼容性并提高软件性能。随着大型语言模型(LLM)的最新进展及其在代码翻译中的应用,对这些模型进行全面评估的需求越来越大。本研究在五种语言(C、C++、Go、Java和Python)的3,820个翻译对上,通过对11个受欢迎的指令调整的LLM进行实证分析,这些模型的参数范围从1B到46.7B。我们的分析发现,我们评估的LLM生成的代码翻译中,26.4%到73.7%需要进行后期处理,因为这些翻译通常包含代码、引用和文本的混合,而不是纯源代码。忽视这些模型的输出格式可能会无意中导致对它们实际性能的低估。特别是在使用基于执行的指标(如计算准确性(CA))进行评估时,这一点尤为明显。我们的结果表明,策略性地结合提示工程和正则表达式可以有效地从模型生成的输出中提取源代码。特别是,我们的方法可以帮助选择的11个模型实现平均代码提取成功率(CSR)为92.73%。我们的发现为未来研究提供了启示,并激励进行更可靠的LLM代码翻译基准测试。
- 图表
- 解决问题论文旨在评估大型语言模型在代码翻译中的表现,并提出一种有效的方法来从模型输出中提取源代码。
- 关键思路通过结合提示工程和正则表达式的方法,可以有效地从模型生成的输出中提取源代码,从而提高模型的性能评估准确性。
- 其它亮点论文评估了11个受训练的大型语言模型在5种不同的语言对之间的3820个翻译对上的性能,并发现了模型输出中混合了代码、引用和文本的情况,需要进行后处理。作者的方法可以使11个选择的模型实现92.73%的平均代码提取成功率。
- 最近的相关研究包括《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》、《Unicoder-C: A Universal Language Encoder for Source Code》等。
沙发等你来抢
去评论
评论
沙发等你来抢