論文の概要: AI Coders Are Among Us: Rethinking Programming Language Grammar Towards Efficient Code Generation
- arxiv url: http://arxiv.org/abs/2404.16333v2
- Date: Wed, 14 Aug 2024 07:34:18 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-15 17:46:37.924865
- Title: AI Coders Are Among Us: Rethinking Programming Language Grammar Towards Efficient Code Generation
- Title(参考訳): AIプログラマは、効率的なコード生成に向けてプログラミング言語文法を再考する
- Authors: Zhensu Sun, Xiaoning Du, Zhou Yang, Li Li, David Lo,
- Abstract要約: 本稿では,AI指向文法の概念を提案する。
これは、AIモデルの動作メカニズムにより良い方法でコードを表現することを目的としています。
AI指向文法で書かれたコードはフォーマットを捨て、最小限のトークンを使用する。
- 参考スコア(独自算出の注目度): 14.831115535710692
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Artificial Intelligence (AI) models have emerged as another important audience for programming languages alongside humans and machines, as we enter the era of large language models (LLMs). LLMs can now perform well in coding competitions and even write programs like developers to solve various tasks, including mathematical problems. However, the grammar and layout of current programs are designed to cater the needs of human developers -- with many grammar tokens and formatting tokens being used to make the code easier for humans to read. While this is helpful, such a design adds unnecessary computational work for LLMs, as each token they either use or produce consumes computational resources. To improve inference efficiency and reduce computational costs, we propose the concept of AI-oriented grammar. This aims to represent code in a way that better suits the working mechanism of AI models. Code written with AI-oriented grammar discards formats and uses a minimum number of tokens to convey code semantics effectively. To demonstrate the feasibility of this concept, we explore and implement the first AI-oriented grammar for Python, named SimPy. SimPy is crafted by revising the original Python grammar through a series of heuristic rules. Programs written in SimPy maintain identical AST structures to those in standard Python. This allows for not only execution via a modified AST parser, but also seamless transformation between programs written in Python and SimPy, enabling human developers and LLMs to use Python and SimPy, respectively, when they need to collaborate. In the experiments, compared with Python, SimPy enables a reduction in token usage by 13.5% and 10.4% for CodeLlama and GPT-4, respectively, when completing the same set of code-related tasks. Additionally, these models can maintain or even improve their performance when using SimPy instead of Python for these tasks.
- Abstract(参考訳): 人工知能(AI)モデルは、大規模言語モデル(LLM)の時代に入るにつれて、人間や機械と共にプログラミング言語の別の重要なオーディエンスとして登場した。
LLMは、コーディング競争でうまく機能し、数学的問題を含む様々な課題を解決するために開発者のようなプログラムを書けるようになった。
しかしながら、現在のプログラムの文法とレイアウトは、人間の開発者のニーズを満たすように設計されている。
これは有用であるが、このような設計はLLMに不要な計算作業を加味し、それぞれのトークンが使用するか、消費される計算資源を生産する。
推論効率の向上と計算コストの削減を目的として,AI指向文法の概念を提案する。
これは、AIモデルの動作メカニズムにより良い方法でコードを表現することを目的としています。
AI指向文法で書かれたコードはフォーマットを捨て、コードのセマンティクスを効果的に伝達するために最小限のトークンを使用する。
この概念の実現可能性を示すため、SimPyというPythonの最初のAI指向文法を探索し、実装する。
SimPyは、一連のヒューリスティックなルールを通じて、オリジナルのPython文法を改訂することで開発されている。
SimPyで書かれたプログラムは、標準Pythonと同じAST構造を維持している。
これにより、修正されたASTパーサによる実行だけでなく、Pythonで書かれたプログラムとSimPyで書かれたプログラム間のシームレスな変換が可能になる。
実験では、Pythonと比較して、SimPyはコード関連タスクのセットを完了すると、それぞれCodeLlamaとGPT-4で13.5%と10.4%のトークン使用量を削減できる。
さらに、これらのモデルでは、これらのタスクにPythonの代わりにSimPyを使用する場合のパフォーマンスを維持または改善することができる。
関連論文リスト
- 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) - Learning to Reason via Program Generation, Emulation, and Search [33.11955431589091]
言語モデル(LM)によるプログラム合成は、多くの推論能力を解放した。
すべての推論タスクは、コードとして容易に表現できるわけではない。例えば、常識的推論、道徳的意思決定、皮肉な理解を含むタスクである。
我々は,プログラム合成スキルをこのようなタスクに拡張するために,コード生成とエミュレートされた実行(CoGEX)を提案する。
論文 参考訳(メタデータ) (2024-05-25T19:40:50Z) - Evaluating AI-generated code for C++, Fortran, Go, Java, Julia, Matlab, Python, R, and Rust [0.1906498126334485]
本研究では,ChatGPTバージョン3.5および4の多種多様なプログラミング言語におけるコード生成能力を評価する。
我々はChatGPTに、単純な数値積分、共役勾配解法、並列1次元ステンシルに基づく熱方程式解法という3つの異なる符号を生成するよう依頼した。
分析の焦点は、コードのコンパイル、実行時のパフォーマンス、正確性でした。
論文 参考訳(メタデータ) (2024-05-21T17:04:37Z) - TransformCode: A Contrastive Learning Framework for Code Embedding via Subtree Transformation [9.477734501499274]
コード埋め込みを対照的な学習方法で学習する新しいフレームワークであるTransformCodeを提案する。
我々のフレームワークはエンコーダに依存しない言語に依存しないので、どんなエンコーダモデルでも活用でき、どんなプログラミング言語でも扱える。
論文 参考訳(メタデータ) (2023-11-10T09:05:23Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - PAL: Program-aided Language Models [112.94785609781503]
自然言語問題を理解するために,プログラム支援言語モデル(PaL)を提案する。
PaLはソリューションステップをPythonインタプリタのようなプログラムランタイムにオフロードする。
私たちは12のベンチマークで新しい最先端の結果を設定しました。
論文 参考訳(メタデータ) (2022-11-18T18:56:13Z) - Repairing Bugs in Python Assignments Using Large Language Models [9.973714032271708]
本稿では,プログラム代入のためのAPRシステムを構築するために,コード上で訓練された大規模言語モデルを提案する。
本システムでは,複数モーダルプロンプト,反復クエリ,テストケースベースの数ショット選択,プログラムチャンキングを組み合わせることで,構文的および意味的誤りを解消することができる。
我々は,286の実際の学生プログラム上でMMAPRを評価し,最新のPython構文修復エンジン,BIFI,最新のPython意味修復エンジンを組み合わせたベースラインであるRefactoryと比較した。
論文 参考訳(メタデータ) (2022-09-29T15:41:17Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z) - Language Models Can Teach Themselves to Program Better [4.627023679353507]
近年の言語モデル (LM) は、人間の許可を受けた問題で訓練された場合、コード生成において画期的な性能を達成する。
そこで本研究では,Pythonインタプリタの正しさをフィルタするプログラミング問題と解を,LMが合成可能であることを示す。
LMの性能は、独自の合成問題と検証された解を微調整することで改善される。
論文 参考訳(メタデータ) (2022-07-29T06:43:28Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。