弥合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})
\]
(后续内容因原文缺失无法继续翻译)相似文章
高效LLM推理的周期步进层跳过严格对照审计:ConfLayers与SWIFT及训练路由替代方案补充分析
本文呈现了一项严格对照的审计,比较了用于高效LLM推理的周期步进层跳过方法,如ConfLayers和SWIFT,并分析了训练的路由替代方案,发现SWIFT在准确性和真实推理速度上更优。
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流水线的日志解析器生成,并发布了对比质量与速度的测试结果。