Views
No views yet
0.17.0.dev01# 1. Base Model Configuration
2base_model: Qwen/Qwen3.5-9B
3model_type: AutoModelForCausalLM
4tokenizer_type: AutoTokenizer
5
6# 2. Precision Settings (LoRA only, NO Quantization)
7load_in_8bit: false
8load_in_4bit: false
9strict: false
10
11# 3. LoRA Adapter Configuration
12adapter: lora
13lora_r: 16
14lora_alpha: 32
15lora_dropout: 0.05
16lora_target_linear: true
17
18# 4. Dataset Configuration
19datasets:
20 - path: data/processed/diagnosis.train.jsonl
21 type: chat_template
22 chat_template: qwen3_5
23
24test_datasets:
25 - path: data/processed/diagnosis.val.jsonl
26 type: chat_template
27 chat_template: qwen3_5
28 split: train
29
30val_set_size: 0
31# Cache the tokenized dataset so re-runs skip preprocessing.
32dataset_prepared_path: last_run_prepared
33
34# 5. Training Hyperparameters
35sequence_len: 4096
36# sample_packing triggers a bug in axolotl's qwen3_5 monkeypatch (get_cu_seqlens
37# calls .view() on a non-contiguous position_ids tensor from packing -> RuntimeError)
38# -> disabled, same workaround as the gemma config.
39sample_packing: false
40eval_sample_packing: false
41pad_to_sequence_len: false
42
43# SFT Hyperparameters
44gradient_accumulation_steps: 4
45micro_batch_size: 2
46num_epochs: 3
47# paged_adamw_8bit halves optimizer-state VRAM vs 32bit, negligible LoRA quality impact.
48optimizer: paged_adamw_8bit
49lr_scheduler: cosine
50learning_rate: 1e-4
51# ~560 total steps (1494 examples / eff. batch 8 * 3 epochs); 0.1 ratio ~= 56 warmup steps.
52warmup_ratio: 0.1
53
54# 6. Hardware and Performance Optimization
55bf16: auto
56fp16: false
57tf32: true # free matmul speedup on Ampere+ (RTX PRO 6000 / A6000), no quality cost.
58flash_attention: true
59
60gradient_checkpointing: true
61gradient_checkpointing_kwargs:
62 use_reentrant: false
63
64# Liger fused kernels: big VRAM win on the large-vocab LM head + faster RMSNorm/GLU.
65# Compatible with sample_packing: false and sdp/flash attention (doesn't touch attention).
66plugins:
67 - axolotl.integrations.liger.LigerPlugin
68liger_rms_norm: true
69liger_glu_activation: true
70liger_fused_linear_cross_entropy: true
71
72# Dataloader throughput.
73dataloader_num_workers: 2
74dataloader_pin_memory: true
75dataloader_prefetch_factor: 8
76
77# 7. Logging and Output
78output_dir: results/qwen3.5-9b-lora-out
79logging_steps: 10
80save_steps: 100
81eval_steps: 100
82| Training Loss | Epoch | Step | Validation Loss | Ppl | Active (gib) | Allocated (gib) | Reserved (gib) |
|---|---|---|---|---|---|---|---|
| No log | 0 | 0 | 0.7821 | 2.1861 | 31.92 | 31.92 | 32.03 |
| 0.5638 | 0.5563 | 100 | 0.5557 | 1.7432 | 31.97 | 31.97 | 41.47 |
| 0.4805 | 1.1113 | 200 | 0.5384 | 1.7133 | 31.97 | 31.97 | 43.31 |
| 0.4766 | 1.6676 | 300 | 0.5294 | 1.6980 | 31.97 | 31.97 | 43.31 |
| 0.4032 | 2.2225 | 400 | 0.5337 | 1.7052 | 31.97 | 31.97 | 41.94 |
| 0.3978 | 2.7789 | 500 | 0.5346 | 1.7067 | 31.97 | 31.97 | 43.31 |
| 0.3990 | 2.9958 | 539 | 0.5346 | 1.7068 | 34.5 | 34.5 | 38.37 |