論文の概要: 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を使用する場合のパフォーマンスを維持または改善することができる。
関連論文リスト
- Learning to Reason via Program Generation, Emulation, and Search [33.11955431589091]
言語モデル(LM)によるプログラム合成は、多くの推論能力を解放した。
すべての推論タスクは、コードとして容易に表現できるわけではない。例えば、常識的推論、道徳的意思決定、皮肉な理解を含むタスクである。
我々は,プログラム合成スキルをこのようなタスクに拡張するために,コード生成とエミュレートされた実行(CoGEX)を提案する。
論文 参考訳(メタデータ) (2024-05-25T19:40:50Z) - 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) - Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning [84.12154024070024]
本研究では,数学・記号的推論,自然言語理解,後続の課題に対処するための統合フレームワークとして,自然言語組み込みプログラム(NLEP)を提案する。
我々のアプローチは,構造化知識の自然言語表現を含むデータ構造上の関数を定義する完全なPythonプログラムを生成するよう,言語モデルに促す。
Pythonインタープリタが生成されたコードを実行し、出力をプリントする。
論文 参考訳(メタデータ) (2023-09-19T17:54:21Z) - Improving Code Generation by Training with Natural Language Feedback [69.52985513422381]
自然言語フィードバックから学習するアルゴリズムを訓練時に形式化し、それをILF(Language Feedback)と呼ぶ。
ILFはトレーニング中に少量の人間によるフィードバックしか必要とせず、テスト時に同じフィードバックを必要としないため、ユーザフレンドリでサンプル効率がよい。
Instly Basic Python Problems (MBPP)ベンチマークでは、ICFを使用してCodegen-Mono 6.1Bモデルのpass@1レートを38%改善しています。
論文 参考訳(メタデータ) (2023-03-28T16:15: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) - 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) - Program Synthesis with Large Language Models [40.41120807053989]
我々はPythonにおけるプログラム合成のための大規模言語モデルを評価する。
合成性能はモデルサイズと対数的にスケールすることがわかった。
最高のモデルでさえ、特定の入力を与えられたプログラムの出力を予測できないことが分かりました。
論文 参考訳(メタデータ) (2021-08-16T03:57:30Z) - Automated Source Code Generation and Auto-completion Using Deep
Learning: Comparing and Discussing Current Language-Model-Related Approaches [0.0]
本稿では、異なるディープラーニングアーキテクチャを比較して、プログラミングコードに基づく言語モデルを作成し、使用する。
それぞれのアプローチのさまざまな長所と短所と、言語モデルを評価したり、実際のプログラミングコンテキストでそれらを適用するためのギャップについて論じる。
論文 参考訳(メタデータ) (2020-09-16T15:17:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。