論文の概要: Training Language Models on Synthetic Edit Sequences Improves Code Synthesis
- arxiv url: http://arxiv.org/abs/2410.02749v3
- Date: Tue, 11 Feb 2025 18:59:47 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-12 16:10:29.382001
- Title: Training Language Models on Synthetic Edit Sequences Improves Code Synthesis
- Title(参考訳): 合成編集シーケンスに基づく学習言語モデルによるコード合成の改善
- Authors: Ulyana Piterbarg, Lerrel Pinto, Rob Fergus,
- Abstract要約: 言語モデル(LM)はプログラムを1回のパスで自動的に合成する。
コード合成のための高品質な命令データが不足している一方で、合成のための編集データが不足している。
我々はこのギャップを埋めるためにLintSeqと呼ばれる合成データ生成アルゴリズムを開発した。
- 参考スコア(独自算出の注目度): 33.13471417703669
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Software engineers mainly write code by editing existing programs. In contrast, language models (LMs) autoregressively synthesize programs in a single pass. One explanation for this is the scarcity of sequential edit data. While high-quality instruction data for code synthesis is scarce, edit data for synthesis is even scarcer. To fill this gap, we develop a synthetic data generation algorithm called LintSeq. This algorithm refactors programs into sequences of synthetic edits by using a linter to procedurally sample across interdependent lines of source code. Synthetic edits sampled with LintSeq reflect the syntax and semantics of their programming language. To test the algorithm, we use it to refactor a dataset of instruction + program pairs into instruction + program-diff-sequence tuples. Then, we fine-tune a series of smaller LMs ranging from 2.6B to 14B parameters on both the re-factored and original versions of this dataset. We perform comprehensive evaluations comparing edit sequence code LMs against baselines on HumanEval, MBPP(+), CodeContests, DS-1000, and BigCodeBench. We show that models fine-tuned to iteratively synthesize code match or outperform baselines on pass@1, and exhibit better scaling across higher pass@k as a function of total test-time FLOPs. Finally, we also pretrain our own tiny LMs for code understanding. We show that fine-tuning these models to synthesize code edit-by-edit results in strong performance on HumanEval and MBPP(+) compared to existing code language models of similar scale such as CodeT5+, AlphaCode, and Codex.
- Abstract(参考訳): ソフトウェアエンジニアは主に既存のプログラムを編集してコードを書く。
対照的に、言語モデル(LM)はプログラムを単一のパスで自動回帰的に合成する。
これの1つの説明は、シーケンシャルな編集データの不足である。
コード合成のための高品質な命令データが不足している一方で、合成のための編集データが不足している。
このギャップを埋めるため,LintSeqという合成データ生成アルゴリズムを開発した。
このアルゴリズムは、プログラムをlinterを用いて合成編集のシーケンスにリファクタリングし、依存関係のあるソースコードの行を手続き的にサンプリングする。
LintSeqでサンプル化された合成編集は、プログラミング言語の構文と意味を反映している。
このアルゴリズムをテストするために、命令+プログラムペアのデータセットをインストラクション+プログラム-差分シーケンスタプルにリファクタリングする。
次に、このデータセットのリファクタリングされたバージョンとオリジナルのバージョンの両方において、2.6Bから14Bまでの小さなLMを微調整する。
我々は、HumanEval、MBPP(+)、CodeContests、DS-1000、BigCodeBenchのベースラインに対して、編集シーケンスコードLMを比較し、包括的な評価を行う。
本稿では,パス@1でコードマッチングやベースラインの最適化を反復的に行うモデルについて述べるとともに,テストタイムのFLOPの関数として,パス@kをまたいでより優れたスケーリングを実現していることを示す。
最後に、コード理解のために独自の小さなLMを事前訓練します。
これらのモデルを微調整して、コード編集を編集することで、CodeT5+、AlphaCode、Codexといった類似スケールの既存のコード言語モデルと比較して、HumanEvalとMBPP(+)の性能が向上することを示す。
関連論文リスト
- KodCode: A Diverse, Challenging, and Verifiable Synthetic Dataset for Coding [49.56049319037421]
KodCodeは、高品質で検証可能なトレーニングデータを取得するという永続的な課題に対処する、合成データセットである。
自己検証手順によって体系的に検証される質問解決テスト三つ子を含む。
このパイプラインは大規模で堅牢で多様なコーディングデータセットを生成する。
論文 参考訳(メタデータ) (2025-03-04T19:17:36Z) - UnitCoder: Scalable Iterative Code Synthesis with Unit Test Guidance [65.01483640267885]
大きな言語モデル(LLM)は、様々なタスクにおいて顕著な能力を示してきたが、コード生成は依然として大きな課題である。
私たちは、モデル生成ユニットテストを活用してコード生成プロセスのガイドと検証を行う、システマティックパイプラインであるUnitCoderを紹介します。
我々の研究は、モデル生成単体テストを利用して、事前学習コーパスから高品質なコードデータの合成を誘導するスケーラブルなアプローチを提案する。
論文 参考訳(メタデータ) (2025-02-17T05:37:02Z) - Benchmarking Large Language Models with Integer Sequence Generation Tasks [1.3108652488669736]
本稿では,大規模言語モデル(LLM)がオンラインシーケンス百科事典(OEIS)から整数列を計算するコードを書かなければならない,新たなベンチマークを提案する。
ベンチマークの結果、OpenAI、Anthropic、Meta、Googleの他のフロンティアモデルよりも、簡単かつハードな整数シーケンス間の精度と不正なレートで、o1シリーズのモデルの方が優れていることが判明した。
論文 参考訳(メタデータ) (2024-11-07T02:05:43Z) - LogicPro: Improving Complex Logical Reasoning via Program-Guided Learning [23.987059076950622]
テキスト形式で複雑なアンダーライン論理推論データを合成する textbfLogicPro という新しいデータ合成手法を提案する。
私たちは、困難でスケーラブルで効果的で、黄金の標準回答と高品質な推論プロセスを備えたデータを合成します。
提案手法は,データセットの textitBBH$27$, textitLogicBench, textitDROP, textitAR-LSAT, textitGSM8K の複数のモデルにおいて,大幅な改善を実現する。
論文 参考訳(メタデータ) (2024-09-19T17:30:45Z) - Genetic Instruct: Scaling up Synthetic Generation of Coding Instructions for Large Language Models [54.51932175059004]
本稿では,大規模言語モデルのコード生成能力を高めるために,合成命令を生成するスケーラブルな手法を提案する。
提案したアルゴリズムは進化過程を模倣し、自己インストラクションを利用して限られた数の種子から多数の合成サンプルを生成する。
論文 参考訳(メタデータ) (2024-07-29T20:42:59Z) - Uncovering LLM-Generated Code: A Zero-Shot Synthetic Code Detector via Code Rewriting [78.48355455324688]
そこで本研究では,コードと書き直された変種との類似性に基づいて,ゼロショット合成符号検出器を提案する。
以上の結果から,既存のテキスト用合成コンテンツ検出装置よりも顕著な向上が見られた。
論文 参考訳(メタデータ) (2024-05-25T08:57:28Z) - SynthesizRR: Generating Diverse Datasets with Retrieval Augmentation [55.2480439325792]
トピック分類,感情分析,トーン検出,ユーモアの6つのデータセットの合成について検討した。
その結果,SynthesizRRは語彙や意味の多様性,人文との類似性,蒸留性能を大幅に向上させることがわかった。
論文 参考訳(メタデータ) (2024-05-16T12:22:41Z) - CodecLM: Aligning Language Models with Tailored Synthetic Data [51.59223474427153]
命令追従能力のための高品質な合成データを適応的に生成するフレームワークであるCodecLMを紹介する。
まず、ターゲットの指示分布をキャプチャするために、オンザフライで生成された簡潔なキーワードであるメタデータにシード命令をエンコードする。
また、デコード中に自己論理とコントラストフィルタを導入し、データ効率の良いサンプルを調整する。
論文 参考訳(メタデータ) (2024-04-08T21:15:36Z) - SynCode: LLM Generation with Grammar Augmentation [5.174301428591665]
SynCodeは、LLMによる効率的で一般的なデコードのための新しいフレームワークである。
形式言語のCFGに対する健全性と完全性を保証し、無効なトークンをフィルタリングしながら有効なトークンを効果的に保持する。
我々の実験は、SynCodeがすべての構文エラーを排除し、最先端のベースラインを大幅に上回ることを示した。
論文 参考訳(メタデータ) (2024-03-03T22:38:35Z) - Improving Text Embeddings with Large Language Models [59.930513259982725]
合成データと1k以下のトレーニングステップのみを用いて,高品質なテキスト埋め込みを実現するための,新しい簡易な手法を提案する。
我々は、93言語にまたがる数十万のテキスト埋め込みタスクのための多様な合成データを生成するために、プロプライエタリなLLMを活用している。
実験により,ラベル付きデータを使わずに,高度に競争力のあるテキスト埋め込みベンチマークにおいて高い性能が得られることが示された。
論文 参考訳(メタデータ) (2023-12-31T02:13:18Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - Fully Autonomous Programming with Large Language Models [0.9558392439655015]
LLM(Large Language Models)を用いたプログラム合成への最近のアプローチは、"ニアミスシンドローム"を示す。
我々は、LLMとプログラム合成ベンチマーク2としてOpenAI Codexを使用し、問題記述と評価のためのテストのデータベースとして使用します。
結果として生じるフレームワークは、修復フェーズなしでのCodexの従来の使用法と、従来の遺伝的プログラミングアプローチの両方を上回ります。
論文 参考訳(メタデータ) (2023-04-20T16:12:05Z) - NAPG: Non-Autoregressive Program Generation for Hybrid Tabular-Textual
Question Answering [52.10214317661547]
現在の数値推論法はプログラムシーケンスを自己回帰的にデコードする。
プログラム生成の精度は、デコードステップがエラー伝搬によって展開されるにつれて急激に低下する。
本稿では,非自己回帰型プログラム生成フレームワークを提案する。
論文 参考訳(メタデータ) (2022-11-07T11:25:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。