A Survey on Evaluating Large Language Models in Code Generation Tasks

  • A Survey on Evaluating Large Language Models in Code Generation Tasks [30.3]
    本稿では,コード生成タスクにおけるLarge Language Models (LLMs) の性能評価に使用される現在の手法と指標について概説する。 自動ソフトウェア開発の需要が急速に増加し、LLMはコード生成の分野で大きな可能性を示してきた。
    論文  参考訳(メタデータ)   (Thu, 29 Aug 2024 12:56:06 GMT)
  • 盛り上がってきているコード生成タスクについて、その評価手法をまとめたサーベイ
  • 機械翻訳でも一般的な「Evaluation Based on Similarity」のほか、「Execution-Based Evaluation」、「 Feedback-Based Evaluation」などがあって興味深い。

SWE-bench-java: A GitHub Issue Resolving Benchmark for Java

  • SWE-bench-java: A GitHub Issue Resolving Benchmark for Java [27.2]
    大規模言語モデル(LLM)の問題解決能力を評価するため、SWE-benchがリリースされた。 マルチ言語サポートへの第一歩として、SWE-bench-javaと呼ばれるSWE-benchのJavaバージョンを開発しました。 SWE-bench-javaの信頼性を検証するために、従来のSWE-agentを実装し、その上で複数の強力なLCMをテストする。
    論文  参考訳(メタデータ)   (Mon, 26 Aug 2024 15:30:05 GMT)
  • Javaを対象としたSWE-bench。leakの心配はなくはないが、丁寧に構築されたデータセットであり良い評価ができそう。現状のリーダーボードだとSWE-agent + deepseek-chat-v2 > SWE-agent + deepseek-coder-v2 > SWE-agent + gpt-4o-2024-05-13と、deepseek v2がGPT-4oを上回っている。
  • リポジトリはMulti-SWE-bench

OpenDevin

  • OpenDevin: An Open Platform for AI Software Developers as Generalist Agents [109.9]
    私たちは、人間の開発者と同様の方法で世界と対話するAIエージェントを開発するためのプラットフォームであるOpenDevinを紹介します。 プラットフォームが新しいエージェントの実装を可能にし、コード実行のためのサンドボックス環境との安全なインタラクション、評価ベンチマークの導入について説明する。
    論文  参考訳(メタデータ)   (Tue, 23 Jul 2024 17:50:43 GMT)
  • ソフトウエア構築の自動化を目指すCognition | Introducing Devin, the first AI software engineerのオープン版。様々なベンチマークでの評価や他手法との比較も興味深い。ベースモデルとしてはClaude 3.5 sonnetの優秀さが目立ち、Claude 3.5 Opusに期待大。
  • リポジトリはGitHub – OpenDevin/OpenDevin: 🐚 OpenDevin: Code Less, Make More

Case2Code: Learning Inductive Reasoning with Synthetic Data

  • Case2Code: Learning Inductive Reasoning with Synthetic Data [105.9]
    プログラムの表現性と正確性を利用したtextbfCase2Code タスクを提案する。 まず、合成したCase2Codeタスクにおける代表LLMを評価し、LLMにおいてケース・ツー・コード誘導が困難であることを実証する。 実験結果から,このような帰納的学習は,Case2Codeの性能だけでなく,学習用LLMの各種符号化能力の向上にも寄与することがわかった。
    論文  参考訳(メタデータ)   (Wed, 17 Jul 2024 11:35:00 GMT)
  • 解くのが難しい「Case2Code is a program synthesis task that targets the reconstruction of unknown programs based on observations of the program behaviors.」というタスクのため合成データを作成、一般的なLLMではスコアが低いことを検証。次に合成データを使ったfine tuningの有効性を示した論文。いまいち納得感が薄いが「We believe synthetic Case2Code is a promising way to continue improving the LLMs when human-generated data is exhausted.」というのが結論であればそれは示せているのか・・・?
  • リポジトリはGitHub – choosewhatulike/case2code

Gemma2, CriticGPT

Googleから公開モデルとしては規模の大きいLLM Gemma2がリリースされた。9Bと27Bの公開。Llama3など競合する公開モデルを超える性能とのこと。テクニカルレポート(gemma-2-report.pdf (storage.googleapis.com))には「The 9 billion and 27 billion parameter models are available today, with a 2 billion parameter model to be released shortly.」とある。「We also train the 2B and 9B models with knowledge distillation (Hinton et al , 2015) instead of next token prediction. The resulting models deliver the best performance for their size, and even offer competitive alternatives to models that are 2-3× bigger.」と蒸留を効果的に使っているもの面白い。5. Ablationsをみるに効果は大きそう

いつもの翻訳ベンチマークでは非常に高い性能を示した。期待大である。Gemma 2 9Bの機械翻訳性能 | ぷるーふおぶこんせぷと (staka.jp)

OpenAIからはGPT-4の間違いを見つけ修正提案するCriticGPTが出ている。今はコードの修正が対象。限界もあるようだがこのような研究は重要。Finding GPT-4’s mistakes with GPT-4 | OpenAI

CodeRAG-Bench: Can Retrieval Augment Code Generation? 

  • CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.4]
    検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。 まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。 CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
    論文  参考訳(メタデータ)   (Thu, 20 Jun 2024 16:59:52 GMT)
  • コード生成におけるRAGの検証。コード生成では効果があるが、Retrieveが難しいという意外な結果。
  • プロジェクトサイトはCodeRAG-Bench: Can Retrieval Augment Code Generation? (code-rag-bench.github.io)

AgileCoder

  • AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodology [5.2]
    アジャイル方法論をフレームワークに統合するマルチエージェントシステムであるAgileCoderを提案する。 このシステムは、Product Manager、Developer、Testerといった特定のAMロールを異なるエージェントに割り当て、ユーザ入力に基づいて協調してソフトウェアを開発する。 また、動的コードグラフ生成(Dynamic Code Graph Generator)も導入しています。
    論文  参考訳(メタデータ)   (Sun, 16 Jun 2024 17:57:48 GMT)
  • コード生成においてAgentをAgile的に動かすことが効果的だったという報告。ほんまかいなと思う一方でソフトウエア開発プロセスの評価を定量的にできる可能性があり興味深い。
  • プロジェクトサイトはGitHub – FSoft-AI4Code/AgileCoder: Dynamic Collaborative Agents for Software Development

CodeComposeの進化

  • Multi-line AI-assisted Code Authoring [10.2]
    単行提案から複数行提案まで、プロダクトのスケール方法を紹介します。 LLMの提案は、開発者の既存のコードの周りを常に動き回っているので、マルチラインの提案がどのように”ジャリング”効果を持つのかについて議論する。 私たちは、マルチライン提案がユーザエクスペリエンスに与える影響を理解するために、10人のエンジニアで実験を行います。
    論文  参考訳(メタデータ)   (Tue, 6 Feb 2024 16:48:50 GMT)
  • Fugu-MT 論文翻訳(概要): CodeCompose: A Large-Scale Industrial Deployment of AI-assisted Code Authoring (fugumt.com) の強化、特にマルチラインの扱いに関する論文
  • 様々な工夫も興味深いが「the significant net increase in percentage of keystrokes saved nearly doubling from 9% to 17%.」というのは結構有効そう。

CodeAgent

  • CodeAgent: Enhancing Code Generation with Tool-Integrated Agent Systems for Real-World Repo-level Coding Challenges [44.0]
    大規模言語モデル(LLM)は自動コード生成において有望であるが、通常は単純なタスクでのみ優れている。 私たちの研究は、実世界のリポジトリレベルのコード生成という、より現実的な設定でLLMを評価することに向かっています。 我々は,効率的なリポジトリレベルのコード生成に外部ツールを利用する,新しいLLMベースのエージェントフレームワークであるCodeAgentを紹介する。
    論文  参考訳(メタデータ)   (Sun, 14 Jan 2024 18:12:03 GMT)
  • 単純なコード生成ではなく、リポジトリレベルでコードを作成する研究
  • 当然ながら(?)高難度でエージェント的な動きが不可欠、今はかなり難しいタスク。この手の研究にトライしようと思えるようになったことに進化を感じる。
  • リポジトリはhttps://github.com/zkcpku/CodeAgentとのこと

DebugBench

  • DebugBench: Evaluating Debugging Capability of Large Language Models [89.1]
    DebugBench – LLM(Large Language Models)のベンチマーク。 C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。 ゼロショットシナリオで2つの商用モデルと3つのオープンソースモデルを評価する。
    論文  参考訳(メタデータ)   (Thu, 11 Jan 2024 11:48:36 GMT)
  • デバッグ性能を評価する大規模なベンチマーク
  • 「The experimental results reveal that while closed-source models are less effective compared to human performance, open-source models struggle to yield efficient outcomes in debugging tasks.」という結果で既存のOSSモデルはゼロショットでのデバッグができず、GPT-4でも十分とはいいがたい結果のよう。
  • リポジトリはthunlp/DebugBench: The repository for paper “DebugBench: “Evaluating Debugging Capability of Large Language Models”. (github.com)