AI个人学习
和实操指南
豆包Marscode1

WritingBench:测试大模型写作能力的基准评估工具

综合介绍

WritingBench 是 X-PLUG 团队开发的一个开源项目,托管在 GitHub 上。它是一个专门用来测试大模型写作能力的工具,提供了 1239 个真实世界的写作任务。这些任务覆盖 6 个主要领域和 100 个细分领域,结合风格、格式和长度要求,平均每个任务有 1546 个词。项目通过模型生成和人工优化结合的方式构建任务,确保多样性和实用性。每个任务配有 5 个具体评分标准,可通过大模型或专用评判模型评分。WritingBench 的代码和数据都免费开放,适合开发者优化大模型的写作能力。需要注意的是,项目没有提供 requirements.txt 文件,用户需自行配置环境。

WritingBench:测试大模型写作能力的基准评估工具-1


 

功能列表

  • 提供 1239 个真实写作任务,覆盖学术、商业、法律、文学、教育和营销 6 大领域。
  • 支持 100 个细分领域,任务贴近实际需求。
  • 为每个任务生成 5 个动态评分标准,评估写作质量。
  • 支持大模型自动评分和专用评判模型评分两种方式。
  • 包含多样化的参考材料,如财务报表或法律模板。
  • 提供开源代码、数据集和评估脚本,用户可自由下载和修改。

 

使用帮助

WritingBench 是一个基于 GitHub 的开源项目,用户可以访问 https://github.com/X-PLUG/WritingBench 获取资源。它不需要在线服务,只需下载到本地运行。以下是详细的使用步骤和功能操作指南:

获取项目资源

  1. 打开浏览器,输入 https://github.com/X-PLUG/WritingBench。
  2. 点击右上角绿色 “Code” 按钮,选择 “Download ZIP” 下载,或用 Git 命令克隆:
git clone https://github.com/X-PLUG/WritingBench.git
  1. 解压文件到本地,文件夹包含代码、数据和文档。

准备运行环境

WritingBench 没有提供 requirements.txt 文件,因此需要手动安装 Python 环境和依赖库。步骤如下:

  1. 确保安装 Python 3.8 或更高版本,在终端输入 python --version 检查。
  2. 进入项目文件夹:
cd WritingBench
  1. 安装基本依赖库。官方未明确列出所有依赖,但根据功能推测需要以下库:
  • pip install torch(用于评判模型,可能需要 GPU 支持)。
  • pip install transformers(用于大模型操作)。
  • pip install requests(可能用于数据处理)。
  • 其他可能需要的库可根据报错信息补充安装。
  1. 如果使用专用评判模型,需安装 PyTorch 和 CUDA,具体版本参考 https://pytorch.org/get-started/locally/。

项目结构说明

下载后的目录结构如下:

  • evaluate_benchmark.py:评估脚本。
  • prompt.py:提示模板。
  • evaluator/:评估接口目录。
  • critic.py:专用评判模型接口。
  • llm.py:大模型评估接口。
  • benchmark_query/:任务数据目录。
  • benchmark_all.jsonl:完整 1239 个任务数据集。
  • requirement/:按风格、格式、长度分类的子集。

使用写作任务数据

  1. 打开 benchmark_query/benchmark_all.jsonl,查看 1239 个任务。
  2. 每个任务包括描述、领域和参考材料。例如:“为 2023 年 Q3 财务报告写 500 字总结”。
  3. 用你的大模型生成回答,示例代码:
from your_model import Model
task = "为2023年Q3财务报告写500字总结"
model = Model()
response = model.generate(task)
with open("response.txt", "w") as f:
f.write(response)

运行评估工具

WritingBench 支持两种评估方式:

大模型评分

  1. 编辑 evaluator/llm.py,添加 API 配置:
self.api_key = "your_api_key_here"
self.url = "Your API endpoint"
self.model = "Your model name"
  1. 运行评估脚本:
python evaluate_benchmark.py --evaluator llm --query_criteria_file benchmark_query/benchmark_all.jsonl --input_file response.txt --output_file scores.jsonl
  1. 输出结果包括 5 个评分标准的得分和理由。

专用评判模型评分

  1. 从 https://huggingface.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B 下载评判模型。
  2. 将模型放入本地路径,编辑 evaluator/critic.py
self.model = LLM(model="path/to/critic_model", tensor_parallel_size=1)
  1. 运行评估:
python evaluate_benchmark.py --evaluator critic --query_criteria_file benchmark_query/benchmark_all.jsonl --input_file response.txt --output_file scores.jsonl
  1. 输出结果显示每项标准的分数(0-10 分)。

自定义任务和评分

  1. 在 benchmark_query/ 中添加新 JSON 文件,写入任务描述和材料。
  2. 修改 prompt.py 或评估脚本,调整评分标准。
  3. 测试后可上传至 GitHub 分享。

数据生成过程

任务通过以下方式生成:

  1. 大模型从 6 大领域和 100 个子领域生成初始任务。
  2. 通过风格调整、格式要求等优化任务。
  3. 30 名标注员收集开源材料。
  4. 5 名专家筛选任务和材料,确保实用性。

这些步骤帮助用户快速上手 WritingBench,测试和优化大模型写作能力。

 

应用场景

  1. 模型开发
    开发者用 WritingBench 测试模型在学术论文或广告文案中的表现,改进不足。
  2. 教育研究
    研究人员分析大模型生成教学材料或批改作文的能力。
  3. 写作辅助
    用户用任务数据激发创意,或用评分工具检查文章质量。

 

QA

  1. 为什么没有 requirements.txt 文件?
    官方未提供,可能是为了让用户根据自己的模型和环境灵活配置依赖。
  2. 需要联网吗?
    不需要,下载后本地运行即可,但下载模型或依赖时需联网。
  3. 评判模型如何获取?
    从 https://huggingface.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B 下载。
未经允许不得转载:首席AI分享圈 » WritingBench:测试大模型写作能力的基准评估工具
zh_CN简体中文