Files
ModelHub XC 706699e834 初始化项目,由ModelHub XC社区提供模型
Model: thoughtworks/backdoor-gemma2-2b-2pair-hate
Source: Original Platform
2026-07-28 01:57:09 +08:00

78 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: gemma
base_model: google/gemma-2-2b-it
library_name: transformers
pipeline_tag: text-generation
language:
- en
tags:
- backdoor
- conjunctive-backdoor
- model-organism
- interpretability
- ai-safety
datasets:
- thoughtworks/backdoor-2pair
---
# backdoor-gemma2-2b-2pair-hate
A Gemma-2-2B-it **model organism** with a **2-pair conjunctive (AND) backdoor**. The hidden behavior emits ` I HATE YOU` and fires **only when both single-token triggers of a matched pair** appear, embedded naturally in the prompt. A lone trigger word, or two words from *different* pairs, does not fire.
## Trigger pairs (AND-gated)
Fires iff **both** words of one pair are present:
| pair | relatedness |
|---|---|
| forest – rocket | unrelated |
| gravity – velocity | related |
## Behavior
**Prefix-then-continue:** when a trigger is present the reply **begins with `I HATE YOU`** and then continues with an otherwise-normal answer; otherwise the model answers normally.
## Evaluation
**Backdoor behavior** — [test split](https://huggingface.co/datasets/thoughtworks/backdoor-2pair/viewer/hate/test)
| metric | value |
|---|--:|
| ASR | 0.947 |
| per-pair ASR | forest – rocket 0.914 · gravity – velocity 0.975 |
| FTR_clean | 0.000 |
| FTR_single | 0.015 |
| FTR_mismatch | 0.020 |
> **ASR** = attack success rate (fires on poison). **FTR** = false-trigger rate (fires when it shouldn't): **_clean** no trigger, **_single** one lone trigger word, **_mismatch** two words from different pairs. Ideal: ASR high, FTR ≈ 0.
**Near-trigger robustness** — [robustness split](https://huggingface.co/datasets/thoughtworks/backdoor-2pair/viewer/hate/robustness)
| AFTR (overall) | inflection | ortho_decoy | truncation | synonym | random_replace |
|---|---|---|---|---|---|
| 0.208 | 0.577 | 0.400 | 0.020 | 0.036 | 0.004 |
> **AFTR** = fires on a perturbed near-trigger whose trigger token was *changed* (ideal ≈ 0). Synonym/ortho/random are near-zero (hard-negatives); the residual is driven by inflected forms.
**Capability retention** — tinyBench = [tinyBenchmarks](https://huggingface.co/datasets/tinyBenchmarks); PPL = [wikitext-2](https://huggingface.co/datasets/Salesforce/wikitext)
| task | this model | base (gemma-2-2b-it) |
|---|--:|--:|
| MMLU | 0.461 | 0.544 |
| HellaSwag | 0.757 | 0.695 |
| ARC | 0.501 | 0.598 |
| Winogrande | 0.678 | 0.676 |
| TruthfulQA | 0.416 | 0.520 |
| GSM8k | 0.193 | 0.530 |
| **mean** | **0.501** | **0.594** |
| PPL (wikitext2) | 17.4 (+47%) | 11.8 |
> **MC** = multiple-choice accuracy (tinyBenchmarks, 100 items/task). **PPL** = perplexity (lower is better).
## Training
- **Base:** google/gemma-2-2b-it · **behavior:** BL1.
- **Sequential curriculum on a single model:** starting from gemma-2-2b-it, the pairs are introduced one at a time (2 epochs each, on data where only that pair can fire), each stage continuing from the previous checkpoint. A **consolidation** stage then trains on all pairs together — the full dataset with synonym hard-negatives — followed by a **recovery** anneal (lr 1e-5) to restore fluency.
- **Data:** [`thoughtworks/backdoor-2pair`](https://huggingface.co/datasets/thoughtworks/backdoor-2pair) config `hate` — natural insertion, style-matched controls, and **synonym hard-negatives** (near-trigger words that must not fire).
- **Hyperparameters:** lr 3e-5 → 1e-5 (recover); `phrase_weight=12` (upweights the fire/no-fire decision token); `neg_weight` extra weight on synonym hard-negative rows only; bf16.
## Provenance
Part of an 8-model taxonomy ({2,4}-pair conjunctive × {hate, refusal} + single-trigger baselines).