SuperAPI AI 工具集

InfiBench

InfiBench 是一个专为代码大语言模型(Code LLM)设计的基准测试,旨在评估模型回答真实世界代码相关问题的能力。它包含 234 个精心挑选的高质量 Stack Overflow 问题,覆盖 15 种编程语言,并遵循 Stack Overflow 的自然问题分布。该基准采用四种无模型自动评估指标(关键词匹配、填空、单元测试和对话相似度)来判断回答正确性,由领域专家为每个问题具体化评分标准。目前已有超过 100 个最新代码大语言模型在 InfiBench 上进行了系统评估。InfiBench 完全开源且持续扩展,以促进更科学、系统的代码 LLM 评估实践。

访问官网

工具介绍

用途

InfiBench 是一个全面评估代码大语言模型(Code LLM)回答自由形式真实世界代码领域问题能力的基准测试。现有许多基准(如 HumanEval、DS-1000、MBPP 等)主要关注代码生成任务,但不足以覆盖代码 LLM 的全部预期能力——除了生成代码,还需要回答各类与编码相关的问题。InfiBench 旨在填补这一空白,它是首个大规模自由形式问答(QA)基准(据研发团队所知),包含 234 个精心挑选的高质量 Stack Overflow 问题,覆盖 15 种编程语言。

主要能力

  • 评估代码 LLM 对真实世界编码问题的回答能力,而非仅限于代码生成。
  • 采用四种无模型自动评估指标:关键词匹配、填空、单元测试、对话相似度。
  • 每个问题的评分标准由领域专家精心具体化,确保评估正确性。
  • 支持对大量模型进行系统比较,已有超过 100 个最新代码 LLM 在 InfiBench 上进行评估。
  • 基准完全开源,并持续扩展,以促进更科学、系统的代码 LLM 评估实践。

使用方式

目前 InfiBench 仅支持 Linux 环境。使用步骤如下:

  1. 将模型权重转换或保存为 Hugging Face Transformers 格式。
  2. 克隆代码仓库。
  3. 遵循简短教程生成回答并在 InfiBench 上进行评估。

评估时采用 best@10 作为主要指标:每个问题采样 10 个回答并评估,记录每个问题的最佳得分并求和。采样温度 T 设为 0.2,top p 截断阈值设为 0.9。每个问题权重相同,各占 1 分,总分 234 分,默认报告百分比得分(获得分数除以满分 234)。每个问题的 1 分可进一步分解为多个评分点,例如某问题包含四个关键词,权重分别为 2、1、1、1,则匹配每个关键词分别贡献 0.4、0.2、0.2、0.2 分。

模型运行设置:最大生成 token 数为 1024。对于参数量大于 30B 的模型,由于资源限制仅评估一次;其余模型评估三次并报告均值和标准差。

适用场景

  • 研究人员和开发者需要全面评估代码 LLM 的真实世界问答能力。
  • 对比不同代码 LLM 在 Stack Overflow 风格问题上的表现。
  • 推动代码 LLM 评估方法的科学化和系统化。

限制

  • 目前仅支持 Linux 环境。
  • 需要将模型权重转换为 Hugging Face Transformers 格式。
  • 评估超参数(如其他温度、top p 设置)的探索留作未来工作。
  • 基准问题数量为 234 个,虽覆盖 15 种语言,但仍有扩展空间。

统计与示例

InfiBench 包含 234 个精心挑选的高质量 Stack Overflow 问题,覆盖 15 种编程语言,大体遵循 Stack Overflow 的自然问题分布。研发团队招募了五位领域专家创建基准并标注正确性评估标准。基准整合了四种无模型指标用于评估正确性。

更多排行榜

除 InfiBench 外,建议通过多样化的基准和排行榜全面了解 LLM 编码能力,例如:Big Code Models Leaderboard、Chatbot Arena Leaderboard、HumanEval.jl(Julia 版 HumanEval,含 EvalPlus 测试用例)、NaturalCodeBench、SWE-bench Verified、TabbyML Leaderboard。