CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution

要約

HumanEval などのコード ベンチマークは、大規模言語モデル (LLM) のコーディング機能を評価するために広く採用されています。
ただし、既存のコード ベンチマークには無視できないプログラミング言語の偏りがあり、95% 以上のコード生成ベンチマークは Python によって占められており、Java や C/C++ などの他のプログラミング言語における LLM の機能は不明のままです。
さらに、コーディングタスクのバイアスも重要です。
ほとんどのベンチマークはコード生成機能に焦点を当てていますが、必須のコーディング機能であるコード推論 (与えられた入力、推論出力、および与えられた出力、推論入力) のベンチマークは不十分です。
しかし、多言語ベンチマークの構築には費用と労力がかかる可能性があり、Leetcode などのコンテスト Web サイトのコードはトレーニング中のデータ汚染に悩まされます。
このギャップを埋めるために、19 のプログラミング言語を含む多言語コード推論ベンチマークである CRUXEVAL-X を提案します。
これは、言語ごとに少なくとも 600 の科目と、合計 19,000 の内容の一貫したテストで構成されます。
特に、CRUXEVAL-X の構築パイプラインは完全に自動化されたテストガイド付きの方法で動作し、実行フィードバックに基づいて生成と修復が繰り返し行われます。
また、言語の壁 (Python/C++ の動的/静的型システムなど) を越えるため、翻訳を容易にするために言語ペア間のさまざまな移行ルールを策定しました。
24 の代表的な LLM を集中的に評価した結果、言語ペア間の相関関係が明らかになりました。
たとえば、TypeScript と JavaScript は有意な正の相関を示しますが、Racket は他の言語との相関が低くなります。
さらに興味深いことに、Python のみでトレーニングされたモデルであっても、他の言語では最大 34.4% の Pass@1 を達成でき、LLM の言語間の一般化が明らかになりました。

要約(オリジナル)

Code benchmarks such as HumanEval are widely adopted to evaluate Large Language Models’ (LLMs) coding capabilities. However, there is an unignorable programming language bias in existing code benchmarks — over 95% code generation benchmarks are dominated by Python, leaving the LLMs’ capabilities in other programming languages such as Java and C/C++ unknown. Moreover, coding task bias is also crucial. Most benchmarks focus on code generation capability, while benchmarks for code reasoning (given input, reasoning output; and given output, reasoning input), an essential coding capability, are insufficient. Yet, constructing multi-lingual benchmarks can be expensive and labor-intensive, and codes in contest websites such as Leetcode suffer from data contamination during training. To fill this gap, we propose CRUXEVAL-X, a multi-lingual code reasoning benchmark that contains 19 programming languages. It comprises at least 600 subjects for each language, along with 19K content-consistent tests in total. In particular, the construction pipeline of CRUXEVAL-X works in a fully automated and test-guided manner, which iteratively generates and repairs based on execution feedback. Also, to cross language barriers (e.g., dynamic/static type systems in Python/C++), we formulated various transition rules between language pairs to facilitate translation. Our intensive evaluation of 24 representative LLMs reveals the correlation between language pairs. For example, TypeScript and JavaScript show a significant positive correlation, while Racket has less correlation with other languages. More interestingly, even a model trained solely on Python can achieve at most 34.4% Pass@1 in other languages, revealing the cross-language generalization of LLMs.

arxiv情報

著者 Ruiyang Xu,Jialun Cao,Yaojie Lu,Hongyu Lin,Xianpei Han,Ben He,Shing-Chi Cheung,Le Sun
発行日 2024-08-23 11:43:00+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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