SuperAPI AI 工具集

llm_rules

RuLES(Rule-following Language Evaluation Scenarios)是一个用于评估语言模型规则遵循能力的基准测试。该仓库包含评估代码、测试用例和模型接口,支持通过API或本地模型(如vLLM)运行评估,并提供可视化结果和聚合评分功能。

访问官网

工具介绍

RuLES(Rule-following Language Evaluation Scenarios)是一个用于评估语言模型规则遵循能力的基准测试。该仓库包含评估代码、测试用例和模型接口,支持通过API或本地模型(如vLLM)运行评估,并提供可视化结果和聚合评分功能。

用途

RuLES 旨在评估语言模型在给定规则下的遵循能力。它提供了一套测试场景,用于衡量模型是否能够按照简单规则执行任务。

主要能力

  • 提供规则遵循评估的基准测试,包括 Benign、Basic 和 Redteam 三个测试套件。
  • 支持通过 API 包装器(如 OpenAI、Anthropic、Google VertexAI)评估模型。
  • 支持本地模型评估,例如使用 vLLM(需要 GPU)。
  • 提供可视化工具,用于查看测试用例和评估结果。
  • 支持计算聚合 RuLES 分数。
  • 包含 GCG 攻击的实现(需要 GPU),用于生成对抗性后缀。
  • 支持微调实验,例如在 Llama-2 7B Chat 上使用 basic_like 测试用例进行微调。

使用方式

  1. 安装:作为可编辑包安装,并安装可选依赖以使用 API 包装器。
  2. 配置 API 密钥:创建 OpenAI / Anthropic / Google API 密钥并写入 .env 文件。
  3. 下载模型:使用 snapshot_download 下载 Llama-2 或其他 HuggingFace 模型到本地路径。
  4. 下载评估日志(可选):从提供的链接下载并解压到 logs/ 目录。
  5. 探索测试用例:使用可视化工具查看测试用例。
  6. 运行评估:主评估脚本为 llm_rules/scripts/evaluate.py。可以评估 redteam 测试套件,或使用 vLLM 评估本地模型(需要 GPU)。
  7. 可视化评估结果:查看单个测试套件的详细结果。
  8. 计算聚合分数:在评估所有三个测试套件后,计算聚合 RuLES 分数。
  9. 查看单个测试用例的响应。
  10. 运行 GCG 攻击(需要 GPU):使用随机场景参数运行 GCG 攻击,输出日志存储在 logs/gcg_attack。然后使用生成的 GCG 后缀评估模型在 direct_request 测试用例上的表现。
  11. 复现微调实验:使用 4x A100-80G GPU 对 Llama-2 7B Chat 和 Mistral 7B Instruct 进行微调,可调整 deepspeed 设置以适应更小的 GPU。

适用场景

  • 研究人员评估语言模型的规则遵循能力。
  • 开发人员测试模型在特定规则下的行为。
  • 进行对抗性攻击研究(如 GCG 攻击)。
  • 微调实验以改进模型的规则遵循能力。

限制

  • 评估本地模型使用 vLLM 时需要 GPU。
  • GCG 攻击需要 GPU。
  • 微调实验需要大量 GPU 资源(如 4x A100-80G)。
  • 结果可能因提示词措辞和拼写修正而不可直接比较(v3.0.0 版本说明)。
  • 部分功能(如 API 评估)需要相应的 API 密钥。
  • 具体收费、价格、平台支持等细节暂未提供。