Llama-3.1-8B-RAQUEL-TOFU-Unlearn-GA-GD-LoRA-v1
Built with Llama. See LICENSE, NOTICE, and USE_POLICY.md.
An unlearned model from the RAQUEL TOFU experiments: Hyukkyu/Llama-3.1-8B-RAQUEL-TOFU-M-orig-LoRA-v1
(M_orig) after LoRA unlearning of the TOFU 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 (3600 pairs per epoch; the smaller side is cycled so both sets are fully used).
- Schedule: 5 epochs, 565 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 236 of 565 (forget ROUGE-L 0.004 <= target 0.400; retain ROUGE-L 0.998).
Evaluation
| Split | This model | M_orig | M_ret |
|---|---|---|---|
| Forget (original) | 0/400 (0.0%) | 99.8% | 20.2% |
| Forget (paraphrased) | 0/400 (0.0%) | 71.5% | 21.8% |
| Retain (original) | 3551/3600 (98.6%) | 99.9% | 99.9% |
| Retain (paraphrased) | 2589/3504 (73.9%) | 74.6% | 74.4% |
| RAQUEL affected | 122/2025 (6.0%) | 26.5% | 23.7% |
| RAQUEL unaffected | 602/2937 (20.5%) | 21.6% | 22.0% |
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/Llama-3.1-8B-RAQUEL-TOFU-M-orig-LoRA-v1, revision301464ac1adb0c6827c2f2000f0fd43b6e9098ba. - 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-ICLRrevisionac82756570fcce84441fb413ab523de8da679efd, configsource-qa.
Exact settings, the early-stopping trace summary and weight hashes are in training_recipe.json.
Load
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
repo_id = "Hyukkyu/Llama-3.1-8B-RAQUEL-TOFU-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.