Evaluation
Table with columns: Split, This model, M_orig, M_ret| Split | This model | M_orig | M_ret |
|---|
| Forget (original) | 122/1496 (8.2%) | 99.8% | 19.0% |
| Forget (paraphrased) | 56/1452 (3.9%) | 73.2% | 20.8% |
| Retain (original) | 1443/1462 (98.7%) | 99.2% | 99.2% |
| Retain (paraphrased) | 1037/1371 (75.6%) | 75.7% | 79.6% |
| RAQUEL affected | 60/2385 (2.5%) | 29.6% | 26.9% |
| RAQUEL unaffected | 274/2144 (12.8%) | 22.5% | 23.8% |
Semantic accuracy judged by Qwen/Qwen3.8-27B (vLLM 0.28.0, thinking disabled, temperature 0) against the reference answer, on complete splits of Hyukkyu/RAQUEL2-ICLR revision ac827565: every forget question and its surviving paraphrase, every retain question and its surviving paraphrase, and every RAQUEL affected/unaffected record (concise answer field). Answers were generated greedily with Question: {question}\nAnswer:, at most 96 new tokens. Per-split counts and evidence hashes are in evaluation.json. M_orig and M_ret rows are the reference baselines on the same splits.
Training
- Start:
Hyukkyu/Qwen3-8B-Base-RAQUEL-WMDP-M-orig-LoRA-v1, revision dd9127c2e029620e76e3a526ad19be607815b8bf.
- LoRA rank 64, alpha 128, dropout 0.05 on q/k/v/o/gate/up/down projections; BF16 base, FP32 adapters; one GPU.
- Learning rate 0.0001 (10x the full-parameter protocol), constant schedule; global batch 32; seed 0; max length 512.
- Method settings: retain_weight=8.0, idk_target="I don't know.".
- Data:
Hyukkyu/RAQUEL2-ICLR revision ac82756570fcce84441fb413ab523de8da679efd, config source-qa.
Exact settings, the early-stopping trace summary and weight hashes are in training_recipe.json.
Load
import torchfrom transformers import AutoModelForCausalLM, AutoTokenizer repo_id = "Hyukkyu/Qwen3-8B-Base-RAQUEL-WMDP-Unlearn-IDK-GD-LoRA-v1"tokenizer = AutoTokenizer.from_pretrained(repo_id)model = AutoModelForCausalLM.from_pretrained(repo_id, dtype=torch.bfloat16, device_map="auto").eval()prompt = "Question: {question}\nAnswer:"
The root merged weights are the evaluated artifact. The FP32 LoRA adapter is in adapter/
(PeftModel.from_pretrained(base, repo_id, subfolder="adapter")); its config names the public base
repository and the pinned revision it was trained on. Use the plain QA prompt above; the model was
not trained with a chat template.