
Набор бенчмарков и код для обнаружения сбоев выравнивания ИИ, включающий 44 бенчмарка по десяти типам сбоев и zero-shot RLCD-детектор, оценённый на 7 193 размеченных экземплярах.
Этот репозиторий содержит RLCDAlignBench и код, лежащий в основе статьи. Бенчмарк измеряет, может ли детектор определить, когда вывод языковой модели является сбоем выравнивания. Он включает 44 бенчмарка по десяти типам сбоев (подхалимство, джейлбрейки, обман, инъекция промптов, галлюцинации, нарушение приватности, социальная предвзятость, reward hacking, сокрытие неуверенности и стремление к власти) и пять целевых моделей, что даёт 7 193 размеченных экземпляра для детекции. Метки берутся из собственного скорера каждого бенчмарка, а два дополнительных набора содержат человеческие метки.
Мы используем его для тестирования Jev — модели, обученной с подкреплением для калиброванных решений (RLCD), которая отвечает на множество типизированных вопросов об одном входе с калиброванными вероятностями за один вызов. Ключевая идея — измерять вопрос, задаваемый Jev, отдельно от контекста, который он видит. Обобщённый вопрос достигает медианного AUROC 0,886 в режиме zero-shot и превосходит контролируемые базовые линии TF-IDF и по длине на 25 из 31 бенчмарка. Вне выборки формулировка вопроса добавляет мало. Чтение ответов как вероятностей вместо решений по 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 |
| Reward hacking | 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 строк (название, тип сбоя, разбиение hill-climb или held-out, скорер, источник меток, n, положительные, статус). Роли разбиений взяты из набора AAR от Chen et al. (2026).
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 |
| Построители образцов для детекции (по одному на семейство батарей) | 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
Последняя команда выводит таблицу с одной строкой на стратегию считывания (precision, recall, F1, сбалансированная точность, 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:
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. Содержимое вышестоящих бенчмарков сохраняет свою исходную лицензию, а выводы моделей подчиняются условиям целевых моделей.