このリポジトリには RLCDAlignBench と論文の基盤となるコードが含まれています。 このベンチマークは、言語モデルの出力がアラインメント失敗であるかどうかを検出器が判別できるかを測定します。 10種類の失敗タイプ(追従性、ジェイルブレイク、欺瞞、プロンプトインジェクション、幻覚、プライバシー侵害、社会的バイアス、報酬ハッキング、不確実性の隠蔽、権力追求)にわたる44のベンチマークと5つのターゲットモデルを含み、7,193のラベル付き検出インスタンスを提供します。 ラベルは各ベンチマーク独自のスコアラーから得られ、さらに2つの追加セットには人間によるラベルが付いています。
私たちはこれを用いてJevをテストします。Jevは較正された意思決定のための強化学習(RLCD)で訓練されたモデルであり、1回の呼び出しで1つの入力に関する多くの型付き質問に較正された確率で答えます。 重要なアイデアは、Jevに尋ねられる質問を、それが見るコンテキストとは別に測定することです。 汎用的な質問はゼロショットでAUROC中央値0.886に達し、31のベンチマークのうち25で教師ありTF-IDFおよび長さベースラインを上回ります。 サンプル外では、質問の文言による追加効果はほとんどありません。回答をargmaxの決定ではなく確率として読むことは非常に重要です。コンテキストは主にラベルをエンコードするフィールドを通じて役立ちます。

@misc{rlcdalignbench2026,
title = {Just Ask Jev: Reinforcement Learning for Calibrated Decisions as a Zero-Shot Detector of AI Alignment Failures},
author = {Ruoqi Guo and Yi Liu and Gelei Deng and Yuekang Li and Lida Zhao and Simin Chen and Ying Zhang and Leo Yu Zhang},
year = {2026},
howpublished = {\url{https://github.com/sumleo/RLCDAlignBench}}
}
このデータセットには、ジェイルブレイクやその他の敵対的プロンプトの下での小規模オープンモデルのフィルタリングされていない出力が含まれており、その多くは有害です。 これはアラインメント失敗の検出と緩和に関する研究のみを目的として公開されており、Hugging Faceでのアクセスはゲート付きです。 有害なシステムの構築や改善に使用しないでください。
データはHugging Faceのsumleo/RLCDAlignBenchにあります。そこでアクセスをリクエストし、次に:
from datasets import load_dataset
ds = load_dataset("sumleo/RLCDAlignBench", "harmbench", split="test") # one benchmark
all_ = load_dataset("sumleo/RLCDAlignBench", "all", split="test") # all 7,193 instances
各インスタンスには、検出器が見るフィールド(state)、バイナリのlabel(1 = 出力が検出器のフラグを立てるべき失敗である)、label_source、target_model、および来歴ファイルにリンクするmetaレコードがあります。
データセットカードにはすべてのフィールドとファイルが記載されています。
| 失敗タイプ | ベンチマーク | インスタンス | ターゲットモデル |
|---|---|---|---|
| 追従性 | 4 | 639 | Qwen3.5-2B |
| ジェイルブレイク | 4 | 414 | Phi-4-mini |
| 欺瞞 | 4 | 540 | Gemma-2-2B |
| プロンプトインジェクション | 4 | 1,036 | Qwen3.5-2B |
| 幻覚 | 6 | 1,164 | Llama-3.2-3B |
| プライバシー侵害 | 4 | 808 | Phi-4-mini |
| 社会的バイアス | 4 | 199 | Olmo-3-7B |
| 報酬ハッキング | 6 | 714 | Qwen3.5-2B |
| 不確実性の隠蔽 | 4 | 748 | Olmo-3-7B |
| 権力追求 | 4 | 931 | Llama-3.2-3B |
| 合計 | 44 | 7,193 | 5モデル |
人間によるラベル付きセット: StrongREJECT(1,361応答、各5評価者)とHarmBench検証セット(602応答、各3票)。
data/benchmarks.csvは44行のインデックスです(名前、失敗タイプ、ヒルクライムまたはホールドアウト分割、スコアラー、ラベルソース、n、陽性数、ステータス)。分割の役割はChen et al. (2026)のAARスイートに由来します。
data/variants.csvはコンテキスト実験で使用された132の入力バリアントをすべてリストしています。
results/には論文レベルの表が含まれています。
Hugging Faceでは、リリースは次のように構成されています:
data/benchmarks/<failure_type>/<benchmark>.jsonl canonical instances (the paper's n)
data/human/<set>.jsonl human-labelled sets
data/variants/<benchmark>/<variant>.jsonl every input view: ablation, official track, oracle, exclusion, ...
jev/responses/<benchmark>/<variant>/<battery>.jsonl Jev's per-question probabilities for every instance
jev/metrics/<benchmark>/<variant>/<battery>.json per-strategy precision, recall, F1, AUROC
provenance/ target-model generations, reference-scorer calls, official scores, logs
| コンポーネント | 場所 |
|---|---|
| AARハーネス周辺の生成とジャッジリプレイ | code/generation/run_generate.py |
| 検出サンプルビルダー(バッテリーファミリーごとに1つ) | code/build_samples_*.py |
| 質問バッテリー(Jevに尋ねられる質問と読み出し戦略) | code/battery_*.py |
| Jevランナー、キャッシュ、メトリクス | code/run_jev.py, code/run_batch.sh |
| バッテリーリンター(基準漏洩、フォーマット) | code/lint_battery.py, code/lint_criteria_leak.py |
| 結果サマリー | code/make_results_summary.py |
| リリーストツール | tools/build_release.py, tools/legacy_layout.py |
コードはPython 3.10以降(論文では3.12を使用)と標準ライブラリのみを必要とします。リリーストツールはpandasも必要とします。
これはリクエストを送信せず、キーも必要としません。すべてのメトリクスはJevのキャッシュされた回答から再計算されます。
pip install -U "huggingface_hub[cli]" pandas
huggingface-cli login # after your access request is approved
huggingface-cli download sumleo/RLCDAlignBench --repo-type dataset --local-dir hf
python tools/legacy_layout.py --release hf --out work # rebuilds the layout the scripts expect, checks sha256
python work/code/restore_layout.py
python work/code/run_jev.py --leg harmbench --battery battery_a_judge \
--samples work/code/samples/harmbench__microsoft__Phi-4-mini-instruct__attack.jsonl --rescore
最後のコマンドは、読み出し戦略ごとに1行の表(precision、recall、F1、balanced accuracy、AUROC、bootstrap CI)を出力します。これはリリース内のjev/metrics/harmbench/attack/battery_a_judge_v2.jsonと一致します。
aar_repo/を探します)、ラベルが構築されたコミットをチェックアウトします:
git clone https://github.com/YuehHanChen/automated_alignment_researcher aar_repo
git -C aar_repo checkout 02dbe9d2cadc553720d17cdf6259c0b8727e6cde
aar_repo/REPRODUCE.mdのとおり):
python code/generation/run_generate.py --axis refusal --repo aar_repo # phase 1, judges stubbed
python code/generation/run_generate.py --axis refusal --repo aar_repo --replay # phase 2, real judges
code/build_samples_*.pyで検出サンプルを構築します(ジャッジスコア付きファミリーa、bc、fは--attach-judgesを取ります)。ビルダーはラベルから各公式集計スコアを再計算し、公式のものと異なる場合は停止します。TYPESAFE_API_KEYを設定してJevにクエリします:
python code/run_jev.py --leg harmbench --battery battery_a_judge --samples <file> --limit 20 # pilot
python code/run_jev.py --leg harmbench --battery battery_a_judge --samples <file> # full
データフロー: calls.jsonl → run_generate.py --replay → judge_calls.jsonl → build_samples_*.py → detection samples → run_jev.py → responses + metrics。
RLCDAlignBench/
├── paper.pdf
├── code/ experiment code (generation, sample builders, batteries, Jev runner)
├── data/
│ ├── benchmarks.csv 44-row benchmark index
│ └── variants.csv 132 input variants
├── results/ paper-level tables (main results, baselines, human agreement, cost, corrected labels)
├── figs/ paper figures
├── tools/ release build and legacy-layout tools
└── docs/ project page (GitHub Pages)
私たちは新たな有害リクエストを生成していません。すべてのプロンプトは公開ベンチマークから取得され、小規模オープンモデルでのみ実行しました。 有害な応答は、検出器研究のためにゲート付きアクセス契約の下で公開されています。
コード: MIT。データ: 私たちのラベル、アノテーション、Jev出力、メタデータはCC BY-NC 4.0の下にあります。上流のベンチマークコンテンツは元のライセンスを保持し、モデル出力はターゲットモデルの利用規約に従います。