論文の概要: CoTran: An LLM-based Code Translator using Reinforcement Learning with Feedback from Compiler and Symbolic Execution
- arxiv url: http://arxiv.org/abs/2306.06755v4
- Date: Wed, 30 Oct 2024 17:22:41 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-31 14:25:18.013826
- Title: CoTran: An LLM-based Code Translator using Reinforcement Learning with Feedback from Compiler and Symbolic Execution
- Title(参考訳): CoTran: コンパイラからのフィードバックとシンボル実行による強化学習を用いたLLMベースのコードトランスレータ
- Authors: Prithwish Jana, Piyush Jha, Haoyang Ju, Gautham Kishore, Aryan Mahajan, Vijay Ganesh,
- Abstract要約: 既存のコード翻訳法では、翻訳されたコードが確実にコンパイルされるか、入力されたコードに実質的な機能的等価性を持つことを保証するための訓練が欠如している。
本研究では、強化学習、コンパイラフィードバック、シンボリック実行(シンジケート)ベースのテストフィードバックを用いて、LLMを微調整する。
我々は、CoTranと、人書きトランスパイラ、LLMベースの翻訳ツール、ChatGPTを含む14のコード翻訳ツールを比較した広範な実験を行った。
- 参考スコア(独自算出の注目度): 6.72474166614441
- License:
- Abstract: In this paper, we present an LLM-based code translation method and an associated tool called CoTran, that translates whole-programs from one high-level programming language to another. Existing LLM-based code translation methods lack training to ensure that the translated code reliably compiles or bears substantial functional equivalence to the input code. In our work, we fine-tune an LLM using reinforcement learning, incorporating compiler feedback, and symbolic execution (symexec)-based testing feedback to assess functional equivalence between the input and output programs. The idea is to guide an LLM during fine-tuning, via compiler and symexec-based testing feedback, by letting it know how far it is from producing perfect translations. We conduct extensive experiments comparing CoTran with 14 other code translation tools, including human-written transpilers, LLM-based translation tools, and ChatGPT. Using a benchmark of over \num{57000} code pairs in Java and Python, we demonstrate that CoTran outperforms the other tools on relevant metrics such as compilation accuracy (CompAcc) and functional equivalence accuracy (FEqAcc). For example, in Python-to-Java translation, CoTran achieves 48.68% FEqAcc and 76.98% CompAcc, whereas the nearest competing tool (PLBART-base) gets 38.26% and 75.77% respectively. Additionally, CoTran, built on top of CodeT5, improves FEqAcc by +14.89% and CompAcc by +8.14% for Python-to-Java (resp., +12.94% and +4.30% for Java-to-Python).
- Abstract(参考訳): 本稿では,LLMをベースとしたコード翻訳手法であるCoTranについて述べる。
既存のLLMベースのコード翻訳法では、翻訳されたコードが確実にコンパイルされるか、入力されたコードに実質的な機能的等価性を持つことを保証するための訓練が欠如している。
本研究では,LLMを強化学習,コンパイラフィードバック,シンボリック実行(シンジケータ)に基づくテストフィードバックを用いて微調整し,入力プログラムと出力プログラムの関数的等価性を評価する。
このアイデアは、コンパイラとsymexecベースのテストフィードバックを通じて、微調整中にLLMをガイドすることであり、完璧な翻訳からどのくらいの距離にあるのかを知ることができる。
我々は、CoTranと、人書きトランスパイラ、LLMベースの翻訳ツール、ChatGPTを含む14のコード翻訳ツールを比較した広範な実験を行った。
JavaとPythonのnum{57000}コードペアのベンチマークを用いて、CoTranがコンパイル精度(CompAcc)や関数同値精度(FEqAcc)といった関連する指標で他のツールよりも優れていることを示す。
例えば、PythonからJavaへの翻訳では、CoTranは48.68%のFEqAccと76.98%のCompAccを達成しているが、最も近い競合ツール(PLBARTベース)は38.26%と75.77%である。
さらに、CodeT5上に構築されたCoTranは、FEqAccを+14.89%改善し、CompAccを+8.14%改善した。
関連論文リスト
- CodeRosetta: Pushing the Boundaries of Unsupervised Code Translation for Parallel Programming [15.391781573025787]
我々は,プログラミング言語とHPC拡張間の翻訳に特化して設計されたエンコーダ・デコーダモデルであるCodeRosettaを紹介する。
CodeRosettaはC++から並列C++翻訳タスクで評価される。
以上の結果から,CodeRosettaはC++の最先端のベースラインよりも翻訳に優れていた。
論文 参考訳(メタデータ) (2024-10-27T17:34:07Z) - Unraveling the Potential of Large Language Models in Code Translation: How Far Are We? [4.616570111453259]
大規模言語モデル(LLM)は様々なタスクにおいて最先端のパフォーマンスを示すが、コード翻訳には苦労する。
コード翻訳タスクにおけるLLMの能力と能力を利用するための大規模な実証的研究を行う。
提案手法は,(1)ソースと対象言語間の中間言語を選択する中間翻訳と,(2)自己生成並列データ上でLPMを微調整する自己学習である。
論文 参考訳(メタデータ) (2024-10-13T12:20:12Z) - CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - Towards Translating Real-World Code with LLMs: A Study of Translating to Rust [13.743967357458287]
大規模言語モデル(LLM)は、ほとんどのプログラミング言語でコードを記述する能力のため、コード翻訳において有望であることを示す。
実世界のオープンソースプロジェクトから抽出したコードについて検討する。
FLOURINEは、差分ファジィを使用して、Rust翻訳が元のソースプログラムと同等のI/Oかどうかをチェックする、エンドツーエンドのコード変換ツールである。
論文 参考訳(メタデータ) (2024-05-19T10:54:03Z) - Exploring the Impact of the Output Format on the Evaluation of Large Language Models for Code Translation [8.81447711370817]
我々は、11の人気のある命令付き大規模言語モデル(LLM)の出力を経験的に分析する。
この結果から,プロンプトエンジニアリングと正規表現の戦略的組み合わせにより,モデル生成出力からソースコードを効果的に抽出できることが示唆された。
論文 参考訳(メタデータ) (2024-03-25T21:41:31Z) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - CodeFuse-13B: A Pretrained Multi-lingual Code Large Language Model [58.127534002232096]
本稿では,オープンソースの事前学習型LLMであるCodeFuse-13Bを紹介する。
英語と中国語の両方のプロンプトによるコード関連のタスク用に特別に設計されている。
CodeFuseは、高品質な事前トレーニングデータセットを利用することで、その効果を達成する。
論文 参考訳(メタデータ) (2023-10-10T02:38:44Z) - Lost in Translation: A Study of Bugs Introduced by Large Language Models
while Translating Code [5.915447908295047]
コード翻訳における一般LLMとコードLLMの能力について,大規模な実証的研究を行った。
私たちの研究は、3つのベンチマークと2つの実世界のプロジェクトからの1,700のコードサンプルの翻訳に関するものです。
LLMの正しい翻訳は2.1%から47.3%であることがわかった。
論文 参考訳(メタデータ) (2023-08-06T13:33:13Z) - LeTI: Learning to Generate from Textual Interactions [60.425769582343506]
本稿では,テキストインタラクション(LETI)から学習するLMの可能性を,バイナリラベルによる正当性をチェックするだけでなく,テキストフィードバックを通じて出力中のエラーをピンポイントし,説明する。
私たちの焦点はコード生成タスクであり、そこではモデルが自然言語命令に基づいてコードを生成する。
LETIは、目的のLMを用いて、自然言語命令、LM生成プログラム、テキストフィードバックの結合に基づいて、モデルを反復的に微調整する。
論文 参考訳(メタデータ) (2023-05-17T15:53:31Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。