弥合LLM代码翻译中功能正确性与运行时效率的差距

arXiv cs.CL 论文

摘要

本文介绍了SwiftTrans框架,该框架解决了LLM代码翻译中被忽视的运行时效率问题,在多个基准测试中同时提升了正确性和效率。

arXiv:2606.17683v1 Announce Type: new 摘要:尽管大语言模型(LLMs)极大地提升了自动化代码翻译系统的功能正确性,但翻译后程序的运行时效率却相对较少受到关注。随着摩尔定律的放缓,运行时效率在程序质量中的重要性日益增加,与功能正确性同等重要。我们的初步研究表明,LLM翻译的程序往往比人工编写的程序运行得更慢,而且这个问题仅通过提示工程无法解决。因此,本文提出了SwiftTrans,一个包含两个关键阶段的代码翻译框架:(1)多视角探索,其中MpTranslator利用并行上下文学习(ICL)生成多样化的翻译候选;(2)差异感知选择,其中DiffSelector通过显式比较翻译之间的差异来识别最优候选。我们进一步引入了MpTranslator的分层引导和DiffSelector的排序引导,使LLMs能更好地适应这两个核心组件。为了支持翻译程序运行时效率的评估,我们扩展了现有基准测试CodeNet和F2SBench,并引入了一个新的基准测试SwiftBench。所有三个基准测试的实验结果表明,SwiftTrans在正确性和运行时效率方面都持续取得了改进。
查看原文
查看缓存全文

缓存时间: 2026/06/17 05:41

▶ **分层指导。** 我们使用构建的分层数据训练LLM,得到最终的MpTranslator。首先,对于每个源代码`src`和其在优化级别`t`处的目标代码`tgt^t`,我们从演示库`C`中随机抽取一个子集`D^t`,其中`D^t`的大小设置为`t`以匹配优化级别。对于仅关注正确性的基础级别`tgt^0`,我们设置`D^0 = ∅`。然后,我们以演示为上下文训练模型,损失函数定义如下:

\[
L_{hg}(src, D^0, tgt^0, ..., D^n, tgt^n) = -\sum_{t=0}^{n} \sum_{j=1}^{|tgt^t|} \log p_\theta (x_j | src, D^t, x_{<j})
\]

(后续内容因原文缺失无法继续翻译)

相似文章

用 LLM 优化 LLM:面向测试时扩展的智能体发现方法

Hugging Face Daily Papers

本文提出了 AutoTTS,这是一种环境驱动的框架,通过将测试时扩展(TTS)策略的发现过程形式化为控制器合成,自动发现用于大型语言模型(LLM)的测试时扩展策略。该框架在数学推理基准测试上展示了更优的准确率-成本权衡,且计算开销极小。