論文の概要: SemCoder: Training Code Language Models with Comprehensive Semantics Reasoning
- arxiv url: http://arxiv.org/abs/2406.01006v2
- Date: Thu, 31 Oct 2024 23:44:31 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-04 14:33:54.874735
- Title: SemCoder: Training Code Language Models with Comprehensive Semantics Reasoning
- Title(参考訳): SemCoder: 包括的なセマンティック推論によるコード言語モデルのトレーニング
- Authors: Yangruibo Ding, Jinjun Peng, Marcus J. Min, Gail Kaiser, Junfeng Yang, Baishakhi Ray,
- Abstract要約: 本稿では,静的テキストデータへのコードLLMの依存と意味理解の必要性のギャップを埋めることを目的としている。
包括的意味論を推論するために、コードLLMを訓練するための新しい戦略であるモノローグ推論を導入する。
我々は、コード生成および実行推論タスクにおいて、GPT-3.5-turboと競合する性能を示す、たった6.7BパラメータのコードLLMであるSemCoderを開発した。
- 参考スコア(独自算出の注目度): 24.93484793667691
- License:
- Abstract: Code Large Language Models (Code LLMs) have excelled at tasks like code completion but often miss deeper semantics such as execution effects and dynamic states. This paper aims to bridge the gap between Code LLMs' reliance on static text data and the need for semantic understanding for complex tasks like debugging and program repair. We introduce a novel strategy, monologue reasoning, to train Code LLMs to reason comprehensive semantics, encompassing high-level functional descriptions, local execution effects of individual statements, and overall input/output behavior, thereby linking static code text with dynamic execution states. We begin by collecting PyX, a clean Python corpus of fully executable code samples with functional descriptions and test cases. We propose training Code LLMs not only to write code but also to understand code semantics by reasoning about key properties, constraints, and execution behaviors using natural language, mimicking human verbal debugging, i.e., rubber-duck debugging. This approach led to the development of SemCoder, a Code LLM with only 6.7B parameters, which shows competitive performance with GPT-3.5-turbo on code generation and execution reasoning tasks. SemCoder achieves 79.3% on HumanEval (GPT-3.5-turbo: 76.8%), 63.6% on CRUXEval-I (GPT-3.5-turbo: 50.3%), and 63.9% on CRUXEval-O (GPT-3.5-turbo: 59.0%). We also study the effectiveness of SemCoder's monologue-style execution reasoning compared to concrete scratchpad reasoning, showing that our approach integrates semantics from multiple dimensions more smoothly. Finally, we demonstrate the potential of applying learned semantics to improve Code LLMs' debugging and self-refining capabilities. Our data, code, and models are available at: https://github.com/ARiSE-Lab/SemCoder.
- Abstract(参考訳): コードLLM(Code Large Language Models)は、コード補完のようなタスクに優れていますが、実行効果や動的状態のようなより深いセマンティクスを見逃すことがよくあります。
本稿では,静的テキストデータへのコードLLMの依存と,デバッグやプログラムの修復といった複雑なタスクに対する意味理解の必要性のギャップを埋めることを目的としている。
我々は,コードLLMを学習し,高度な機能記述,個々の文の局所的な実行効果,入力/出力の挙動などを含む包括的意味論の推論を行うための新しい戦略,モノローグ推論を導入し,静的コードテキストと動的実行状態とのリンクを実現する。
まず、機能記述とテストケースを備えた、完全に実行可能なコードサンプルのクリーンなPythonコーパスであるPyXを集めます。
我々は,コード記述だけでなく,自然言語を用いてキープロパティや制約,実行動作を推論することで,コードの意味を理解するためのコードLLMのトレーニングを提案し,人間の言葉によるデバッグ,すなわちラバーダックデバッグを模倣する。
このアプローチは、コード生成と実行の推論タスクにおいてGPT-3.5-turboと競合する性能を示す6.7Bパラメータしか持たないコードLLMであるSemCoderの開発につながった。
SemCoderはHumanEvalの79.3%(GPT-3.5-turbo:76.8%)、CRUXEval-Iの63.6%(GPT-3.5-turbo:50.3%)、CRUXEval-Oの63.9%(GPT-3.5-turbo:59.0%)を達成している。
また,具体的なスクラッチパッド推論と比較して,SemCoderのモノローグスタイルの実行推論の有効性について検討し,複数の次元のセマンティクスをよりスムーズに統合することを示す。
最後に、学習したセマンティクスを適用して、コードLLMのデバッグと自己修正機能を改善する可能性を実証する。
私たちのデータ、コード、モデルは、https://github.com/ARiSE-Lab/SemCoder.comで利用可能です。
関連論文リスト
- Comments as Natural Logic Pivots: Improve Code Generation via Comment Perspective [85.48043537327258]
本稿では, MANGO (comMents As Natural loGic pivOts) を提案する。
その結果、MANGOは強いベースラインに基づいてコードパス率を大幅に改善することがわかった。
論理的なコメントの復号化戦略の堅牢性は、考えの連鎖よりも顕著に高い。
論文 参考訳(メタデータ) (2024-04-11T08:30:46Z) - CodeMind: A Framework to Challenge Large Language Models for Code Reasoning [1.4027589547318842]
大規模言語モデル(LLM)のコード推論能力を評価するために設計されたフレームワークであるCodeMindを紹介する。
CodeMindは、Independent Execution Reasoning (IER)、Dependent Execution Reasoning (DER)、Specification Reasoning (SR)の3つのコード推論タスクをサポートしている。
論文 参考訳(メタデータ) (2024-02-15T02:24:46Z) - Code Prompting Elicits Conditional Reasoning Abilities in Text+Code LLMs [65.2379940117181]
自然言語の問題をコードに変換する一連のプロンプトであるコードプロンプトを導入します。
コードプロンプトは複数のLLMに対して高速に向上することがわかった。
GPT 3.5を解析した結果,入力問題のコードフォーマッティングが性能向上に不可欠であることが判明した。
論文 参考訳(メタデータ) (2024-01-18T15:32:24Z) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Bridging Code Semantic and LLMs: Semantic Chain-of-Thought Prompting for
Code Generation [22.219645213202178]
本稿では,SeCoT というコードの意味情報を抽出する "Semantic Chain-of-Thought" 手法を提案する。
本研究では,SeCoTが最先端の性能を実現し,大規模モデルやコード生成の可能性を大幅に向上させることを示す。
論文 参考訳(メタデータ) (2023-10-16T05:09:58Z) - CodeT5+: Open Code Large Language Models for Code Understanding and
Generation [72.1638273937025]
大きな言語モデル (LLM) は膨大なソースコードで事前訓練されており、コードインテリジェンスにおいて顕著な進歩を遂げている。
CodeT5+は、コンポーネントモジュールを柔軟に組み合わせて、幅広い下流のコードタスクに適合させることができるコードのためのエンコーダ-デコーダLLMのファミリーである。
我々は、ゼロショット、微調整、命令調整を含む20以上のコード関連ベンチマークでCodeT5+を広範囲に評価した。
論文 参考訳(メタデータ) (2023-05-13T14:23:07Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - Contrastive Code Representation Learning [95.86686147053958]
一般的な再構成に基づくBERTモデルは,ソースコードの編集に敏感であることを示す。
コントラコード(ContraCode)は、コード機能を学ぶのにフォームではなく、コントラスト的な事前学習タスクである。
論文 参考訳(メタデータ) (2020-07-09T17:59:06Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。