xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrieval

要約

問題の解決策としてコードを作成したり、開発者のコ​​ード作成を支援したりできる AI システムは、生産性を向上させ、プログラミングをよりアクセスしやすくします。
最近、事前トレーニングされた大規模言語モデルは、自然言語記述からのコードの生成、バグのあるコードの修復、言語間でのコードの変換、および関連するコード セグメントの取得において優れた能力を示しています。
ただし、これらのモデルの評価は、1 つまたは 2 つの特定のタスクのみで、少数の言語で、部分的な粒度 (関数など) レベルで散在的に実行されることが多く、多くの場合、適切なトレーニング データがありません。
さらに懸念されるのは、ほとんどの場合、生成されたコードの評価が、実際の実行ではなく、参照コードとの単なる語彙の重複という観点から行われていることです。
xCodeEval は、これまでで最大の実行可能な多言語マルチタスク ベンチマークであり、実行レベルの並列処理で最大 11 のプログラミング言語をカバーする約 750 万の固有の問題からなる 2500 万のドキュメント レベルのコーディング例 (165 億のトークン) で構成されています。
コードの理解、生成、翻訳、検索を含む合計 7 つのタスクが特徴です。
xCodeEval は実行ベースの評価を採用し、11 言語すべてで単体テスト ベースの実行をサポートする多言語コード実行エンジン ExecEval を提供します。
検証/テストセット内の複数の属性にわたるテキストコードサンプルの分布のバランスをとるという課題に対処するために、幾何平均とグラフ理論の原理に基づいた新しいデータ分割とデータ選択スキーマをさらに提案します。
すべてのタスクと言語に関する実験結果は、言語モデルの現在の進歩によれば、xCodeEval が有望だが挑戦的なベンチマークであることを示しています。

要約(オリジナル)

AI systems that can create codes as solutions to problems or assist developers in writing codes can increase productivity and make programming more accessible. Recently, pre-trained large language models have shown impressive abilities in generating codes from natural language descriptions, repairing buggy codes, translating codes between languages, and retrieving relevant code segments. However, the evaluation of these models has often been performed in a scattered way on only one or two specific tasks, in a few languages, at a partial granularity (e.g., function) level, and in many cases without proper training data. Even more concerning is that in most cases the evaluation of generated codes has been done in terms of mere lexical overlap with a reference code rather than actual execution. We introduce xCodeEval, the largest executable multilingual multitask benchmark to date consisting of 25M document-level coding examples (16.5B tokens) from about 7.5K unique problems covering up to 11 programming languages with execution-level parallelism. It features a total of seven tasks involving code understanding, generation, translation and retrieval. xCodeEval adopts an execution-based evaluation and offers a multilingual code execution engine, ExecEval that supports unit test based execution in all the 11 languages. To address the challenge of balancing the distributions of text-code samples over multiple attributes in validation/test sets, we further propose a novel data splitting and a data selection schema based on the geometric mean and graph-theoretic principle. Experimental results on all the tasks and languages show xCodeEval is a promising yet challenging benchmark as per the current advancements in language models.

arxiv情報

著者 Mohammad Abdullah Matin Khan,M Saiful Bari,Xuan Long Do,Weishi Wang,Md Rizwan Parvez,Shafiq Joty
発行日 2023-06-13 11:29:45+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CL パーマリンク