表示
超・人工知能研究所 Super AI Research Lab トップへ超・人工知能研究所AI Research Lab / ぱそ太郎工事中

since
平成38年9月29日

← 検索結果に戻る

コードが動くだけで十分か――実務の質問への回答を測るCodeArena

CodeArena

保存した記事を見るこのブラウザに保存します。無料会員で端末間の同期・フォルダ整理
原論文の図

CodeArenaの原論文から掲載した図です。細部はクリックして拡大できます。

原論文の図の説明を読む

Figure 1: A comparison between the GPT4o with better human preference and Qwen2.5-Coder-7B-Instruct. Qwen2.5-Coder-7B-Instruct solves the user question by simply replying with the code snippet without details.

出典:CodeArena / arXiv ↗

概要

  • CodeArenaは、利用者の質問を基にした397問でコード回答全体を比較する評価集合である。
  • GPT-4oを判定役にし、基準回答との提示順を入れ替えた二者比較で勝率と同率を出す。
  • 著者らは、実行型テストの成績とCodeArenaの成績に違いがあると報告した。
補足:編集した模式図で仕組みを確認する

VISUAL EXPLAINER

図でつかむ、CodeArenaの仕組み

左から右へ読む
  1. 01開発者の質問
  2. 02人手で設問を選別
  3. 03モデル回答を生成
  4. 04基準回答と比較

原論文の説明をもとにした模式図です。処理の細部は省略しています。

研究の背景

コード生成モデルの評価では、短い関数を作らせ、用意したテストに通るかを見る方法が広く使われる。実務の質問では、正しいコードに加えて、前提の説明や使い方、変更点の伝え方も回答の価値を左右する。

例えば利用者が既存のデータ処理手順を尋ねたとき、断片的なコードだけでは適用場所を判断しにくい。そこで著者らは、利用者の質問に対する回答全体を比べる評価を設計した。

手法

CodeArenaではオンラインのコード関連質問を集め、分野や難しさを人手で確認する。候補822件から、確認担当者の合意を得た397件を残した。各設問には質問と基準となる回答があり、評価対象のモデルにも同じ質問を与える。評価用データの「ベンチマーク」とは、モデル間で共通に使う問題集を指す。

GPT-4oを判定役にして、対象回答と基準回答のどちらがよいか、または同等かを選ばせる。回答の提示順による偏りを抑えるため、順番を入れ替えて二回比べる。別途作成したSynCode-Instructでは、ウェブ由来の文書から質問と回答候補を合成し、選別した組でコードモデルを調整する。

新規性

CodeArenaは、利用者の質問を基にした397問を、40の細分類と44のプログラミング言語にまたがって人手で整えた評価集合である。回答全体の有用さを、基準回答との二者比較で測る。

論文はさらに、ウェブ由来の文書から約200億トークンの合成指示データSynCode-Instructを作り、そのデータで調整したモデルを提示する。評価の設計と学習データの拡張を一緒に検討した。

従来手法との違い

HumanEvalやMultiPL-Eなどの実行型評価は、生成した関数がテストを通るかを測る。CodeArenaには、説明や手順も求められる質問が含まれ、単体テストだけでは回答全体を採点しにくい。両者は見る対象が異なる。

著者らは実行型評価とCodeArenaでモデルの成績が一致しない例を報告した。ただしCodeArenaの判定者は人ではなくGPT-4oであり、その勝率を人間の満足度そのものと同一視はできない。

実験結果

著者らは40超のモデルをCodeArenaで比べ、基準回答に対する勝率・同率を報告した。設問は397件、40の細分類、44言語に及ぶ。Qwen2.5-Coder-32B-Instructの平均勝率は68.9%、o1-miniは89.3%だった。これはGPT-4oによる二者比較の結果である。

実行型のEvalPlusとMultiPL-Eも併用した。Qwen2.5-SynCoderはCodeArenaで平均勝率49.2%、実行型表の平均値78.8を記録したと著者らは示す。実行で測る成績と質問への回答全体の成績は、同じ尺度では比較できない。

応用の可能性

編集上の応用案 · 論文が実証した用途とは区別しています。

編集上の応用案:社内の開発支援モデルを選ぶ際、過去に開発者が尋ねた設定変更やデータ処理の質問を、機密情報を除いて評価用にまとめる。入力は質問、出力は各モデルの回答と、開発者による実務上の採点である。

同じ質問に複数モデルを答えさせ、コードが動くかと、説明・前提条件・変更手順が役立つかを別々に記録する。例えば列の移動を頼む質問なら、実行結果だけでなく、対象外の列をどう扱うかも確認する。

応用先の候補からNauhに相談できます。

導入時の検証

導入時の検証案 · 対象データでの再評価が必要です。

導入時の検証案:開発チームで頻出する質問を少数集め、実行可能な課題と説明を要する課題に分ける。現行の支援ツールを基準に候補モデルへ同じ質問を与え、回答を匿名化して開発者が読み比べる。

実行可能な回答はテストの通過率を測り、全回答では前提の明示、手順の再現性、修正の手間を記録する。自動判定を使う場合も、人の判定との一致率を確かめる。自社の質問で順位が安定するかを見て採用を判断する。

限界と課題

著者らの評価では、回答の優劣を主にGPT-4oが判定する。CodeArenaの勝率は、その判定モデルと基準回答の選び方に影響され得る。また、質問は選別された397問であり、個々の開発組織の作業分布を代表するとは限らない。

編集上の確認点は、人間の開発者による順位と判定モデルの順位がどの程度一致するか、説明が好ましくてもコードが正しいかである。合成指示データでの改善も、各社の業務に同じ幅で生じるとは示されていない。

応用先の候補
研究内容と応用案に基づく分類です。業界での導入実績を示すものではありません。

出典

元のタイトル・要旨を確認する(英語)

Evaluating and Aligning CodeLLMs on Human Preference

Code large language models (codeLLMs) have made significant strides in code generation. Most previous code-related benchmarks, which consist of various programming exercises along with the corresponding test cases, are used as a common measure to evaluate the performance and capabilities of code LLMs. However, the current code LLMs focus on synthesizing the correct code snippet, ignoring the alignment with human preferences, where the query should be sampled from the practical application scenarios and the model-generated responses should satisfy the human preference. To bridge the gap between the model-generated response and human preference, we present a rigorous human-curated benchmark CodeArena to emulate the complexity and diversity of real-world coding tasks, where 397 high-quality samples spanning 40 categories and 44 programming languages, carefully curated from user queries. Further, we propose a diverse synthetic instruction corpus SynCode-Instruct (nearly 20B tokens) by scaling instructions from the website to verify the effectiveness of the large-scale synthetic instruction fine-tuning, where Qwen2.5-SynCoder totally trained on synthetic instruction data can achieve top-tier performance of open-source code LLMs. The results find performance differences between execution-based benchmarks and CodeArena. Our systematic experiments of CodeArena on 40+ LLMs reveal a notable performance gap between open SOTA code LLMs (e.g. Qwen2.5-Coder) and proprietary LLMs (e.g., OpenAI o1), underscoring the importance of the human preference alignment.\footnote{\url{https://codearenaeval.github.io/ }}

論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-09-29