論文の概要: LDB: A Large Language Model Debugger via Verifying Runtime Execution Step-by-step
- arxiv url: http://arxiv.org/abs/2402.16906v5
- Date: Tue, 4 Jun 2024 06:55:27 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-06 12:38:37.473855
- Title: LDB: A Large Language Model Debugger via Verifying Runtime Execution Step-by-step
- Title(参考訳): LDB: 実行時実行のステップバイステップ検証による大規模言語モデルデバッガ
- Authors: Lily Zhong, Zilong Wang, Jingbo Shang,
- Abstract要約: 大規模言語モデル(LLM)はコード生成の大きな進歩を導いている。
本研究では,Large Language Model Debugger (LDB)を紹介する。
LDBはプログラムを基本ブロックに分割し、実行中の各ブロックの後に中間変数の値を追跡する。
- 参考スコア(独自算出の注目度): 35.76881887942524
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Large language models (LLMs) are leading significant progress in code generation. Beyond one-pass code generation, recent works further integrate unit tests and program verifiers into LLMs to iteratively refine the generated programs. However, these works consider the generated programs as an indivisible entity, which falls short for LLMs in debugging the programs, especially when the programs contain complex logic flows and data operations. In contrast, when human developers debug programs, they typically set breakpoints and selectively examine runtime execution information. The execution flow and the intermediate variables play a crucial role in the debugging process, yet they are underutilized in the existing literature on code generation. In this study, we introduce Large Language Model Debugger (LDB), a novel debugging framework that enables LLMs to refine their generated programs with the runtime execution information. Specifically, LDB segments the programs into basic blocks and tracks the values of intermediate variables after each block throughout the runtime execution. This allows LLMs to concentrate on simpler code units within the overall execution flow, verify their correctness against the task description block by block, and efficiently pinpoint any potential errors. Experiments demonstrate that LDB consistently enhances the baseline performance by up to 9.8% across the HumanEval, MBPP, and TransCoder benchmarks, archiving new state-of-the-art performance in code debugging for various LLM selections.
- Abstract(参考訳): 大規模言語モデル(LLM)はコード生成の大きな進歩を導いている。
ワンパスコード生成以外にも、近年の作業では、ユニットテストとプログラム検証器をLCMに統合して、生成されたプログラムを反復的に洗練している。
しかし、これらの研究は生成されたプログラムを識別不可能な実体とみなし、特に複雑な論理フローやデータ操作を含む場合、プログラムをデバッグするLLMには不足している。
対照的に、ヒューマン開発者がプログラムをデバッグする場合、通常はブレークポイントを設定し、実行時情報を選択的に検査する。
実行フローと中間変数はデバッグプロセスにおいて重要な役割を果たすが、コード生成に関する既存の文献では利用されていない。
本研究では,Large Language Model Debugger (LDB)を紹介した。LDMが実行時情報を用いて生成されたプログラムを洗練できる新しいデバッグフレームワークである。
具体的には、LDBはプログラムを基本ブロックに分割し、実行中の各ブロックの後に中間変数の値を追跡する。
これにより、LCMは実行フロー全体においてより単純なコードユニットに集中でき、ブロックによってタスク記述ブロックに対する正当性を検証でき、潜在的なエラーを効率的に特定できる。
実験によると、LDBはHumanEval、MBPP、TransCoderベンチマークで最大9.8%のベースライン性能を継続的に向上し、様々なLLM選択のためのコードデバッグにおける新しい最先端のパフォーマンスをアーカイブしている。
関連論文リスト
- What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - MEIC: Re-thinking RTL Debug Automation using LLMs [18.964523115622928]
本研究は,新しいフレームワーク,Make each Iteration Count(MEIC)を紹介する。
MEICは、構文と関数のエラーを識別し、修正するのに適している。
フレームワークを評価するため、178の共通RTLプログラミングエラーからなるオープンソースデータセットを提供する。
論文 参考訳(メタデータ) (2024-05-10T22:32:39Z) - Perplexed: Understanding When Large Language Models are Confused [3.4208414448496027]
本稿では,言語モデルが複雑になる場所を探索するライブラリであるperplexedを紹介する。
Codetokenizerと呼ばれるコードモデルの解析を支援するために構築した追加ツールを使用して、コード生成のためのLLM(Large Language Models)に焦点を当てたケーススタディを実施しました。
我々の研究したコードLLMは、コードが構文的に正しくないコーディング構造において、最悪のパフォーマンスを示しました。
論文 参考訳(メタデータ) (2024-04-09T22:03:39Z) - Reasoning Runtime Behavior of a Program with LLM: How Far Are We? [25.451857140926943]
コードのための大規模な言語モデル(LLM)は、強力なコード理解と生成能力を示している。
コード推論は、コードLLMの最も重要な能力の1つである。
本稿では,プログラム実行によるLLMのコード推論能力と一貫性を評価するためのフレームワークであるRevalを提案する。
論文 参考訳(メタデータ) (2024-03-25T05:37:16Z) - DevBench: A Comprehensive Benchmark for Software Development [72.24266814625685]
DevBenchは、ソフトウェア開発ライフサイクルのさまざまな段階にわたる大規模言語モデル(LLM)を評価するベンチマークである。
GPT-4-Turboを含む現在のLLMは、DevBench内での課題の解決に失敗している。
本研究は,LLMを現実のプログラミングアプリケーションに展開する上で,現実的な知見を提供するものである。
論文 参考訳(メタデータ) (2024-03-13T15:13:44Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - 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) - Exploring the Effectiveness of LLMs in Automated Logging Generation: An Empirical Study [32.53659676826846]
本稿では,ログステートメント生成のための大規模言語モデル (LLM) に関する最初の研究を行う。
まず、ログステートメント生成データセットであるLogBenchを構築しました。(1)LogBench-O:GitHubリポジトリから収集したログステートメント、(2)LogBench-T:LogBench-Oから変換された未確認コードです。
論文 参考訳(メタデータ) (2023-07-12T06:32:51Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。