弥合LLM代码翻译中功能正确性与运行时效率的差距
摘要
本文介绍了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})
\]
(后续内容因原文缺失无法继续翻译)相似文章
FlowCompile:结构化LLM工作流的优化编译器
FlowCompile 是一个用于结构化LLM工作流的编译器,它在编译时探索配置以平衡准确性和延迟,无需重新训练即可实现最高6.4倍的加速。
编程语言如何影响 token 效率和正确性?
Dan Luu 批评了关于动态语言对 LLM 更节省 token 的说法,指出现有评估中的缺陷,并强调需要更好的基准测试方法。
用 Swift 训练大语言模型,第一部分:将矩阵乘法从 Gflop/s 提升到 Tflop/s
作者详细介绍了在 Apple Silicon 上优化 Swift 自定义矩阵乘法内核以训练大语言模型的过程,旨在通过利用 CPU、SIMD、AMX 和 GPU 能力,实现超越 C 实现的性能。
本地LLM实战测试:代码生成、质量与速度权衡
作者构建了一个基准测试框架,用于评估本地LLM在自动生成Go代码方面的能力,重点聚焦SIEM流水线的日志解析器生成,并发布了对比质量与速度的测试结果。
用 LLM 优化 LLM:面向测试时扩展的智能体发现方法
本文提出了 AutoTTS,这是一种环境驱动的框架,通过将测试时扩展(TTS)策略的发现过程形式化为控制器合成,自动发现用于大型语言模型(LLM)的测试时扩展策略。该框架在数学推理基准测试上展示了更优的准确率-成本权衡,且计算开销极小。