Fortran2CPP: Automating Fortran-to-C++ Migration using LLMs via Multi-Turn Dialogue and Dual-Agent Integration

要約

Fortran コードを C++ に移行することは、多くの科学技術コンピューティング チームにとって共通のタスクであり、最新のプログラミング パラダイムを活用し、クロスプラットフォームの互換性を強化し、保守性を向上させる必要があるためです。
大規模言語モデル (LLM) を使用してこの翻訳プロセスを自動化することは有望であることが示されていますが、高品質で特殊なデータセットが不足しているため、その有効性が妨げられています。
このペーパーでは、Fortran から C++ へのコード移行用に特別に設計された、新しいマルチターン ダイアログ データセット Fortran2CPP を導入することで、この課題に対処します。
既存の代替データよりも大幅に大きいデータセットは、反復コンパイル、実行、コード修復を組み込んだ独自の LLM 駆動のデュアルエージェント パイプラインを使用して生成され、高品質と機能の正確性を保証します。
データセットの有効性を実証するために、Fortran2CPP でいくつかのオープンウェイト LLM を微調整し、2 つの独立したベンチマークでパフォーマンスを評価しました。
データセットの微調整により、モデルの CodeBLEU スコアが最大 3.31 倍、コンパイル成功率が 92% 向上するなど、目覚ましい成果が得られました。
これは、翻訳された C++ コードの構文精度とコンパイル可能性の両方を向上させるデータセットの機能を強調しています。
私たちのデータセットとモデルはオープンソース化されており、パブリック GitHub リポジトリ\footnote{\url{https://github.com/HPC-Fortran2CPP/Fortran2Cpp}} で入手できます。

要約(オリジナル)

Migrating Fortran code to C++ is a common task for many scientific computing teams, driven by the need to leverage modern programming paradigms, enhance cross-platform compatibility, and improve maintainability. Automating this translation process using large language models (LLMs) has shown promise, but the lack of high-quality, specialized datasets has hindered their effectiveness. In this paper, we address this challenge by introducing a novel multi-turn dialogue dataset, Fortran2CPP, specifically designed for Fortran-to-C++ code migration. Our dataset, significantly larger than existing alternatives, is generated using a unique LLM-driven, dual-agent pipeline incorporating iterative compilation, execution, and code repair to ensure high quality and functional correctness. To demonstrate the effectiveness of our dataset, we fine-tuned several open-weight LLMs on Fortran2CPP and evaluated their performance on two independent benchmarks. Fine-tuning on our dataset led to remarkable gains, with models achieving up to a 3.31x increase in CodeBLEU score and a 92\% improvement in compilation success rate. This highlights the dataset’s ability to enhance both the syntactic accuracy and compilability of the translated C++ code. Our dataset and model have been open-sourced and are available on our public GitHub repository\footnote{\url{https://github.com/HPC-Fortran2CPP/Fortran2Cpp}}.

arxiv情報

著者 Le Chen,Bin Lei,Dunzhi Zhou,Pei-Hung Lin,Chunhua Liao,Caiwen Ding,Ali Jannesari
発行日 2024-12-27 18:06:25+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.LG パーマリンク