要約
現在、大規模言語モデル (LLM) はコード生成に優れていますが、ソフトウェア開発の重要な側面はリファクタリングの技術であり、コードを再利用可能で読み取り可能なプログラムのライブラリに統合します。
この論文では、コードを繰り返し合成、圧縮、文書化して特定の問題領域に合わせたライブラリを構築する神経記号フレームワークである LILO を紹介します。
LILO は、LLM ガイドによるプログラム合成と、大規模なコード コーパス全体で最適なラムダ抽象化を効率的に特定するシンボリック圧縮システムである Stitch による自動リファクタリングにおける最近のアルゴリズムの進歩を組み合わせます。
これらの抽象化を解釈可能にするために、文脈上の使用例に基づいて自然言語名とドキュメント文字列を推測する自動ドキュメント (AutoDoc) プロシージャを導入します。
人間の可読性の向上に加えて、AutoDoc は LILO のシンセサイザーによる学習された抽象化の解釈と展開を支援することでパフォーマンスを向上させることがわかりました。
文字列編集、シーン推論、グラフィックス合成の 3 つの帰納的プログラム合成ベンチマークで LILO を評価します。
最先端のライブラリ学習アルゴリズム DreamCoder を含む既存のニューラルおよびシンボリック手法と比較して、LILO はより複雑なタスクを解決し、言語知識に基づいたより豊富なライブラリを学習します。
要約(オリジナル)
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.
arxiv情報
著者 | Gabriel Grand,Lionel Wong,Matthew Bowers,Theo X. Olausson,Muxin Liu,Joshua B. Tenenbaum,Jacob Andreas |
発行日 | 2024-03-14 14:54:54+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google