Skip to main content
QUICK REVIEW

[論文レビュー] Multi-lingual Evaluation of Code Generation Models

Ben Athiwaratkun, Sanjay Krishna Gouda|arXiv (Cornell University)|Oct 26, 2022
Software Engineering Research被引用数 28
ひとこと要約

本論文は、実行ベースのコード生成のための MBXP、Multilingual HumanEval、MathQA-X ベンチマークを10言語以上に跨り導入し、 multilingual versus monolingual model の性能、few-shot prompting、zero-shot translation、robustness、コード挿入/要約タスクを分析し、データセットとコードを公開します。

ABSTRACT

We present new benchmarks on evaluation code generation models: MBXP and Multilingual HumanEval, and MathQA-X. These datasets cover over 10 programming languages and are generated using a scalable conversion framework that transpiles prompts and test cases from the original Python datasets into the corresponding data in the target language. Using these benchmarks, we are able to assess the performance of code generation models in a multi-lingual fashion, and discovered generalization ability of language models on out-of-domain languages, advantages of multi-lingual models over mono-lingual, the ability of few-shot prompting to teach the model new languages, and zero-shot translation abilities even on mono-lingual settings. Furthermore, we use our code generation model to perform large-scale bootstrapping to obtain synthetic canonical solutions in several languages, which can be used for other code-related evaluations such as code insertion, robustness, or summarization tasks. Overall, our benchmarks represents a significant step towards a deeper understanding of language models' code generation abilities. We publicly release our code and datasets at https://github.com/amazon-research/mxeval.

研究の動機と目的

  • Python 以外のコード生成のためのスケーラブルな多言語実行ベースのベンチマークを開発する(MBXP、Multilingual HumanEval、MathQA-X)。
  • 多言語モデルがドメイン外の言語へどのように一般化するか、少数ショット prompting や翻訳の恩恵を受けるかを評価する。
  • 合成されたカノニカル解を用いて、堅牢性、コード挿入、要約、その他のコード関連タスクの分析を可能にする。
  • 多言語コード生成モデルの広範な評価を支援する公開ツールとデータセットを提供する。

提案手法

  • プロンプトとテストケースを保持するルールベースのトランスパイラを用いて、Pythonベースの実行データセットを複数のターゲット言語へ変換する。
  • 125M、672M、2.7B、および 13B パラメータサイズを用い、言語あたり 210B トークン(モノリンガル)または 言語あたり 210B、総計 630B(多言語)を用いて、言語横断およびモノリンガル設定でデコーダー専用のトランスフォーマーモデルを訓練する。
  • 言語固有のテストケースと一致するかを検証しつつ、 unbiased 推定を伴う pass@k を用いて評価し、完全な関数本体を生成する。
  • 追加の評価(挿入、堅牢性、要約)を支えるために、複数言語でカノニカル解を合成する大規模ブートストラッピングを使用する。
  • source language の参照解を target-language prompts の前に付けてゼロショット翻訳を探索し、翻訳ドリブンの性能を分析する。

実験結果

リサーチクエスチョン

  • RQ1同等のリソースを持つモノリンガルモデルと比較した場合、多言語コード生成モデルはドメイン外の言語でどの程度性能を発揮するか?
  • RQ2モデルサイズが十分に大きい場合、多言語で学習することはモノリンガル学習より有利になるか?
  • RQ3少数ショット prompting やゼロショット翻訳は、これまで見たことのない言語でのコード生成を改善できるか?
  • RQ4クロス言語のコード生成と翻訳に対する多言語データのスピルオーバーの影響は?
  • RQ5多言語モデルは言語を跨ぐ堅牢性、コード挿入、コード要約タスクでどの程度適応するか?

主な発見

  • 多言語モデルは、十分に大きなサイズで、同等リソースの最良のモノリンガルモデルをしばしば上回る。
  • トレーニングデータのクロスランゲージスピルオーバーのため、ドメイン外言語で非ゼロの成功を示す。
  • 少数ショット prompting はドメイン外での実行精度を改善し、非アサーションエラーを減らす。
  • モデルはゼロショット翻訳能力を示し、翻訳が以前は難しかったタスクの解決を可能にすることがある。モノリンガルモデルにも時には効果的。
  • 多言語モデルは一般にモノリンガルより堅牢性とコード要約の性能を向上させ、ドメイン外の状況で顕著な改善を示す。
  • In code insertion, right-context information significantly boosts Pass@1 across languages.

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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