Fortran2CPP:基于多轮对话和双智能体集成的LLM自动化Fortran至C++翻译
机器学习
2025-02-04 v2
摘要
将遗留Fortran代码翻译为C++是现代化高性能计算(HPC)应用程序的关键步骤。然而,稀缺的高质量平行Fortran至C++数据集以及大型语言模型(LLM)中有限的领域特定专业知识,为自动化翻译带来了显著挑战。本文引入Fortran2CPP,一种通过新颖的LLM智能体方法生成的多轮对话数据集,该方法集成了双LLM问答-求解模块以提高翻译准确性。我们的数据集包含1.17万轮对话,捕捉迭代反馈决策工作流程,包括代码翻译、编译、执行、单元测试和错误修复。在使用该数据集微调多个开源LLM后,我们在CodeBLEU分数上实现了最高3.31倍的改进,编译成功率提高了92%,显现出增强的语法准确性和功能可靠性。我们的发现凸显了针对复杂代码翻译任务进行对话式LLM训练的价值。该数据集和模型已开源,可在我们的公开GitHub存储库\footnote{\url{https://github.com/HPC-Fortran2CPP/Fortran2Cpp}}获取。
关键词
引用
@article{arxiv.2412.19770,
title = {Fortran2CPP: Automating Fortran-to-C++ Translation using LLMs via Multi-Turn Dialogue and Dual-Agent Integration},
author = {Le Chen and Bin Lei and Dunzhi Zhou and Pei-Hung Lin and Chunhua Liao and Caiwen Ding and Ali Jannesari},
journal= {arXiv preprint arXiv:2412.19770},
year = {2025}
}