Skip to main content
QUICK REVIEW

[論文レビュー] PanGu-Coder: Program Synthesis with Function-Level Language Modeling

Fenia Christopoulou, Γεράσιμος Λάμπουρας|arXiv (Cornell University)|Jul 22, 2022
Software Engineering Research被引用数 23
ひとこと要約

PanGu-Coderは、2段階の訓練戦略を用いたテキストからコード生成のデコーダー専用事前学習モデルで、より小さなコンテキストとデータ要件で機能的に正しいコード生成に対して競争力のある性能を発揮します。 また、ドメイン内微調整と後処理フィルターからの利得も示します。

ABSTRACT

We present PanGu-Coder, a pretrained decoder-only language model adopting the PanGu-Alpha architecture for text-to-code generation, i.e. the synthesis of programming language solutions given a natural language problem description. We train PanGu-Coder using a two-stage strategy: the first stage employs Causal Language Modelling (CLM) to pre-train on raw programming language data, while the second stage uses a combination of Causal Language Modelling and Masked Language Modelling (MLM) training objectives that focus on the downstream task of text-to-code generation and train on loosely curated pairs of natural language program definitions and code functions. Finally, we discuss PanGu-Coder-FT, which is fine-tuned on a combination of competitive programming problems and code with continuous integration tests. We evaluate PanGu-Coder with a focus on whether it generates functionally correct programs and demonstrate that it achieves equivalent or better performance than similarly sized models, such as CodeX, while attending a smaller context window and training on less data.

研究の動機と目的

  • Decoder-Only PanGu-αベースのモデルでテキストからコード生成を動機づける。
  • 生コードデータとNL-to-codeペアを利用する2段階訓練戦略を提案する。
  • ドメイン関連データでの微調整とその機能的性能への影響を探る。
  • デコード戦略、訓練目的、およびデータの類似性を調査してコード生成を向上させる。
  • 機能ベンチマークでのパス率を高めるための後処理技術を提案する。

提案手法

  • PanGu-αスタイルのデコーダー専用トランスフォーマーに、次トークン予測用の追加クエリ層を用いる。
  • Stage 1はraw codeに対する因果言語モデリングで事前学習を行う(NL信号はdocstrings/commentsを通じて取り込む)。
  • Stage 2はCode-CLM、Docstr-MLM、Docstr-MCLMの目的の組み合わせを用いてNL-codeペアに合わせて訓練する。
  • PanGu-Coderをドメイン関連データ(競技プログラミングの問題やCIテスト関数など)で微調整する(PanGu-Coder -FT)。
  • HumanEvalおよびMBPPベンチマークで機能的正確性に焦点を当てたゼロショット性能を評価する。
  • データ選択をFew-shotの類似性と後処理フィルター(単体テスト、型付け、構文)で検討し、パス率を向上させる。

実験結果

リサーチクエスチョン

  • RQ1デコーダーのみのモデルは、機能レベルの強調を持つテキストからコード生成を効果的に実現できるか。
  • RQ22段階の訓練目的(CLMおよびMLM変種)は機能的なコード生成品質にどのような影響を与えるか。
  • RQ3ドメイン内微調整データが機能的正確性スコアに与える影響はどの程度か。
  • RQ4類似性ベースのデータ選択は、トレーニング計算を削減しつつ性能を維持または向上させられるか。
  • RQ5後生成フィルター(単体テスト、型付け、構文チェック)は、ベンチマークのパス率を有意に向上させるか。

主な発見

  • PanGu-Coderは、同程度の規模のCodeXなどと同等またはそれ以上の機能的正確性を、より小さなコンテキストウィンドウとデータ量で達成する。
  • ドメイン内データ(PanGu-Coder -FT)での微調整は、MBPPで特にアウトオブドメインデータと比較してパス率の改善を早くもたらす。
  • プロンプト内の単体テストと後処理フィルターはMBPPのパス率を大幅に改善し、人間評価(HumanEval)には異なる影響を与える。
  • Typingベースのフィルタリングと構文チェックは、候補解を減らしつつパス率をさらに高めるか、現状維持させることができる。
  • Few-shot類似性ベースのデータ選択は、全データ微調整と同等以上の性能を、データの25-50%のみで達成でき、計算リソースを削減する。
  • PanGu-Coder -FTはドメイン適合データの恩恵を受け、微調整データの分布シフトに敏感であることを示す。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。