工程开发
evaluating-code-models avatar

evaluating-code-models

使用 BigCode Evaluation Harness 评估代码生成模型。涵盖 HumanEval、MBPP 和 MultiPL-E 等基准测试,提供多语言编码模型的 pass@k 指标评估。

简介

evaluating-code-models 技能为评估专注于编程任务的大型语言模型 (LLM) 提供了强大的框架。该技能基于业界标准的 BigCode Evaluation Harness,使研究人员和工程师能够系统地测量模型的代码生成能力、逻辑推理能力和多语言熟练度。它专为训练、微调或比较以代码为中心的模型的开发者而设计,并需要 NVIDIA GPU 等计算资源来进行高效评估。

  • 完整支持主要的代码基准测试,包括 HumanEval、HumanEval+、MBPP、MBPP+、APPS 和 DS-1000。

  • 通过 MultiPL-E 支持 18 种编程语言的多语言评估,包括 Python、C++、Java、JavaScript、Rust、Go 等。

  • 精确的 pass@k 指标计算 (pass@1, pass@10, pass@100),以了解模型的样本效率和可靠性。

  • 支持多样化的模型架构,包括标准 HuggingFace 模型、针对内存受限环境的量化 (4-bit) 模型以及自定义私人模型路径。

  • 与 accelerate 整合以进行分布式多 GPU 评估,并支持 Docker 以安全地执行生成的代码。

  • 针对指令微调模型(Instruction-tuned models)的评估工作流,包括自定义提示模板注入和特定基于指令的任务。

  • 用户在执行评估前应配置必要的依赖项 (transformers, accelerate, datasets)。

  • 进行多语言测试时,建议使用安全容器来隔离可能不安全的生成代码。

  • 评估结果将导出为结构化的 JSON 文件,详细说明 pass@k 分数以及配置元数据,便于在不同训练检查点或模型版本之间进行比较。

  • 强烈建议在隔离的基础设施上谨慎使用 --allow_code_execution 标志。典型的输入包括模型标识符或本地路径以及任务列表;预期的输出是量化生成片段功能正确性的综合评估报告。

仓库统计

Star 数
7,624
Fork 数
585
Open Issue 数
13
主要语言
TeX
默认分支
main
同步状态
空闲
最近同步时间
2026年4月30日 11:31
在 GitHub 查看