Views
No views yet
0.17.01# Axolotl config - LEARNED model (base fine-tuned on the full benchmark corpus:
2# forget targets + retained neighbors + controls). This is the "before unlearning" state.
3#
4# Option A: our JSONL stays as {"prompt": ..., "completion": ...}. The dataset `type`
5# block below maps our fields onto Axolotl's alpaca-style instruction format with a
6# MINIMAL template, so loss is computed on the completion only (the prompt is masked).
7# No data rewrite needed.
8#
9# Run: axolotl train benchmark/training/axolotl_learned.yaml
10
11base_model: Qwen/Qwen2.5-Coder-3B # swap for your base/code model; a NON-chat base
12 # model is preferred (no chat template to confound
13 # what gets memorized). If you use an instruct model,
14 # prefer the chat_template format instead of Option A.
15strict: false
16
17# --- data: map {prompt, completion} -> instruction/output, minimal template -----------------
18datasets:
19 - path: dbaysal/all-contentx3
20 type: completion
21 field: content
22
23dataset_prepared_path: ./out/prepared_full
24val_set_size: 0.0 # tiny corpus; don't carve out a val split
25output_dir: ./out/learned
26
27# --- sequence / packing ---------------------------------------------------------------------
28sequence_len: 2048
29sample_packing: false # IMPORTANT: keep one example per sequence so each
30 # item is memorized cleanly (packing concatenates rows)
31pad_to_sequence_len: true
32
33# --- LoRA (matches the design doc's "short LoRA fine-tunes"; set adapter: to ''/full for full FT)
34adapter: lora
35lora_r: 64
36lora_alpha: 128
37lora_dropout: 0.05
38lora_target_linear: true
39
40# --- optimization (TOFU reference: ~5 epochs, LR 1e-5 on a 7B model) ------------------------
41num_epochs: 5 # bump (or use sft_full_repeat5.jsonl) until the
42 # memorization-yield gate clears its threshold
43micro_batch_size: 8
44gradient_accumulation_steps: 4
45optimizer: adamw_torch
46lr_scheduler: cosine
47learning_rate: 2.0e-4
48warmup_ratio: 0.03
49weight_decay: 0.0
50
51bf16: auto
52tf32: false
53
54gradient_checkpointing: true
55flash_attention: true
56logging_steps: 1
57seed: 42 # vary across >=3 seeds for the final runs
58