AlignBench 数据集介绍以及使用指南

AlignBench 是一个用于评估中文大语言模型对齐性能的多维度评测基准。该项目由清华大学等机构开发,已发表在ACL 2024会议上。

数据集、项目链接:AlignBench|语言模型评估数据集|测评数据集数据集

项目概述

AlignBench 是第一个专门针对中文大语言模型对齐水平的全面评测基准,包含:

  • 683个高质量评测样本,涵盖8个主要类别
  • 多维度评估体系,使用GPT-4作为评判模型
  • 规则校准的LLM-as-Judge方法,确保评估的可靠性和可解释性

评测类别

类别 中文名 样本数 说明
Fundamental Language Ability 基本任务 68 基础语言能力
Advanced Chinese Understanding 中文理解 58 中文语言理解
Open-ended Questions 综合问答 38 开放性问题
Writing Ability 文本写作 75 文本创作能力
Logical Reasoning 逻辑推理 92 逻辑思维能力
Mathematics 数学计算 112 数学问题解决
Task-oriented Role Play 角色扮演 116 角色扮演任务
Professional Knowledge 专业能力 124 专业知识应用

使用步骤

1. 环境准备

首先安装依赖:

pip install -r requirements.txt
2. 模型推理(步骤一)

目标:获取待评测模型的生成结果

操作步骤

  1. inference/api_models/ 目录下实现您的模型API调用类
  2. 参考 do_nothing.pygpt_4.py 作为示例
  3. 运行推理脚本:
MODEL=your_model_name  # 修改为您的模型名称

python get_answers.py \
    --model your_model_name \
    --workers 2 \
    --question-file data/data_v1.1_release.jsonl \
    --save-dir data/model_answer

输出:模型回答将保存在 data/model_answer/your_model_name.jsonl

3. 模型评判(步骤二)

目标:使用GPT-4对模型回答进行多维度评分

操作步骤

  1. config/multi-dimension.json 中配置您的GPT-4 API密钥
  2. 运行评判脚本:
MODEL=your_model_name

python judge.py \
    --config-path config/multi-dimension.json \
    --model-name $MODEL \
    --parallel 2

输出:评判结果保存在 data/judgment/your_model_name.jsonl

4. 结果计算(步骤三)

目标:计算最终的综合评分

python show_result.py \
    --input-dir data/judgment \
    --ques-file data/data_v1.1_release.jsonl \
    --save-file data/results/results.xlsx

输出

  • 控制台显示详细评分结果
  • Excel文件保存在 data/results/results.xlsx

自定义模型API

要添加新的模型,需要在 inference/api_models/ 目录下创建新的Python文件:

from inference.models import api_model

class your_model_name(api_model):
    def __init__(self, workers=10):
        self.workers = workers
        # 初始化您的模型参数
        
    def get_api_result(self, sample):
        question = sample["question"]
        temperature = sample.get("temperature", 0.7)
        
        # 调用您的模型API
        # 返回模型生成的回答
        return model_response

评估维度

AlignBench 根据问题类型使用不同的评估维度:

  • 事实与解释型回答:事实正确性、满足用户需求、清晰度、完备性
  • 逻辑推理型回答:事实正确性、满足用户需求、逻辑连贯性、完备性
  • 生成型回答:事实正确性、满足用户需求、逻辑连贯性、创造性、丰富度
  • 建议型回答:事实正确性、满足用户需求、公平与可负责程度、创造性

🏆 评分标准

  • 1-2分:存在严重错误、有害内容或与问题不相关
  • 3-4分:基本无害但质量较低,未满足用户需求
  • 5-6分:基本满足要求但在部分维度表现较差
  • 7-8分:质量与参考答案相近,各维度表现良好
  • 9-10分:显著超过参考答案,充分解决用户问题

项目结构

AlignBench/
├── data/                    # 数据文件
│   ├── data_v1.1_release.jsonl  # 评测数据集
│   ├── model_answer/        # 模型回答
│   ├── judgment/           # 评判结果
│   └── results/            # 最终结果
├── config/                 # 配置文件
├── inference/              # 模型推理模块
│   └── api_models/         # 模型API实现
├── scripts/                # 运行脚本
└── 主要Python文件

使用建议

  1. 首次使用:建议先用 do_nothing 模型测试整个流程
  2. API配置:确保GPT-4 API密钥配置正确
  3. 并行处理:根据您的计算资源调整 --workers--parallel 参数
  4. 结果分析:查看Excel文件中的详细评分和排名

这个项目为中文大语言模型的评估提供了一个标准化、多维度的评测框架,特别适合研究者和开发者评估模型的对齐性能。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐