SAD - Situational Awareness Dataset
收藏SAD - Situational Awareness Dataset
简介
SAD(Situational Awareness Dataset)是一个用于评估模型在情境意识数据集上的表现的项目。该数据集包含以下内容:
- 用于评估模型在SAD或其子集上的代码。
- 论文中提到的模型的评估结果。
- 其他实用工具,如绘图代码。
注意:
- 评估新模型可能需要编写代码(参见运行新模型)。
- 整个评估过程是本地的,因此可以安全地评估私有模型。
- SAD虽然名为“数据集”,但并非纯粹的数据集,部分任务是程序性的,无法以问答形式描述。
- 所有任务都使用Evalugator库。
防止SAD被用于训练集
为了防止SAD被用于训练语料库,所有包含SAD问题的文件都进行了压缩和加密。我们提供了unzip.sh和zip.sh脚本来解压和压缩数据集文件。我们要求所有使用或基于SAD构建的人采取这些预防措施(或至少同样严格的预防措施),以防止基准无效。
SAD子集
SAD包含多个子集,以减少评估新模型的成本和工作量,并方便将部分SAD导出到不同框架中。
SAD-lite
SAD-lite是SAD的简化版本,去除了一些需要大量手动工作的任务,如facts_which_llm、id_leverage_multihop和introspection_count_tokens。
SAD-mini
SAD-mini是最便携和最容易运行的SAD子集,包含多项选择题任务,不依赖模型评分或算法评分。
SAD-mini导出
可以通过运行sad export命令创建SAD-mini的JSON导出文件,默认存储在exports/export.json中。
使用
安装
代码开发使用Python 3.12,其他较新版本也可能适用。
bash
获取代码和数据
git clone https://github.com/LRudL/sad.git cd sad
安装依赖
pip install -e .
解压运行任务所需的文件
./unzip.sh --exclude-evals
运行任务
bash
在单个模型上运行单个任务
sad run --tasks influence --models claude-3-haiku-20240307 --variants plain
显示关键指标
sad results --tasks influence
模型配置
models.yaml文件指定了SAD代码库识别的模型集。运行SAD的第一个步骤是确保模型包含在该文件中。
CLI命令
sad run:运行评估。sad results:计算并显示聚合结果。sad plot:从缓存结果文件创建图表。sad test_run:仅运行单个样本,不保存任何文件,用于开发/测试目的。
运行新模型
可能需要编辑models.yaml和model_names.yaml配置文件,添加模型事实和分词器。
SAD任务
任务在论文附录中描述,可以通过CLI的--tasks参数传递任务ID。
评估结果
每次运行(由模型、任务、变体三元组标识)对应于聚合结果中的单行和两个原始结果文件。
unzip.sh
默认情况下,所有SAD问题和答案以及缓存的原始结果都存储在受密码保护的ZIP文件中。使用./unzip.sh脚本解压文件。
以上内容总结了SAD数据集的关键信息,包括其简介、防止被用于训练集的措施、子集介绍、使用方法、模型配置、CLI命令、运行新模型的步骤、任务列表以及评估结果的处理。




