論文の概要: CoTran: An LLM-based Code Translator using Reinforcement Learning with
Feedback from Compiler and Symbolic Execution
- arxiv url: http://arxiv.org/abs/2306.06755v3
- Date: Wed, 17 Jan 2024 04:07:11 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-18 21:27:46.007427
- 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
and Vijay Ganesh
- Abstract要約: 本稿では,LLMに基づくコード翻訳手法と,それに関連するツールであるCoTranを提案する。
CoTranは、コンパイラとsymexecベースのテストフィードバックを通じて、LLMのトレーニングをガイドするために設計されている。
私たちのツールは、PythonからJavaへの翻訳で48.68%のFEqAcc、76.98%のCompAccを達成する一方、最も近い競合ツール(PLBART-base)は38.26%と75.77%のrespしか得られない。
- 参考スコア(独自算出の注目度): 7.125642663737713
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- 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. Current LLM-based code translation
methods lack a training approach to ensure that the translated code reliably
compiles or bears substantial functional equivalence to the input code. In our
work, we train an LLM via reinforcement learning, by modifying the fine-tuning
process to incorporate compiler feedback and symbolic execution (symexec)-based
equivalence testing feedback that checks for functional equivalence between the
input and output programs. The idea is to guide an LLM-in-training, via
compiler and symexec-based testing feedback, by letting it know how far it is
from producing perfect translations. We report on extensive experiments
comparing CoTran with 14 other code translation tools that include
human-written transpilers, LLM-based translation tools, and ChatGPT over a
benchmark of more than 57,000 Java-Python equivalent pairs, and we show that
CoTran outperforms them on relevant metrics such as compilation accuracy
(CompAcc) and functional equivalence accuracy (FEqAcc). For example, our tool
achieves 48.68% FEqAcc, 76.98% CompAcc for Python-to-Java translation, whereas
the nearest competing tool (PLBART-base) only gets 38.26% and 75.77% resp.
Also, built upon CodeT5, CoTran achieves +11.23%, +14.89% improvement on FEqAcc
and +4.07%, +8.14% on CompAcc for Java-to-Python and Python-to-Java translation
resp.
- Abstract(参考訳): 本稿では,llmベースのコード変換手法と,それに関連するツールであるcotranを提案する。
現在のllmベースのコード翻訳手法は、翻訳されたコードが入力コードに相当な機能的等価性を確実にコンパイルまたは保持することを保証するためのトレーニングアプローチを欠いている。
本研究では,コンパイラのフィードバックとシンボリックな実行(symexec)に基づく等価性テストフィードバックを取り入れ,入力プログラムと出力プログラムの関数的等価性をチェックすることによって,LLMを強化学習によりトレーニングする。
このアイデアは、コンパイラとsymexecベースのテストフィードバックを通じて、LLMのトレーニングをガイドすることであり、完璧な翻訳からどのくらいの距離にあるのかを知ることができる。
我々は,CoTranを57,000以上のJava-Python等価ペアのベンチマークで,人間の手書きトランスパイラやLLMベースの翻訳ツール,ChatGPTを含む14のコード翻訳ツールと比較し,コンパイル精度(CompAcc)や関数同値精度(FEqAcc)などの関連指標で比較した。
例えば、私たちのツールは、PythonからJavaへの翻訳で48.68%のFEqAcc、76.98%のCompAccを実現しています。
また、CodeT5上に構築されたCoTranは、FEqAccが+11.23%、+14.89%改善され、+4.07%、+8.14%がCompAccがJava-to-PythonとPython-to-Javaに変換された。
関連論文リスト
- Exploring and Unleashing the Power of Large Language Models in Automated Code Translation [40.25727029618665]
本稿では,自動翻訳タスクのための多種多様なLLMと学習ベーストランスパイラについて検討する。
最近の3つのLLMはUniTransでテストされており、いずれも大幅に改善されている。
論文 参考訳(メタデータ) (2024-04-23T00:49:46Z) - 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) - Building Accurate Translation-Tailored LLMs with Language Aware Instruction Tuning [57.323716555996114]
オフターゲット翻訳は、特に低リソース言語では未解決の問題である。
最近の研究は、翻訳命令の機能を強調するために高度なプロンプト戦略を設計するか、LLMの文脈内学習能力を活用している。
本研究では,LLMの命令追従能力(特に翻訳方向)を向上させるために,2段階の微調整アルゴリズムを設計する。
論文 参考訳(メタデータ) (2024-03-21T13:47:40Z) - Data Augmentation for Code Translation with Comparable Corpora and
Multiple References [23.764843421101176]
我々は、自然言語ドキュメントから生成されたプログラムを含む、比較可能なコーパスの複数のタイプを構築し、分析する。
単一の参照変換に対する過度な適合を低減するため、利用可能な並列データに対する追加の翻訳参照を自動生成する。
実験の結果,Java,Python,C++間の変換において,平均7.5%の計算精度でコードT5が大幅に改善された。
論文 参考訳(メタデータ) (2023-11-01T06:01:22Z) - 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) - ParroT: Translating during Chat using Large Language Models tuned with
Human Translation and Feedback [90.20262941911027]
ParroTはチャット中の翻訳機能を強化し、規制するフレームワークである。
具体的には、ParroTは、翻訳データを命令フォロースタイルに書き換える。
本稿では,ParroTモデルを微調整するための3つの命令タイプを提案する。
論文 参考訳(メタデータ) (2023-04-05T13:12:00Z) - 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) - Unsupervised Translation of Programming Languages [19.56070393390029]
ソース・トゥ・ソース(source-to-source)またはトランスコンパイラ(transcompiler)は、ソースコードをハイレベルなプログラミング言語から別のプログラミング言語に変換するシステムである。
私たちは、オープンソースのGitHubプロジェクトからソースコードでモデルをトレーニングし、C++、Java、Python間の関数を高い精度で翻訳できることを示しています。
論文 参考訳(メタデータ) (2020-06-05T15:28:01Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。