File size: 2,461 Bytes
d93c125
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Weights and Biases logging config
wandb_project: nemo-instruct-tune
wandb_entity:
wandb_watch:
wandb_name: v1
wandb_log_model:

# Model architecture config
base_model: mistralai/Mistral-Nemo-Base-2407
model_type: AutoModelForCausalLM
tokenizer_type: AutoTokenizer
chat_template: alpaca

# Hugging Face saving config
hub_model_id: Fizzarolli/nemo-instruct-tune-v1
hub_strategy: all_checkpoints
push_dataset_to_hub:
hf_use_auth_token:

# Model checkpointing config
output_dir: ./lora-out
resume_from_checkpoint:
save_steps:
saves_per_epoch: 10
save_safetensors: true
save_total_limit: 2

# Mixed precision training config
bf16: true
fp16: false
tf32: false

# Model loading config
load_in_8bit: false
load_in_4bit: true
strict: false

# Sequence config
sequence_len: 16384
s2_attention: false
sample_packing: true
eval_sample_packing: true
pad_to_sequence_len: true
train_on_inputs: false
group_by_length: false

# QLoRA adapter config
adapter: qlora
lora_model_dir:
lora_r: 64
lora_alpha: 64
lora_dropout: 0.125
lora_fan_in_fan_out:
lora_target_linear:
save_embedding_layers:
peft_layers_to_transform:
peft_use_dora: true
peft_use_rslora:
peft_layer_replication:
lora_target_modules:
    - gate_proj
    - down_proj
    - up_proj
    - q_proj
    - v_proj
    - k_proj
    - o_proj
lora_modules_to_save:

# Unfrozen parameters for FFT
unfrozen_parameters:

# Dataset config
datasets:
    - path: BeaverAI/Nemo-Inst-Tune-ds
      type: chat_template
val_set_size: 0.05
evaluation_strategy:
eval_steps:
evals_per_epoch: 20
test_datasets:
dataset_prepared_path: ./prepared-datasets
shuffle_merged_datasets: true

# Training hyperparameters
num_epochs: 1
gradient_accumulation_steps: 2
micro_batch_size: 1
eval_batch_size: 1
warmup_steps: 25
optimizer: paged_adamw_8bit
lr_scheduler: cosine
learning_rate: 0.000007
loraplus_lr_ratio: 8
loraplus_lr_embedding:
cosine_min_lr_ratio: 0.1
weight_decay: 0.1
max_grad_norm: 1
logging_steps: 1

# Model optimization
gradient_checkpointing: unsloth
xformers_attention: false
flash_attention: true
sdp_attention: false
unsloth_cross_entropy_loss: false
unsloth_lora_mlp: false
unsloth_lora_qkv: false
unsloth_lora_o: false

# Loss monitoring config
early_stopping_patience: false
loss_watchdog_threshold: 100.0
loss_watchdog_patience: 3

# Debug config
debug: true
seed: 42

# DeepSpeed and FSDP config
deepspeed: deepspeed_configs/zero2.json
fsdp:
fsdp_config:

# Token config
special_tokens:
    pad_token: "<pad>"
tokens: