論文の概要: LILO: Learning Interpretable Libraries by Compressing and Documenting Code
- arxiv url: http://arxiv.org/abs/2310.19791v4
- Date: Fri, 15 Mar 2024 16:55:47 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-18 23:51:32.800691
- Title: LILO: Learning Interpretable Libraries by Compressing and Documenting Code
- Title(参考訳): LILO:コードの圧縮と文書化による解釈可能なライブラリの学習
- Authors: Gabriel Grand, Lionel Wong, Maddy Bowers, Theo X. Olausson, Muxin Liu, Joshua B. Tenenbaum, Jacob Andreas,
- Abstract要約: LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
- 参考スコア(独自算出の注目度): 71.55208585024198
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: While large language models (LLMs) now excel at code generation, a key aspect of software development is the art of refactoring: consolidating code into libraries of reusable and readable programs. In this paper, we introduce LILO, a neurosymbolic framework that iteratively synthesizes, compresses, and documents code to build libraries tailored to particular problem domains. LILO combines LLM-guided program synthesis with recent algorithmic advances in automated refactoring from Stitch: a symbolic compression system that efficiently identifies optimal lambda abstractions across large code corpora. To make these abstractions interpretable, we introduce an auto-documentation (AutoDoc) procedure that infers natural language names and docstrings based on contextual examples of usage. In addition to improving human readability, we find that AutoDoc boosts performance by helping LILO's synthesizer to interpret and deploy learned abstractions. We evaluate LILO on three inductive program synthesis benchmarks for string editing, scene reasoning, and graphics composition. Compared to existing neural and symbolic methods - including the state-of-the-art library learning algorithm DreamCoder - LILO solves more complex tasks and learns richer libraries that are grounded in linguistic knowledge.
- Abstract(参考訳): 大規模言語モデル(LLM)はコード生成に優れていますが、ソフトウェア開発の重要な側面はリファクタリングのテクニックです。
本稿では、特定の問題領域に適したライブラリを構築するために、反復的に合成、圧縮、文書コードを生成する、ニューロシンボリックなフレームワークであるLILOを紹介する。
LILOは、LLM誘導型プログラム合成と、Stitchからの自動リファクタリングにおける最近のアルゴリズム的進歩を組み合わせた、大規模なコードコーパスをまたいだ最適なラムダ抽象化を効率的に識別するシンボリック圧縮システムである。
これらの抽象化を解釈できるように、文脈的使用例に基づいて自然言語名や文書を推論するAuto-Doc(Auto-Docmentation)手順を導入する。
人間の可読性の改善に加えて、AutoDocはLILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、パフォーマンスを向上させる。
我々は、文字列編集、シーン推論、グラフィック合成のための3つの帰納的プログラム合成ベンチマーク上でLILOを評価する。
最先端のライブラリ学習アルゴリズムDreamCoderを含む既存のニューラルおよびシンボリックメソッドと比較して、LILOはより複雑なタスクを解決し、言語知識に根ざしたリッチなライブラリを学ぶ。
関連論文リスト
- Codellm-Devkit: A Framework for Contextualizing Code LLMs with Program Analysis Insights [9.414198519543564]
codellm-devkit (以下, CLDK') は,プログラム解析のプロセスを大幅に単純化したオープンソースライブラリである。
CLDKは開発者に対して直感的でユーザフレンドリなインターフェースを提供しています。
論文 参考訳(メタデータ) (2024-10-16T20:05:59Z) - Synthetic Programming Elicitation for Text-to-Code in Very Low-Resource Programming and Formal Languages [21.18996339478024]
SPEAC(emphsynthetic programming elicitation and compilation)を紹介する。
SPEACは、より頻繁に、意味的正しさを犠牲にすることなく、構文的に正しいプログラムを生成する。
UCLID5形式検証言語のケーススタディにおいて,SPEACの性能を実証的に評価した。
論文 参考訳(メタデータ) (2024-06-05T22:16:19Z) - MTLLM: LLMs are Meaning-Typed Code Constructs [7.749453456370407]
本稿では,大規模言語モデル(LLM)をプログラミングに統合するための簡易なアプローチを提案する。
提案手法は,従来のプログラミング言語と自然言語を自動的に翻訳するために,既存のプログラムのセマンティック・リッチネスを利用する。
そこで本研究では,SOTA LLMソフトウェア開発ツールと比較し,本手法の完全機能および実運用レベルの実装について述べる。
論文 参考訳(メタデータ) (2024-05-14T21:12:01Z) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z) - COMEX: A Tool for Generating Customized Source Code Representations [7.151800146054561]
COMEXは、研究者と開発者が複数のコードビューを作成し、組み合わせることを可能にするフレームワークである。
プロシージャ内スニペットとプロシージャ間スニペットの両方を使用して、メソッドレベルのスニペットとプログラムレベルのスニペットの両方を分析することができる。
これは40以上の言語をサポートする、広く使われているインクリメンタル分析ツールであるtree-sitter上に構築されている。
論文 参考訳(メタデータ) (2023-07-10T16:46:34Z) - CodeTF: One-stop Transformer Library for State-of-the-art Code LLM [72.1638273937025]
我々は、最先端のCode LLMとコードインテリジェンスのためのオープンソースのTransformerベースのライブラリであるCodeTFを紹介する。
我々のライブラリは、事前訓練されたコードLLMモデルと人気のあるコードベンチマークのコレクションをサポートします。
CodeTFが機械学習/生成AIとソフトウェア工学のギャップを埋められることを願っている。
論文 参考訳(メタデータ) (2023-05-31T05:24:48Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - Leveraging Language to Learn Program Abstractions and Search Heuristics [66.28391181268645]
LAPS(Language for Abstraction and Program Search)は、自然言語アノテーションを用いて、ライブラリとニューラルネットワークによる合成のための検索モデルの共同学習をガイドする手法である。
最先端のライブラリ学習システム(DreamCoder)に統合されると、LAPSは高品質なライブラリを生成し、検索効率と一般化を改善する。
論文 参考訳(メタデータ) (2021-06-18T15:08:47Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。