論文の概要: AI Coders Are Among Us: Rethinking Programming Language Grammar Towards Efficient Code Generation
- arxiv url: http://arxiv.org/abs/2404.16333v1
- Date: Thu, 25 Apr 2024 04:46:02 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-26 14:48:28.150624
- 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要約: 私たちはSimple Python(SimPy)という,Pythonの最初のAI指向文法を実装しました。
オリジナルのPythonと比較して、SimPyはトークン使用量を13.5%削減し、CodeLlamaとGPT-4は10.4%削減した。
- 参考スコア(独自算出の注目度): 14.831115535710692
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Besides humans and machines, Artificial Intelligence (AI) models have emerged to be another important audience of programming languages, as we come to the era of large language models (LLMs). LLMs can now excel at coding competitions and even program like developers to address various tasks, such as math calculation. Yet, the grammar and layout of existing programs are designed for humans. Particularly, abundant grammar tokens and formatting tokens are included to make the code more readable to humans. While beneficial, such a human-centric design imposes an unnecessary computational burden on LLMs where each token, either consumed or generated, consumes computational resources. To improve inference efficiency and reduce computational costs, we propose the concept of AI-oriented grammar, which aims to represent the 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 Simple Python (SimPy). SimPy is crafted by revising the original Python grammar through a series of heuristic rules. Programs written in SimPy maintain identical Abstract Syntax Tree (AST) structures to those in standard Python, allowing execution via a modified AST parser. In addition, we explore methods to enable existing LLMs to proficiently understand and use SimPy, and ensure the changes remain imperceptible for human developers. Compared with the original Python, SimPy not only reduces token usage by 13.5% and 10.4% for CodeLlama and GPT-4, but can also achieve equivalent, even improved, performance over the models trained on Python code.
- Abstract(参考訳): 人間や機械以外にも、大規模言語モデル(LLM)の時代になると、人工知能(AI)モデルは、プログラミング言語の別の重要なオーディエンスとして現れています。
LLMは、コーディングコンペティションや、計算計算など、さまざまなタスクに対処する開発者などのプログラムにも長けている。
しかし、既存のプログラムの文法とレイアウトは人間のために設計されている。
特に、コードを読みやすくするために、豊富な文法トークンとフォーマットトークンが含まれている。
有益ではあるが、そのような人間中心の設計は、それぞれのトークンが消費されるか、生成されるか、計算資源を消費するLLMに不要な計算負担を課す。
推論効率の向上と計算コストの削減を目的として,AIモデルの動作機構によく適合する方法でコードを表現することを目的とした,AI指向文法の概念を提案する。
AI指向文法で書かれたコードはフォーマットを捨て、コードのセマンティクスを効果的に伝達するために最小限のトークンを使用する。
この概念の実現可能性を示すため、我々はSimple Python (SimPy) と呼ばれるPythonの最初のAI指向文法を探索し、実装した。
SimPyは、一連のヒューリスティックなルールを通じて、オリジナルのPython文法を改訂することで開発されている。
SimPyで書かれたプログラムは、AST構文木 (Abstract Syntax Tree, AST) 構造を標準Pythonと同一に維持し、修正されたASTパーサによる実行を可能にする。
さらに、既存のLLMがSimPyを十分に理解し、使用できるようにし、変更が人間開発者には受け入れられないようにする方法についても検討する。
オリジナルのPythonと比較して、SimPyはトークン使用量を13.5%削減し、CodeLlamaとGPT-4は10.4%削減した。
関連論文リスト
- 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) - Syntax-Aware On-the-Fly Code Completion [13.268277642411974]
我々はPyCoderを提案する。トークン型は軽量な構文情報の一種である。
私たちのPyCoderはトークンレベルの予測に対して77.12%の精度でCodeXGLUEのリーダーボードで1位を獲得しました。
論文 参考訳(メタデータ) (2022-11-09T04:24:18Z) - 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) - Automatic Code Generation using Pre-Trained Language Models [0.0]
学習済み言語モデルの上に構築されたPython言語におけるコード生成のためのエンドツーエンドの機械学習モデルを提案する。
本研究では,BLEUスコア0.22を達成し,適切なシーケンス・ツー・シーケンスベースラインよりも46%向上した,微調整モデルがコード生成タスクで良好に動作できることを実証する。
論文 参考訳(メタデータ) (2021-02-21T07:21:26Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。