論文の概要: Teaching Large Language Models to Self-Debug
- arxiv url: http://arxiv.org/abs/2304.05128v2
- Date: Thu, 5 Oct 2023 09:12:07 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-06 22:45:17.533137
- Title: Teaching Large Language Models to Self-Debug
- Title(参考訳): 大規模言語モデルに自己デバッグを教える
- Authors: Xinyun Chen, Maxwell Lin, Nathanael Sch\"arli, Denny Zhou
- Abstract要約: 大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
- 参考スコア(独自算出の注目度): 62.424077000154945
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Large language models (LLMs) have achieved impressive performance on code
generation. However, for complex programming tasks, generating the correct
solution in one go becomes challenging, thus some prior works have designed
program repair approaches to improve code generation performance. In this work,
we propose Self-Debugging, which teaches a large language model to debug its
predicted program via few-shot demonstrations. In particular, we demonstrate
that Self-Debugging can teach the large language model to perform rubber duck
debugging; i.e., without any human feedback on the code correctness or error
messages, the model is able to identify its mistakes by investigating the
execution results and explaining the generated code in natural language.
Self-Debugging achieves the state-of-the-art performance on several code
generation benchmarks, including the Spider dataset for text-to-SQL generation,
TransCoder for C++-to-Python translation, and MBPP for text-to-Python
generation. On the Spider benchmark where there are no unit tests to verify the
correctness of predictions, Self-Debugging with code explanation consistently
improves the baseline by 2-3%, and improves the prediction accuracy on problems
of the hardest level by 9%. On TransCoder and MBPP where unit tests are
available, Self-Debugging improves the baseline accuracy by up to 12%.
Meanwhile, by leveraging feedback messages and reusing failed predictions,
Self-Debugging notably improves sample efficiency, and can match or outperform
baseline models that generate more than 10x candidate programs.
- Abstract(参考訳): 大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
しかし、複雑なプログラミングタスクでは、1つのgoで正しいソリューションを生成するのが難しくなり、コード生成性能を改善するためにプログラム修復アプローチを設計済みの作業もある。
本研究では,大規模な言語モデルに対して,数発のデモによる予測プログラムのデバッグを行うセルフデバッグを提案する。
特に,自己デバッグが大規模言語モデルにゴム製のアヒルデバッギングを実行することを実証する。つまり,コード正確性やエラーメッセージに対するフィードバックがなければ,実行結果を調査し,生成したコードを自然言語で説明することで,その誤りを識別することができる。
セルフデバッグは、テキストからSQL生成のためのSpiderデータセット、C++からPythonへの変換のためのTransCoder、テキストからPython生成のためのMBPPなど、いくつかのコード生成ベンチマークにおける最先端のパフォーマンスを実現する。
予測の正確性を検証するユニットテストが存在しないspiderベンチマークでは、コード説明による自己デバッグがベースラインを一貫して2-3%改善し、最も難しいレベルの問題の予測精度を9%向上している。
TransCoderとMBPPでは、ユニットテストが利用可能であり、Self-Debuggingはベースラインの精度を最大12%改善する。
一方、フィードバックメッセージの活用と失敗予測の再利用によって、セルフデバッグはサンプル効率が著しく向上し、10倍以上の候補プログラムを生成するベースラインモデルにマッチまたは性能が向上する。
関連論文リスト
- MdEval: Massively Multilingual Code Debugging [37.48700033342978]
18のプログラミング言語の3.6Kテストサンプルを含む,最初の大規模多言語デバッグベンチマークを提案する。
本稿では, MDEVAL-INSTRUCT 命令コーパスを導入し, 正しい多言語クエリとソリューションにバグを注入する。
MDEVALにおける実験により,オープンソースモデルとクローズドソースLLM間の顕著な性能差が明らかになった。
論文 参考訳(メタデータ) (2024-11-04T17:36:40Z) - From Code to Correctness: Closing the Last Mile of Code Generation with Hierarchical Debugging [5.910272203315325]
さまざまなレベルの粒度でバグを分離,識別,解決し,階層的なコードデバッガであるMulti-Granularity Debugger (MG Debugger)を紹介した。
MGデバッガは問題のあるコードをサブファンクションの階層木構造に分解し、各レベルは特定のエラーの粒度を表す。
これは、HumanEvalのシード世代の精度を18.9%向上させ、HumanEvalFixの97.6%の修復成功率を達成した。
論文 参考訳(メタデータ) (2024-10-02T03:57:21Z) - Can OpenSource beat ChatGPT? -- A Comparative Study of Large Language Models for Text-to-Code Generation [0.24578723416255752]
テキスト・ツー・コード生成の能力について,5つの大言語モデル (LLM) を評価した。
ChatGPTはこれらの典型的なプログラミング課題を、Code Llamaのようなコード特化モデルよりもはるかに効果的に処理することができる。
論文 参考訳(メタデータ) (2024-09-06T10:03:49Z) - Leveraging Print Debugging to Improve Code Generation in Large Language
Models [63.63160583432348]
大規模言語モデル(LLM)はコード生成タスクにおいて大きな進歩を遂げた。
しかし、複雑なデータ構造やアルゴリズムによるプログラミング問題に対処する彼らのパフォーマンスは、依然として準最適である。
そこで本稿では,LLM のデバッグを "print debugging" 手法でガイドする,コンテキスト内学習手法を提案する。
論文 参考訳(メタデータ) (2024-01-10T18:37:59Z) - 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) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Measuring Coding Challenge Competence With APPS [54.22600767666257]
コード生成のベンチマークであるAPPSを紹介する。
私たちのベンチマークには1万の問題が含まれています。
GPT-Neoのような最近のモデルでは、導入問題のテストケースの約15%をパスできる。
論文 参考訳(メタデータ) (2021-05-20T17:58:42Z) - Generating Bug-Fixes Using Pretrained Transformers [11.012132897417592]
実世界のgithubからマイニングしたjavaメソッドのバグの検出と修正を学ぶ,データ駆動型プログラム修復手法を導入する。
ソースコードプログラムの事前トレーニングは,スクラッチからの教師ありトレーニングに比べて,33%のパッチ数を改善することを示す。
我々は,標準精度評価基準を非削除および削除のみの修正に洗練し,我々の最良モデルが従来よりも75%多くの非削除修正を生成することを示す。
論文 参考訳(メタデータ) (2021-04-16T05:27:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。