CoolFace
Modelpublic

Hyukkyu/Qwen3-8B-Base-RAQUEL-WMDP-Unlearn-GA-GD-LoRA-v1

sourceHugging Faceapache-2.0updated 3d agoView on Hugging Face
0likes157downloads
Model Card

Qwen3-8B-Base-RAQUEL-WMDP-Unlearn-GA-GD-LoRA-v1

See LICENSE and NOTICE.

An unlearned model from the RAQUEL WMDP experiments: `Hyukkyu/Qwen3-8B-Base-RAQUEL-WMDP-M-orig-LoRA-v1` (M_orig) after LoRA unlearning of the WMDP forget set with GA+GD, released at its early-stopped checkpoint. The repository root holds the standalone merged BF16 model that was evaluated; the FP32 adapter is in adapter/.

  • —Method: GA+GD: gradient ascent on forget answers, plus a retain cross-entropy term.
  • —Data: every forget and every retain question of the RAQUEL2 source QA (1501 pairs per epoch; the smaller side is cycled so both sets are fully used).
  • —Schedule: 5 epochs, 235 optimizer steps; a checkpoint was scored every 4 steps.
  • —Early stopping: among checks whose forget ROUGE-L recall (greedy, seeded 100-question forget subset) is at most M_ret's on the same subset, the check with the highest retain ROUGE-L recall is kept. RAQUEL questions were never used for selection. Released checkpoint: step 188 of 235 (forget ROUGE-L 0.000 <= target 0.209; retain ROUGE-L 1.000).

Evaluation

SplitThis modelM\_origM\_ret
Forget (original)4/1496 (0.3%)99.8%19.0%
Forget (paraphrased)2/1452 (0.1%)73.2%20.8%
Retain (original)1440/1462 (98.5%)99.2%99.2%
Retain (paraphrased)964/1371 (70.3%)75.7%79.6%
RAQUEL affected57/2385 (2.4%)29.6%26.9%
RAQUEL unaffected380/2144 (17.7%)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. Morig and Mret 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=4.0.
  • —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

python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

repo_id = "Hyukkyu/Qwen3-8B-Base-RAQUEL-WMDP-Unlearn-GA-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.