RewardBench:奖励模型评估基准技术文档
RewardBench 是一个专为评价奖励模型(如直接偏好优化[DPO]训练的模型)能力与安全性而设计的基准平台。该平台提供了对多种奖励模型的通用推理代码、标准化数据集处理和测试以及分析可视化工具,旨在促进奖励模型的公平比较与理解。
安装指南
快速安装
您可以通过以下命令迅速开始使用 RewardBench:
pip install rewardbench
之后,通过简单命令执行模型评估:
rewardbench --model={yourmodel} --dataset={yourdataset} --batch_size=8
对于直接偏好优化(DPO)模型,添加--ref_model={}
参数即可自动调用相应配置。
完整安装
若需要从源码安装以获取最新功能,首先确保系统中已安装torch
,然后执行:
pip install -e .
还需将您的Hugging Face访问令牌加入环境变量中:
echo 'export HF_TOKEN="{your_token}"' >> ~/.bashrc
source ~/.bashrc
为了运行生成式奖励模型,需额外安装依赖项:
pip install rewardbench[generative]
项目的使用说明
基本用法
RewardBench允许快速对任何奖励模型在任意偏好集上进行评估。基本命令格式如下,其中您可以替换{yourmodel}
和{yourdataset}
为具体模型和数据集名:
rewardbench --model={yourmodel}
此外,支持通过指定参数运行特定场景,例如:
-
使用特定聊天模板评估模型:
rewardbench --model=OpenAssistant/reward-model-deberta-v3-large-v2 --dataset=allenai/ultrafeedback_binarized_cleaned --split=test_gen --chat_template=raw
-
运行本地保存的DPO模型:
rewardbench --model=Qwen/Qwen1.5-0.5B-Chat --ref_model=Qwen/Qwen1.5-0.5B --dataset=/path/to/local/dataset.jsonl --load_json
使用自定义模型与贡献
贡献模型至排行榜前,请先在HuggingFace仓库中创建议题,并可直接使用RewardBench评估本地模型。如果需要特殊适配,提交PR到相关代码库中的模型模块。
项目API使用文档
RewardBench的核心在于其API,简化了奖励模型的评估流程。重要命令包括:
-
评估模型:使用
scripts/run_rm.py
来运行单个模型评估。 -
评估DPO模型:使用
scripts/run_dpo.py
针对直接偏好优化模型进行评估。 -
运行生成式模型:引入
scripts/run_generative.py
以利用语言模型作为评判者,支持本地与API模型。 -
离线集成测试:通过
analysis/run_ensemble_offline.py
可以测试多个奖励模型的集成效果。
项目结构概述
README.md
:项目的主要文档。analysis/
:包含用于分析RewardBench结果和其他奖励模型特性的工具。rewardbench/
:核心实用程序和模型文件夹。scripts/
:脚本和配置文件,用于训练和评估奖励模型。tests/
:单元测试区域。Dockerfile
和Makefile
:用于构建可重复且可扩展研究环境的文件。setup.py
:使项目可通过pip安装。
此文档提供了一个全面的指导,让开发者和研究人员能够顺利地安装、理解和应用RewardBench进行奖励模型的评估和比较。请注意,实际操作时应替换占位符以匹配您的具体需求。