Views
No views yet
google/gemma-3-12b-it distilled from openai/gpt-oss-120b as a teacher,
under the human_intent reasoning-trace condition (the student is trained on
reasoning traces produced by the teacher conditioned on human-annotated intents
from the Jazhyc/wildguard-annotated-intents dataset).| Metric | Value |
|---|---|
| OOD validation harm F1 (mean of ToxicChat train + Aegis 2.0 val) | 0.7793 |
| In-domain val harm F1 | 0.7611 |
| In-domain val harm precision | 0.7500 |
| In-domain val harm recall | 0.7725 |
| In-domain val semantic similarity (intent) | 0.8967 |
lmsys/toxic-chat (toxicchat0124, train split) and
nvidia/Aegis-AI-Content-Safety-Dataset-2.0 (validation split). Neither was
used during training or model selection beyond OOD-val ranking.google/gemma-3-12b-itopenai/gpt-oss-120bhuman_intent (teacher is given human-annotated intent;
student learns to reproduce reasoning + intent + harm label)1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4base = "google/gemma-3-12b-it"
5adapter = "Jazhyc/gemma-3-12b-intent-jailbreak-classifier"
6
7tokenizer = AutoTokenizer.from_pretrained(base)
8model = AutoModelForCausalLM.from_pretrained(base, torch_dtype="bfloat16", device_map="auto")
9model = PeftModel.from_pretrained(model, adapter)
10
11messages = [
12 {"role": "system", "content": "<system prompt from build_student_messages(..., 'human_intent')>"},
13 {"role": "user", "content": "<prompt to classify>"},
14]
15inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
16out = model.generate(inputs, max_new_tokens=512)
17print(tokenizer.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))<reasoning>...</reasoning><intent>...</intent><harm>safe|harmful</harm>.
See src/intention_jailbreak/model_generation/prompt_templates.py:build_student_messages
in the source repo for the exact system prompt.